summaryrefslogtreecommitdiffstats
path: root/wp-admin
diff options
context:
space:
mode:
Diffstat (limited to 'wp-admin')
-rw-r--r--wp-admin/admin-ajax.php188
-rw-r--r--wp-admin/categories.php2
-rw-r--r--wp-admin/edit-category-form.php4
-rw-r--r--wp-admin/edit-comments.php24
-rw-r--r--wp-admin/edit-form-advanced.php4
-rw-r--r--wp-admin/edit-link-form.php4
-rw-r--r--wp-admin/edit-pages.php11
-rw-r--r--wp-admin/edit-post-rows.php12
-rw-r--r--wp-admin/edit.php109
-rw-r--r--wp-admin/export.php2
-rw-r--r--wp-admin/images/wordpress-logo.pngbin2098 -> 2345 bytes
-rw-r--r--wp-admin/import/utw.php4
-rw-r--r--wp-admin/import/wp-cat2tag.php56
-rw-r--r--wp-admin/includes/plugin.php42
-rw-r--r--wp-admin/includes/post.php47
-rw-r--r--wp-admin/includes/schema.php12
-rw-r--r--wp-admin/includes/template.php152
-rw-r--r--wp-admin/includes/upgrade.php21
-rw-r--r--wp-admin/includes/upload.php7
-rw-r--r--wp-admin/includes/user.php12
-rw-r--r--wp-admin/js/cat.js15
-rw-r--r--wp-admin/js/categories.js24
-rw-r--r--wp-admin/js/custom-fields.js55
-rw-r--r--wp-admin/js/edit-comments.js71
-rw-r--r--wp-admin/js/edit-posts.js22
-rw-r--r--wp-admin/js/link-cat.js10
-rw-r--r--wp-admin/js/users.js41
-rw-r--r--wp-admin/link-add.php2
-rw-r--r--wp-admin/link-import.php8
-rw-r--r--wp-admin/link-manager.php15
-rw-r--r--wp-admin/link.php25
-rw-r--r--wp-admin/page.php10
-rw-r--r--wp-admin/plugins.php35
-rw-r--r--wp-admin/post.php10
-rw-r--r--wp-admin/setup-config.php5
-rw-r--r--wp-admin/users.php2
-rw-r--r--wp-admin/wp-admin.css4
37 files changed, 551 insertions, 516 deletions
diff --git a/wp-admin/admin-ajax.php b/wp-admin/admin-ajax.php
index 013e375..8d15c9c 100644
--- a/wp-admin/admin-ajax.php
+++ b/wp-admin/admin-ajax.php
@@ -4,50 +4,45 @@ require_once('includes/admin.php');
define('DOING_AJAX', true);
-check_ajax_referer();
if ( !is_user_logged_in() )
die('-1');
function get_out_now() { exit; }
add_action( 'shutdown', 'get_out_now', -1 );
-function wp_ajax_meta_row( $pid, $mid, $key, $value ) {
- $value = attribute_escape($value);
- $key_js = addslashes(wp_specialchars($key, 'double'));
- $key = attribute_escape($key);
- $r .= "<tr id='meta-$mid'><td valign='top'>";
- $r .= "<input name='meta[$mid][key]' tabindex='6' onkeypress='return killSubmit(\"theList.ajaxUpdater(&#039;meta&#039;,&#039;meta-$mid&#039;);\",event);' type='text' size='20' value='$key' />";
- $r .= "</td><td><textarea name='meta[$mid][value]' tabindex='6' rows='2' cols='30'>$value</textarea></td><td align='center'>";
- $r .= "<input name='updatemeta' type='button' class='updatemeta' tabindex='6' value='".attribute_escape(__('Update'))."' onclick='return theList.ajaxUpdater(&#039;meta&#039;,&#039;meta-$mid&#039;);' /><br />";
- $r .= "<input name='deletemeta[$mid]' type='submit' onclick=\"return deleteSomething( 'meta', $mid, '";
- $r .= js_escape(sprintf(__("You are about to delete the '%s' custom field on this post.\n'OK' to delete, 'Cancel' to stop."), $key_js));
- $r .= "' );\" class='deletemeta' tabindex='6' value='".attribute_escape(__('Delete'))."' /></td></tr>";
- return $r;
-}
-
$id = (int) $_POST['id'];
-switch ( $_POST['action'] ) :
+switch ( $action = $_POST['action'] ) :
+case 'add-post' :
+ check_ajax_referer( 'add-post' );
+ add_filter( 'post_limits', $limit_filter = create_function( '$a', '$b = split(" ",$a); if ( !isset($b[2]) ) return $a; $start = intval(trim($b[1])) / 20 * 15; if ( !is_int($start) ) return $a; $start += intval(trim($b[2])) - 1; return "LIMIT $start, 1";' ) );
+ wp_edit_posts_query( '_POST' );
+ $posts_columns = wp_manage_posts_columns();
+ ob_start();
+ include( 'edit-post-rows.php' );
+ $data = ob_get_contents();
+ ob_end_clean();
+ if ( !preg_match('|<tbody.+?>(.+)</tbody>|s', $data, $matches) )
+ my_dump($data);
+ $data = trim($matches[1]);
+ $x = new WP_Ajax_Response( array( 'what' => 'post', 'id' => $id, 'data' => $data ) );
+ $x->send();
+ break;
case 'delete-comment' :
+ check_ajax_referer( "delete-comment_$id" );
if ( !$comment = get_comment( $id ) )
die('0');
if ( !current_user_can( 'edit_post', $comment->comment_post_ID ) )
die('-1');
- if ( wp_delete_comment( $comment->comment_ID ) )
- die('1');
- else die('0');
- break;
-case 'delete-comment-as-spam' :
- if ( !$comment = get_comment( $id ) )
- die('0');
- if ( !current_user_can( 'edit_post', $comment->comment_post_ID ) )
- die('-1');
+ if ( isset($_POST['spam']) && 1 == $_POST['spam'] )
+ $r = wp_set_comment_status( $comment->comment_ID, 'spam' );
+ else
+ $r = wp_delete_comment( $comment->comment_ID );
- if ( wp_set_comment_status( $comment->comment_ID, 'spam' ) )
- die('1');
- else die('0');
+ die( $r ? '1' : '0' );
break;
case 'delete-cat' :
+ check_ajax_referer( "delete-category_$id" );
if ( !current_user_can( 'manage_categories' ) )
die('-1');
@@ -56,6 +51,7 @@ case 'delete-cat' :
else die('0');
break;
case 'delete-link' :
+ check_ajax_referer( "delete-bookmark_$id" );
if ( !current_user_can( 'manage_links' ) )
die('-1');
@@ -64,6 +60,7 @@ case 'delete-link' :
else die('0');
break;
case 'delete-meta' :
+ check_ajax_referer( 'change_meta' );
if ( !$meta = get_post_meta_by_id( $id ) )
die('0');
if ( !current_user_can( 'edit_post', $meta->post_id ) )
@@ -73,14 +70,17 @@ case 'delete-meta' :
die('0');
break;
case 'delete-post' :
+ check_ajax_referer( "{$action}_$id" );
if ( !current_user_can( 'delete_post', $id ) )
die('-1');
if ( wp_delete_post( $id ) )
die('1');
- else die('0');
+ else
+ die('0');
break;
case 'delete-page' :
+ check_ajax_referer( "{$action}_$id" );
if ( !current_user_can( 'delete_page', $id ) )
die('-1');
@@ -97,15 +97,18 @@ case 'dim-comment' :
die('-1');
if ( 'unapproved' == wp_get_comment_status($comment->comment_ID) ) {
+ check_ajax_referer( "approve-comment_$id" );
if ( wp_set_comment_status( $comment->comment_ID, 'approve' ) )
die('1');
} else {
+ check_ajax_referer( "unapprove-comment_$id" );
if ( wp_set_comment_status( $comment->comment_ID, 'hold' ) )
die('1');
}
die('0');
break;
case 'add-category' : // On the Fly
+ check_ajax_referer( $action );
if ( !current_user_can( 'manage_categories' ) )
die('-1');
$names = explode(',', $_POST['newcat']);
@@ -120,12 +123,14 @@ case 'add-category' : // On the Fly
$x->add( array(
'what' => 'category',
'id' => $cat_id,
- 'data' => "<li id='category-$cat_id'><label for='in-category-$cat_id' class='selectit'><input value='$cat_id' type='checkbox' checked='checked' name='post_category[]' id='in-category-$cat_id'/> $cat_name</label></li>"
+ 'data' => "<li id='category-$cat_id'><label for='in-category-$cat_id' class='selectit'><input value='$cat_id' type='checkbox' checked='checked' name='post_category[]' id='in-category-$cat_id'/> $cat_name</label></li>",
+ 'position' => -1
) );
}
$x->send();
break;
case 'add-link-category' : // On the Fly
+ check_ajax_referer( $action );
if ( !current_user_can( 'manage_categories' ) )
die('-1');
$names = explode(',', $_POST['newcat']);
@@ -136,18 +141,20 @@ case 'add-link-category' : // On the Fly
die('0');
if ( !$cat_id = is_term( $cat_name, 'link_category' ) ) {
$cat_id = wp_insert_term( $cat_name, 'link_category' );
- $cat_id = $cat_id['term_id'];
}
+ $cat_id = $cat_id['term_id'];
$cat_name = wp_specialchars(stripslashes($cat_name));
$x->add( array(
'what' => 'link-category',
'id' => $cat_id,
- 'data' => "<li id='link-category-$cat_id'><label for='in-link-category-$cat_id' class='selectit'><input value='$cat_id' type='checkbox' checked='checked' name='link_category[]' id='in-link-category-$cat_id'/> $cat_name</label></li>"
+ 'data' => "<li id='link-category-$cat_id'><label for='in-link-category-$cat_id' class='selectit'><input value='$cat_id' type='checkbox' checked='checked' name='link_category[]' id='in-link-category-$cat_id'/> $cat_name</label></li>",
+ 'position' => -1
) );
}
$x->send();
break;
case 'add-cat' : // From Manage->Categories
+ check_ajax_referer( 'add-category' );
if ( !current_user_can( 'manage_categories' ) )
die('-1');
if ( !$cat = wp_insert_category( $_POST ) )
@@ -155,28 +162,29 @@ case 'add-cat' : // From Manage->Categories
if ( !$cat = get_category( $cat ) )
die('0');
$level = 0;
- $cat_full_name = $cat->cat_name;
+ $cat_full_name = $cat->name;
$_cat = $cat;
- while ( $_cat->category_parent ) {
- $_cat = get_category( $_cat->category_parent );
- $cat_full_name = $_cat->cat_name . ' &#8212; ' . $cat_full_name;
+ while ( $_cat->parent ) {
+ $_cat = get_category( $_cat->parent );
+ $cat_full_name = $_cat->name . ' &#8212; ' . $cat_full_name;
$level++;
}
$cat_full_name = attribute_escape($cat_full_name);
$x = new WP_Ajax_Response( array(
'what' => 'cat',
- 'id' => $cat->cat_ID,
+ 'id' => $cat->term_id,
'data' => _cat_row( $cat, $level, $cat_full_name ),
- 'supplemental' => array('name' => $cat_full_name, 'show-link' => sprintf(__( 'Category <a href="#%s">%s</a> added' ), "cat-$cat->cat_ID", $cat_full_name))
+ 'supplemental' => array('name' => $cat_full_name, 'show-link' => sprintf(__( 'Category <a href="#%s">%s</a> added' ), "cat-$cat->term_id", $cat_full_name))
) );
$x->send();
break;
case 'add-comment' :
+ check_ajax_referer( $action );
if ( !current_user_can( 'edit_post', $id ) )
die('-1');
$search = isset($_POST['s']) ? $_POST['s'] : false;
- $start = isset($_POST['page']) ? intval($_POST['page']) * 25 : 25;
+ $start = isset($_POST['page']) ? intval($_POST['page']) * 25 - 1: 24;
list($comments, $total) = _wp_get_comment_list( $search, $start, 1 );
@@ -198,58 +206,70 @@ case 'add-comment' :
$x->send();
break;
case 'add-meta' :
- if ( !current_user_can( 'edit_post', $id ) )
- die('-1');
- if ( $id < 0 ) {
- $now = current_time('timestamp', 1);
- if ( $pid = wp_insert_post( array(
- 'post_title' => sprintf('Draft created on %s at %s', date(get_option('date_format'), $now), date(get_option('time_format'), $now))
- ) ) ) {
- if ( is_wp_error( $pid ) )
- return $pid;
- $mid = add_meta( $pid );
- }
- else
+ check_ajax_referer( 'change_meta' );
+ $c = 0;
+ $pid = (int) $_POST['post_id'];
+ if ( isset($_POST['addmeta']) ) {
+ if ( !current_user_can( 'edit_post', $pid ) )
+ die('-1');
+ if ( $pid < 0 ) {
+ $now = current_time('timestamp', 1);
+ if ( $pid = wp_insert_post( array(
+ 'post_title' => sprintf('Draft created on %s at %s', date(get_option('date_format'), $now), date(get_option('time_format'), $now))
+ ) ) ) {
+ if ( is_wp_error( $pid ) ) {
+ $x = new WP_Ajax_Response( array(
+ 'what' => 'meta',
+ 'data' => $pid
+ ) );
+ $x->send();
+ }
+ $mid = add_meta( $pid );
+ } else {
+ die('0');
+ }
+ } else if ( !$mid = add_meta( $pid ) ) {
die('0');
- } else if ( !$mid = add_meta( $id ) ) {
- die('0');
- }
-
- $meta = get_post_meta_by_id( $mid );
- $key = $meta->meta_key;
- $value = $meta->meta_value;
- $pid = (int) $meta->post_id;
+ }
- $x = new WP_Ajax_Response( array(
- 'what' => 'meta',
- 'id' => $mid,
- 'data' => wp_ajax_meta_row( $pid, $mid, $key, $value ),
- 'supplemental' => array('postid' => $pid)
- ) );
- $x->send();
- break;
-case 'update-meta' :
- $mid = (int) array_pop(array_keys($_POST['meta']));
- $key = $_POST['meta'][$mid]['key'];
- $value = $_POST['meta'][$mid]['value'];
- if ( !$meta = get_post_meta_by_id( $mid ) )
- die('0'); // if meta doesn't exist
- if ( !current_user_can( 'edit_post', $meta->post_id ) )
- die('-1');
- if ( $u = update_meta( $mid, $key, $value ) ) {
+ $meta = get_post_meta_by_id( $mid );
+ $pid = (int) $meta->post_id;
+ $meta = get_object_vars( $meta );
+ $x = new WP_Ajax_Response( array(
+ 'what' => 'meta',
+ 'id' => $mid,
+ 'data' => _list_meta_row( $meta, $c ),
+ 'position' => 1,
+ 'supplemental' => array('postid' => $pid)
+ ) );
+ } else {
+ $mid = (int) array_pop(array_keys($_POST['meta']));
+ $key = $_POST['meta'][$mid]['key'];
+ $value = $_POST['meta'][$mid]['value'];
+ if ( !$meta = get_post_meta_by_id( $mid ) )
+ die('0'); // if meta doesn't exist
+ if ( !current_user_can( 'edit_post', $meta->post_id ) )
+ die('-1');
+ if ( !$u = update_meta( $mid, $key, $value ) )
+ die('1'); // We know meta exists; we also know it's unchanged (or DB error, in which case there are bigger problems).
$key = stripslashes($key);
$value = stripslashes($value);
$x = new WP_Ajax_Response( array(
'what' => 'meta',
- 'id' => $mid,
- 'data' => wp_ajax_meta_row( $meta->post_id, $mid, $key, $value ),
+ 'id' => $mid, 'old_id' => $mid,
+ 'data' => _list_meta_row( array(
+ 'meta_key' => $key,
+ 'meta_value' => $value,
+ 'meta_id' => $mid
+ ), $c ),
+ 'position' => 0,
'supplemental' => array('postid' => $meta->post_id)
) );
- $x->send();
}
- die('1'); // We know meta exists; we also know it's unchanged (or DB error, in which case there are bigger problems).
+ $x->send();
break;
case 'add-user' :
+ check_ajax_referer( $action );
if ( !current_user_can('edit_users') )
die('-1');
require_once(ABSPATH . WPINC . '/registration.php');
@@ -261,15 +281,20 @@ case 'add-user' :
exit;
}
$user_object = new WP_User( $user_id );
+
$x = new WP_Ajax_Response( array(
'what' => 'user',
'id' => $user_id,
'data' => user_row( $user_object ),
- 'supplemental' => array('show-link' => sprintf(__( 'User <a href="#%s">%s</a> added' ), "user-$user_id", $user_object->user_login))
+ 'supplemental' => array(
+ 'show-link' => sprintf(__( 'User <a href="#%s">%s</a> added' ), "user-$user_id", $user_object->user_login),
+ 'role' => $user_object->roles[0]
+ )
) );
$x->send();
break;
case 'autosave' : // The name of this action is hardcoded in edit_post()
+ check_ajax_referer( $action );
$_POST['post_content'] = $_POST['content'];
$_POST['post_excerpt'] = $_POST['excerpt'];
$_POST['post_status'] = 'draft';
@@ -300,6 +325,7 @@ case 'autosave' : // The name of this action is hardcoded in edit_post()
die('0');
break;
case 'autosave-generate-nonces' :
+ check_ajax_referer( $action );
$ID = (int) $_POST['post_ID'];
if($_POST['post_type'] == 'post') {
if(current_user_can('edit_post', $ID))
diff --git a/wp-admin/categories.php b/wp-admin/categories.php
index 59ff4eb..6e83a61 100644
--- a/wp-admin/categories.php
+++ b/wp-admin/categories.php
@@ -102,7 +102,7 @@ $messages[5] = __('Category not updated.');
<th colspan="2" style="text-align: center"><?php _e('Action') ?></th>
</tr>
</thead>
- <tbody id="the-list">
+ <tbody id="the-list" class="list:cat">
<?php
cat_rows();
?>
diff --git a/wp-admin/edit-category-form.php b/wp-admin/edit-category-form.php
index 4696129..cf4cebb 100644
--- a/wp-admin/edit-category-form.php
+++ b/wp-admin/edit-category-form.php
@@ -9,7 +9,7 @@ if ( ! empty($cat_ID) ) {
} else {
$heading = __('Add Category');
$submit_text = __('Add Category &raquo;');
- $form = '<form name="addcat" id="addcat" method="post" action="categories.php">';
+ $form = '<form name="addcat" id="addcat" method="post" action="categories.php" class="add:the-list:">';
$action = 'addcat';
$nonce_action = 'add-category';
do_action('add_category_form_pre', $category);
@@ -39,7 +39,7 @@ if ( ! empty($cat_ID) ) {
<td><textarea name="category_description" id="category_description" rows="5" cols="50" style="width: 97%;"><?php echo wp_specialchars($category->description); ?></textarea></td>
</tr>
</table>
-<p class="submit"><input type="submit" name="submit" value="<?php echo $submit_text ?>" /></p>
+<p class="submit"><input type="submit" class="add:the-list:cat:addcat" name="submit" value="<?php echo $submit_text ?>" /></p>
<?php do_action('edit_category_form', $category); ?>
</form>
</div>
diff --git a/wp-admin/edit-comments.php b/wp-admin/edit-comments.php
index ab1bdbc..c761e8c 100644
--- a/wp-admin/edit-comments.php
+++ b/wp-admin/edit-comments.php
@@ -102,24 +102,27 @@ if ('view' == $mode) {
$offset = $offset + 1;
$start = " start='$offset'";
- echo "<ol id='the-comment-list' class='commentlist' $start>\n";
+ echo "<ol id='the-comment-list' class='list:comment commentlist' $start>\n";
$i = 0;
foreach ( $comments as $comment ) {
- get_comment( $comment ); // Cache it
_wp_comment_list_item( $comment->comment_ID, ++$i );
}
echo "</ol>\n\n";
if ( $extra_comments ) : ?>
<div id="extra-comments" style="display:none">
-<ul id="the-extra-comment-list" class="commentlist">
+<ol id="the-extra-comment-list" class="list:comment commentlist" style="color:red">
<?php
foreach ( $extra_comments as $comment ) {
get_comment( $comment ); // Cache it
- _wp_comment_list_item( $comment->comment_ID, ++$i );
+ _wp_comment_list_item( $comment->comment_ID, 0 );
}
?>
-</ul>
+</ol>
+<form action="" method="get" id="get-extra-comments" class="add:the-extra-comment-list:">
+<input type="hidden" name="page" value="<?php echo $page; ?>" />
+<input type="hidden" name="s" value="<?php echo attribute_escape(@$_GET['s']); ?>" />
+<?php wp_nonce_field( 'add-comment', '_ajax_nonce', false ); ?>
</div>
<?php endif; // $extra_comments ?>
@@ -149,7 +152,8 @@ if ( $extra_comments ) : ?>
<th scope="col">' . __('Comment Excerpt') . '</th>
<th scope="col" colspan="3" style="text-align: center">' . __('Actions') . '</th>
</tr>
-</thead>';
+</thead>
+<tbody id="the-comment-list" class="list:comment">';
foreach ($comments as $comment) {
$post = get_post($comment->comment_post_ID);
$authordata = get_userdata($post->post_author);
@@ -159,7 +163,7 @@ if ( $extra_comments ) : ?>
?>
<tr id="comment-<?php echo $comment->comment_ID; ?>" class='<?php echo $class; ?>'>
<td style="text-align: center"><?php if ( current_user_can('edit_post', $comment->comment_post_ID) ) { ?><input type="checkbox" name="delete_comments[]" value="<?php echo $comment->comment_ID; ?>" /><?php } ?></td>
- <td><?php comment_author_link() ?></td>
+ <td class="comment-author"><?php comment_author_link() ?></td>
<td><?php comment_author_email_link() ?></td>
<td><a href="edit-comments.php?s=<?php comment_author_IP() ?>&amp;mode=edit"><?php comment_author_IP() ?></a></td>
<td><?php comment_excerpt(); ?></td>
@@ -173,12 +177,14 @@ if ( $extra_comments ) : ?>
<td><?php if ( current_user_can('edit_post', $comment->comment_post_ID) ) {
echo "<a href='comment.php?action=editcomment&amp;c=$comment->comment_ID' class='edit'>" . __('Edit') . "</a>"; } ?></td>
<td><?php if ( current_user_can('edit_post', $comment->comment_post_ID) ) {
- echo "<a href=\"comment.php?action=deletecomment&amp;p=".$comment->comment_post_ID."&amp;c=".$comment->comment_ID."\" onclick=\"return deleteSomething( 'comment', $comment->comment_ID, '" . js_escape(sprintf(__("You are about to delete this comment by '%s'. \n 'Cancel' to stop, 'OK' to delete."), $comment->comment_author )) . "', theCommentList );\" class='delete'>" . __('Delete') . "</a> ";
+ $url = clean_url( wp_nonce_url( "comment.php?action=deletecomment&p=$comment->comment_post_ID&c=$comment->comment_ID", "delete-comment_$comment->comment_ID" ) );
+ echo "<a href='$url' class='delete:the-comment-list:comment-$comment->comment_ID delete'>" . __('Delete') . "</a> ";
} ?></td>
</tr>
<?php
} // end foreach
- ?></table>
+ ?></tbody>
+</table>
<p class="submit"><input type="submit" name="delete_button" class="delete" value="<?php _e('Delete Checked Comments &raquo;') ?>" onclick="var numchecked = getNumChecked(document.getElementById('deletecomments')); if(numchecked < 1) { alert('<?php echo js_escape(__("Please select some comments to delete")); ?>'); return false } return confirm('<?php echo sprintf(js_escape(__("You are about to delete %s comments permanently \n 'Cancel' to stop, 'OK' to delete.")), "' + numchecked + '"); ?>')" />
<input type="submit" name="spam_button" value="<?php _e('Mark Checked Comments as Spam &raquo;') ?>" onclick="var numchecked = getNumChecked(document.getElementById('deletecomments')); if(numchecked < 1) { alert('<?php echo js_escape(__("Please select some comments to mark as spam")); ?>'); return false } return confirm('<?php echo sprintf(js_escape(__("You are about to mark %s comments as spam \n 'Cancel' to stop, 'OK' to mark as spam.")), "' + numchecked + '"); ?>')" /></p>
</form>
diff --git a/wp-admin/edit-form-advanced.php b/wp-admin/edit-form-advanced.php
index ab3adff..35726f3 100644
--- a/wp-admin/edit-form-advanced.php
+++ b/wp-admin/edit-form-advanced.php
@@ -74,8 +74,8 @@ addLoadEvent(focusit);
<fieldset id="categorydiv" class="dbx-box">
<h3 class="dbx-handle"><?php _e('Categories') ?></h3>
<div class="dbx-content">
-<p id="jaxcat"></p>
-<ul id="categorychecklist"><?php dropdown_categories(); ?></ul></div>
+<p id="jaxcat"><?php wp_nonce_field( 'add-category', '_ajax_nonce', false ); ?></p>
+<ul id="categorychecklist" class="list:category"><?php dropdown_categories(); ?></ul></div>
</fieldset>
<fieldset id="commentstatusdiv" class="dbx-box">
diff --git a/wp-admin/edit-link-form.php b/wp-admin/edit-link-form.php
index e281d30..920ebe4 100644
--- a/wp-admin/edit-link-form.php
+++ b/wp-admin/edit-link-form.php
@@ -42,8 +42,8 @@ function xfn_check($class, $value = '', $type = 'check') {
<fieldset id="categorydiv" class="dbx-box">
<h3 class="dbx-handle"><?php _e('Categories') ?></h3>
<div class="dbx-content">
-<p id="jaxcat"></p>
-<ul id="linkcategorychecklist"><?php dropdown_link_categories(get_option('default_link_category')); ?></ul>
+<p id="jaxcat"><?php wp_nonce_field( 'add-link-category', '_ajax_nonce', false ); ?></p>
+<ul id="categorychecklist" class="list:link-category"><?php dropdown_link_categories(get_option('default_link_category')); ?></ul>
</div>
</fieldset>
diff --git a/wp-admin/edit-pages.php b/wp-admin/edit-pages.php
index f263348..d9fa2ff 100644
--- a/wp-admin/edit-pages.php
+++ b/wp-admin/edit-pages.php
@@ -2,7 +2,7 @@
require_once('admin.php');
$title = __('Pages');
$parent_file = 'edit.php';
-wp_enqueue_script( 'listman' );
+wp_enqueue_script( 'wp-lists' );
require_once('admin-header.php');
$post_stati = array( // array( adj, noun )
@@ -20,9 +20,12 @@ if ( isset($_GET['post_status']) && in_array( $_GET['post_status'], array_keys($
}
?>
-
+<script>
+/* <![CDATA[ */
+jQuery(function($){$('#the-list').wpList();});
+/* ]]> */
+</script>
<div class="wrap">
-
<h2><?php
// Use $_GET instead of is_ since they can override each other
$h2_search = isset($_GET['s']) && $_GET['s'] ? ' ' . sprintf(__('matching &#8220;%s&#8221;'), wp_specialchars( stripslashes( $_GET['s'] ) ) ) : '';
@@ -81,7 +84,7 @@ if ($posts) {
<th scope="col" colspan="3" style="text-align: center"><?php _e('Action'); ?></th>
</tr>
</thead>
- <tbody id="the-list">
+ <tbody id="the-list" class="list:page">
<?php page_rows(0, 0, $posts, $all); ?>
</tbody>
</table>
diff --git a/wp-admin/edit-post-rows.php b/wp-admin/edit-post-rows.php
index b3dc1e9..d41f2df 100644
--- a/wp-admin/edit-post-rows.php
+++ b/wp-admin/edit-post-rows.php
@@ -1,3 +1,4 @@
+<?php if ( ! defined('ABSPATH') ) die(); ?>
<table class="widefat">
<thead>
<tr>
@@ -8,13 +9,16 @@
</tr>
</thead>
- <tbody id="the-list">
+ <tbody id="the-list" class="list:post">
<?php
+$i_post = 0;
if ( have_posts() ) {
$bgcolor = '';
add_filter('the_title','wp_specialchars');
-while (have_posts()) : the_post();
-$class = ('alternate' == $class) ? '' : 'alternate';
+while (have_posts()) : the_post(); $i_post++;
+if ( 16 == $i_post )
+ echo "\t</tbody>\n\t<tbody id='the-extra-list' class='list:post' style='display: none'>\n"; // Hack!
+$class = ( $i_post > 15 || 'alternate' == $class) ? '' : 'alternate';
global $current_user;
$post_owner = ( $current_user->ID == $post->post_author ? 'self' : 'other' );
?>
@@ -90,7 +94,7 @@ foreach($posts_columns as $column_name=>$column_display_name) {
case 'control_delete':
?>
- <td><?php if ( current_user_can('delete_post',$post->ID) ) { echo "<a href='" . wp_nonce_url("post.php?action=delete&amp;post=$id", 'delete-post_' . $post->ID) . "' class='delete' onclick=\"return deleteSomething( 'post', " . $id . ", '" . js_escape(sprintf(__("You are about to delete this post '%s'.\n'OK' to delete, 'Cancel' to stop."), get_the_title())) . "' );\">" . __('Delete') . "</a>"; } ?></td>
+ <td><?php if ( current_user_can('delete_post',$post->ID) ) { echo "<a href='" . wp_nonce_url("post.php?action=delete&amp;post=$id", 'delete-post_' . $post->ID) . "' class='delete:the-list:post-$post->ID delete'>" . __('Delete') . "</a>"; } ?></td>
<?php
break;
diff --git a/wp-admin/edit.php b/wp-admin/edit.php
index ba4cc04..06ab9ca 100644
--- a/wp-admin/edit.php
+++ b/wp-admin/edit.php
@@ -3,67 +3,21 @@ require_once('admin.php');
$title = __('Posts');
$parent_file = 'edit.php';
-wp_enqueue_script( 1 == $_GET['c'] ? 'admin-comments' : 'listman' );
+wp_enqueue_script( 'admin-posts' );
+if ( 1 == $_GET['c'] )
+ wp_enqueue_script( 'admin-comments' );
require_once('admin-header.php');
-$_GET['m'] = (int) $_GET['m'];
-$_GET['cat'] = (int) $_GET['cat'];
-$post_stati = array( // array( adj, noun )
- 'publish' => array(__('Published'), __('Published posts')),
- 'future' => array(__('Scheduled'), __('Scheduled posts')),
- 'pending' => array(__('Pending Review'), __('Pending posts')),
- 'draft' => array(__('Draft'), _c('Drafts|manage posts header')),
- 'private' => array(__('Private'), __('Private posts'))
- );
-
-$avail_post_stati = $wpdb->get_col("SELECT DISTINCT post_status FROM $wpdb->posts WHERE post_type = 'post'");
-
-$post_status_q = '';
-$post_status_label = __('Posts');
-if ( isset($_GET['post_status']) && in_array( $_GET['post_status'], array_keys($post_stati) ) ) {
- $post_status_label = $post_stati[$_GET['post_status']][1];
- $post_status_q = '&post_status=' . $_GET['post_status'];
-}
+add_filter( 'post_limits', $limit_filter = create_function( '$a', '$b = split(" ",$a); if ( !isset($b[2]) ) return $a; $start = intval(trim($b[1])) / 20 * 15; if ( !is_int($start) ) return $a; return "LIMIT $start, 20";' ) );
+list($post_stati, $avail_post_stati) = wp_edit_posts_query();
+$wp_query->max_num_pages = ceil( $wp_query->found_posts / 15 ); // We grab 20 but only show 15 ( 5 more for ajax extra )
?>
<div class="wrap">
<?php
-if ( 'pending' === $_GET['post_status'] ) {
- $order = 'ASC';
- $orderby = 'modified';
-} elseif ( 'draft' === $_GET['post_status'] ) {
- $order = 'DESC';
- $orderby = 'modified';
-} else {
- $order = 'DESC';
- $orderby = 'date';
-}
-
-wp("what_to_show=posts$post_status_q&posts_per_page=15&order=$order&orderby=$orderby");
-
-// define the columns to display, the syntax is 'internal name' => 'display name'
-$posts_columns = array();
-$posts_columns['id'] = '<div style="text-align: center">' . __('ID') . '</div>';
-if ( 'draft' === $_GET['post_status'] )
- $posts_columns['modified'] = __('Modified');
-elseif ( 'pending' === $_GET['post_status'] )
- $posts_columns['modified'] = __('Submitted');
-else
- $posts_columns['date'] = __('When');
-$posts_columns['title'] = __('Title');
-$posts_columns['categories'] = __('Categories');
-if ( !in_array($_GET['post_status'], array('pending', 'draft', 'future')) )
- $posts_columns['comments'] = '<div style="text-align: center">' . __('Comments') . '</div>';
-$posts_columns['author'] = __('Author');
-
-$posts_columns = apply_filters('manage_posts_columns', $posts_columns);
-
-// you can not edit these at the moment
-$posts_columns['control_view'] = '';
-$posts_columns['control_edit'] = '';
-$posts_columns['control_delete'] = '';
+$posts_columns = wp_manage_posts_columns();
?>
@@ -154,6 +108,8 @@ if ( $month_count && !( 1 == $month_count && 0 == $arc_result[0]->mmonth ) ) { ?
<?php wp_dropdown_categories('show_option_all='.__('All').'&hide_empty=1&hierarchical=1&show_count=1&selected='.$cat);?>
</fieldset>
<input type="submit" id="post-query-submit" value="<?php _e('Filter &#187;'); ?>" class="button" />
+ <?php wp_nonce_field( 'add-post', '_ajax_nonce', false ); ?>
+ <input type="button" id="get-extra-button" class="add:the-extra-list:searchform" style="display:none" />
</form>
<?php do_action('restrict_manage_posts'); ?>
@@ -175,48 +131,21 @@ if ( 1 == count($posts) ) {
$comments = $wpdb->get_results("SELECT * FROM $wpdb->comments WHERE comment_post_ID = $id AND comment_approved != 'spam' ORDER BY comment_date");
if ($comments) {
+ // Make sure comments, post, and post_author are cached
update_comment_cache($comments);
+ $post = get_post($id);
+ $authordata = get_userdata($post->post_author);
?>
<h3 id="comments"><?php _e('Comments') ?></h3>
-<ol id="the-comment-list" class="commentlist">
+<ol id="the-comment-list" class="list:comment commentlist">
<?php
-$i = 0;
-foreach ($comments as $comment) {
-
- ++$i; $class = '';
- $post = get_post($comment->comment_post_ID);
- $authordata = get_userdata($post->post_author);
- $comment_status = wp_get_comment_status($comment->comment_ID);
- if ('unapproved' == $comment_status)
- $class .= ' unapproved';
- if ($i % 2)
- $class .= ' alternate';
- echo "<li id='comment-$comment->comment_ID' class='$class'>";
-?>
-<p><strong><?php comment_author() ?></strong> <?php if ($comment->comment_author_email) { ?>| <?php comment_author_email_link() ?> <?php } if ($comment->comment_author_url && 'http://' != $comment->comment_author_url) { ?> | <?php comment_author_url_link() ?> <?php } ?>| <?php _e('IP:') ?> <a href="edit-comments.php?s=<?php comment_author_IP() ?>&amp;mode=edit"><?php comment_author_IP() ?></a></p>
-
-<?php comment_text() ?>
-
-<p><?php comment_date(__('M j, g:i A')); ?> &#8212; [
-<?php
-if ( current_user_can('edit_post', $comment->comment_post_ID) ) {
- echo " <a href='comment.php?action=editcomment&amp;c=".$comment->comment_ID."'>" . __('Edit') . '</a>';
- echo ' | <a href="' . wp_nonce_url('comment.php?action=deletecomment&amp;p=' . $comment->comment_post_ID . '&amp;c=' . $comment->comment_ID, 'delete-comment_' . $comment->comment_ID) . '" onclick="return deleteSomething( \'comment\', ' . $comment->comment_ID . ', \'' . js_escape(sprintf(__("You are about to delete this comment by '%s'.\n'Cancel' to stop, 'OK' to delete."), $comment->comment_author)) . "', theCommentList );\">" . __('Delete') . '</a> ';
- if ( ('none' != $comment_status) && ( current_user_can('moderate_comments') ) ) {
- echo '<span class="unapprove"> | <a href="' . wp_nonce_url('comment.php?action=unapprovecomment&amp;p=' . $comment->comment_post_ID . '&amp;c=' . $comment->comment_ID, 'unapprove-comment_' . $comment->comment_ID) . '" onclick="return dimSomething( \'comment\', ' . $comment->comment_ID . ', \'unapproved\', theCommentList );">' . __('Unapprove') . '</a> </span>';
- echo '<span class="approve"> | <a href="' . wp_nonce_url('comment.php?action=approvecomment&amp;p=' . $comment->comment_post_ID . '&amp;c=' . $comment->comment_ID, 'approve-comment_' . $comment->comment_ID) . '" onclick="return dimSomething( \'comment\', ' . $comment->comment_ID . ', \'unapproved\', theCommentList );">' . __('Approve') . '</a> </span>';
- }
- echo " | <a href=\"" . wp_nonce_url("comment.php?action=deletecomment&amp;dt=spam&amp;p=" . $comment->comment_post_ID . "&amp;c=" . $comment->comment_ID, 'delete-comment_' . $comment->comment_ID) . "\" onclick=\"return deleteSomething( 'comment-as-spam', $comment->comment_ID, '" . js_escape(sprintf(__("You are about to mark as spam this comment by '%s'.\n'Cancel' to stop, 'OK' to mark as spam."), $comment->comment_author)) . "', theCommentList );\">" . __('Spam') . "</a> ";
-}
-?> ]
-</p>
- </li>
-
-<?php //end of the loop, don't delete
- } // end foreach
+ $i = 0;
+ foreach ( $comments as $comment ) {
+ _wp_comment_list_item( $comment->comment_ID, ++$i );
+ }
echo '</ol>';
- }//end if comments
- ?>
+ } // end if comments
+?>
<?php } ?>
</div>
diff --git a/wp-admin/export.php b/wp-admin/export.php
index 69741bc..b3d9495 100644
--- a/wp-admin/export.php
+++ b/wp-admin/export.php
@@ -182,7 +182,7 @@ echo '<?xml version="1.0" encoding="' . get_bloginfo('charset') . '"?' . ">\n";
<!-- 6. WordPress will then import each of the posts, comments, and categories -->
<!-- contained in this file into your blog -->
-<!-- generator="wordpress/<?php bloginfo_rss('version') ?>" created="<?php echo date('Y-m-d H:i'); ?>"-->
+<?php the_generator('export');?>
<rss version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
diff --git a/wp-admin/images/wordpress-logo.png b/wp-admin/images/wordpress-logo.png
index 7d8e672..3c852f4 100644
--- a/wp-admin/images/wordpress-logo.png
+++ b/wp-admin/images/wordpress-logo.png
Binary files differ
diff --git a/wp-admin/import/utw.php b/wp-admin/import/utw.php
index b321f25..120f50c 100644
--- a/wp-admin/import/utw.php
+++ b/wp-admin/import/utw.php
@@ -157,7 +157,7 @@ class UTW_Import {
// run that funky magic!
$tags_added = $this->tag2post();
- echo '<p>' . sprintf( __('Done! <strong>%s</strong> tags where added!'), $tags_added ) . '<br /></p>';
+ echo '<p>' . sprintf( __('Done! <strong>%s</strong> tags were added!'), $tags_added ) . '<br /></p>';
echo '<form action="admin.php?import=utw&amp;step=4" method="post">';
wp_nonce_field('import-utw');
@@ -273,4 +273,4 @@ $utw_import = new UTW_Import();
// add it to the import page!
register_importer('utw', 'Ultimate Tag Warrior', __('Import Ultimate Tag Warrior tags into the new native tagging structure.'), array($utw_import, 'dispatch'));
-?> \ No newline at end of file
+?>
diff --git a/wp-admin/import/wp-cat2tag.php b/wp-admin/import/wp-cat2tag.php
index ee4104e..d38e17a 100644
--- a/wp-admin/import/wp-cat2tag.php
+++ b/wp-admin/import/wp-cat2tag.php
@@ -63,7 +63,7 @@ class WP_Categories_to_Tags {
print '</ul>';
- print '<p class="submit"><input type="submit" name="maybe_convert_all_cats" value="' . __('Convert All Categories') . '" /> <input type="submit" name="submit" value="' . __('Convert &raquo;') . '" /></p>';
+ print '<p class="submit"><input type="submit" name="submit" value="' . __('Convert &raquo;') . '" /></p>';
print '</form>';
}
@@ -140,11 +140,23 @@ class WP_Categories_to_Tags {
foreach ( $posts as $post ) {
if ( !$wpdb->get_var("SELECT object_id FROM $wpdb->term_relationships WHERE object_id = '$post' AND term_taxonomy_id = '$id'") )
$wpdb->query("INSERT INTO $wpdb->term_relationships (object_id, term_taxonomy_id) VALUES ('$post', '$id')");
+ clean_post_cache($post);
}
} else {
+ $tt_ids = $wpdb->get_col("SELECT term_taxonomy_id FROM $wpdb->term_taxonomy WHERE term_id = '{$category->term_id}' AND taxonomy = 'category'");
+ if ( $tt_ids ) {
+ $posts = $wpdb->get_col("SELECT object_id FROM $wpdb->term_relationships WHERE term_taxonomy_id IN (" . join(',', $tt_ids) . ") GROUP BY object_id");
+ foreach ( (array) $posts as $post )
+ clean_post_cache($post);
+ }
+
// Change the category to a tag.
$wpdb->query("UPDATE $wpdb->term_taxonomy SET taxonomy = 'post_tag' WHERE term_id = '{$category->term_id}' AND taxonomy = 'category'");
+ $terms = $wpdb->get_col("SELECT term_id FROM $wpdb->term_taxonomy WHERE parent = '{$category->term_id}' AND taxonomy = 'category'");
+ foreach ( (array) $terms as $term )
+ clean_category_cache($term);
+
// Set all parents to 0 (root-level) if their parent was the converted tag
$wpdb->query("UPDATE $wpdb->term_taxonomy SET parent = 0 WHERE parent = '{$category->term_id}' AND taxonomy = 'category'");
}
@@ -160,41 +172,9 @@ class WP_Categories_to_Tags {
print '</ul>';
}
- function convert_all_confirm() {
- print '<div class="narrow">';
-
- print '<h3>' . __('Confirm') . '</h3>';
-
- print '<p>' . __('You are about to convert all categories to tags. Are you sure you want to continue?') . '</p>';
-
- print '<form action="admin.php?import=wp-cat2tag" method="post">';
- wp_nonce_field('import-cat2tag');
- print '<p style="text-align:center" class="submit"><input type="submit" value="' . __('Yes') . '" name="yes_convert_all_cats" />&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" value="' . __('No') . '" name="no_dont_do_it" /></p>';
- print '</form>';
-
- print '</div>';
- }
-
- function convert_all() {
- global $wpdb;
-
- $this->populate_all_categories();
- foreach ( $this->all_categories as $category )
- $this->categories_to_convert[] = $category->term_id;
- $this->convert_them();
- }
-
function init() {
- if (isset($_POST['maybe_convert_all_cats'])) {
- $step = 3;
- } elseif (isset($_POST['yes_convert_all_cats'])) {
- $step = 4;
- } elseif (isset($_POST['no_dont_do_it'])) {
- die('no_dont_do_it');
- } else {
- $step = (isset($_GET['step'])) ? (int) $_GET['step'] : 1;
- }
+ $step = (isset($_GET['step'])) ? (int) $_GET['step'] : 1;
$this->header();
@@ -214,14 +194,6 @@ class WP_Categories_to_Tags {
case 2 :
$this->convert_them();
break;
-
- case 3 :
- $this->convert_all_confirm();
- break;
-
- case 4 :
- $this->convert_all();
- break;
}
}
diff --git a/wp-admin/includes/plugin.php b/wp-admin/includes/plugin.php
index e5911bd..3c4f474 100644
--- a/wp-admin/includes/plugin.php
+++ b/wp-admin/includes/plugin.php
@@ -86,6 +86,48 @@ function get_plugins() {
return $wp_plugins;
}
+function activate_plugin($plugin) {
+ $current = get_option('active_plugins');
+ $plugin = trim($plugin);
+
+ if ( validate_file($plugin) )
+ return new WP_Error('plugin_invalid', __('Invalid plugin.'));
+ if ( ! file_exists(ABSPATH . PLUGINDIR . '/' . $plugin) )
+ return new WP_Error('plugin_not_found', __('Plugin file does not exist.'));
+
+ if (!in_array($plugin, $current)) {
+ wp_redirect(add_query_arg('_error_nonce', wp_create_nonce('plugin-activation-error_' . $plugin), 'plugins.php?error=true&plugin=' . $plugin)); // we'll override this later if the plugin can be included without fatal error
+ ob_start();
+ @include(ABSPATH . PLUGINDIR . '/' . $plugin);
+ $current[] = $plugin;
+ sort($current);
+ update_option('active_plugins', $current);
+ do_action('activate_' . $plugin);
+ ob_end_clean();
+ }
+
+ return null;
+}
+
+function deactivate_plugins($plugins) {
+ $current = get_option('active_plugins');
+
+ if(!is_array($plugins))
+ $plugins = array($plugins);
+
+ foreach($plugins as $plugin) {
+ array_splice($current, array_search( $plugin, $current), 1 ); // Array-fu!
+ do_action('deactivate_' . trim( $plugin ));
+ }
+
+ update_option('active_plugins', $current);
+}
+
+function deactivate_all_plugins() {
+ $current = get_option('active_plugins');
+ deactivate_plugins($current);
+}
+
//
// Menu
//
diff --git a/wp-admin/includes/post.php b/wp-admin/includes/post.php
index e27482c..b88e3b0 100644
--- a/wp-admin/includes/post.php
+++ b/wp-admin/includes/post.php
@@ -348,6 +348,8 @@ function add_meta( $post_ID ) {
if ( in_array($metakey, $protected) )
return false;
+ wp_cache_delete($post_ID, 'post_meta');
+
$result = $wpdb->query( "
INSERT INTO $wpdb->postmeta
(post_id,meta_key,meta_value )
@@ -362,6 +364,9 @@ function delete_meta( $mid ) {
global $wpdb;
$mid = (int) $mid;
+ $post_id = $wpdb->get_var("SELECT post_id FROM $wpdb->postmeta WHERE meta_id = '$mid'");
+ wp_cache_delete($post_id, 'post_meta');
+
return $wpdb->query( "DELETE FROM $wpdb->postmeta WHERE meta_id = '$mid'" );
}
@@ -408,6 +413,9 @@ function update_meta( $mid, $mkey, $mvalue ) {
if ( in_array($mkey, $protected) )
return false;
+ $post_id = $wpdb->get_var("SELECT post_id FROM $wpdb->postmeta WHERE meta_id = '$mid'");
+ wp_cache_delete($post_id, 'post_meta');
+
$mvalue = maybe_serialize( stripslashes( $mvalue ));
$mvalue = $wpdb->escape( $mvalue );
$mid = (int) $mid;
@@ -468,4 +476,41 @@ function _relocate_children( $old_ID, $new_ID ) {
return $wpdb->query( "UPDATE $wpdb->posts SET post_parent = $new_ID WHERE post_parent = $old_ID" );
}
-?> \ No newline at end of file
+function wp_edit_posts_query( $q = '_GET' ) {
+ global $wpdb;
+ $$q['m'] = (int) $$q['m'];
+ $$q['cat'] = (int) $$q['cat'];
+ $post_stati = array( // array( adj, noun )
+ 'draft' => array(__('Draft'), _c('Drafts|manage posts header')),
+ 'future' => array(__('Scheduled'), __('Scheduled posts')),
+ 'pending' => array(__('Pending Review'), __('Pending posts')),
+ 'private' => array(__('Private'), __('Private posts')),
+ 'publish' => array(__('Published'), __('Published posts'))
+ );
+
+ $avail_post_stati = $wpdb->get_col("SELECT DISTINCT post_status FROM $wpdb->posts WHERE post_type = 'post'");
+
+ $post_status_q = '';
+ $post_status_label = _c('Posts|manage posts header');
+ if ( isset($$q['post_status']) && in_array( $$q['post_status'], array_keys($post_stati) ) ) {
+ $post_status_label = $post_stati[$$q['post_status']][1];
+ $post_status_q = '&post_status=' . $$q['post_status'];
+ }
+
+ if ( 'pending' === $$q['post_status'] ) {
+ $order = 'ASC';
+ $orderby = 'modified';
+ } elseif ( 'draft' === $$q['post_status'] ) {
+ $order = 'DESC';
+ $orderby = 'modified';
+ } else {
+ $order = 'DESC';
+ $orderby = 'date';
+ }
+
+ wp("what_to_show=posts$post_status_q&posts_per_page=20&order=$order&orderby=$orderby");
+
+ return array($post_stati, $avail_post_stati);
+}
+
+?>
diff --git a/wp-admin/includes/schema.php b/wp-admin/includes/schema.php
index de4e949..d76d5f7 100644
--- a/wp-admin/includes/schema.php
+++ b/wp-admin/includes/schema.php
@@ -4,7 +4,7 @@
global $wp_queries;
$charset_collate = '';
-if ( version_compare(mysql_get_server_info(), '4.1.0', '>=') ) {
+if ( $wpdb->supports_collation() ) {
if ( ! empty($wpdb->charset) )
$charset_collate = "DEFAULT CHARACTER SET $wpdb->charset";
if ( ! empty($wpdb->collate) )
@@ -334,11 +334,11 @@ function populate_roles_160() {
global $wp_roles;
// Add roles
- add_role('administrator', __('Administrator'));
- add_role('editor', __('Editor'));
- add_role('author', __('Author'));
- add_role('contributor', __('Contributor'));
- add_role('subscriber', __('Subscriber'));
+ add_role('administrator', _c('Administrator|User role'));
+ add_role('editor', _c('Editor|User role'));
+ add_role('author', _c('Author|User role'));
+ add_role('contributor', _c('Contributor|User role'));
+ add_role('subscriber', _c('Subscriber|User role'));
// Add caps for Administrator role
$role = get_role('administrator');
diff --git a/wp-admin/includes/template.php b/wp-admin/includes/template.php
index 1cf9284..c604d4c 100644
--- a/wp-admin/includes/template.php
+++ b/wp-admin/includes/template.php
@@ -14,10 +14,6 @@ function cat_rows( $parent = 0, $level = 0, $categories = 0 ) {
if ( $categories ) {
ob_start();
foreach ( $categories as $category ) {
- if ( $category->term_id == 0 ) {
- $wpdb->query("DELETE FROM $wpdb->terms WHERE term_id = 0");
- continue;
- }
if ( $category->parent == $parent) {
echo "\t" . _cat_row( $category, $level );
if ( isset($children[$category->term_id]) )
@@ -42,9 +38,10 @@ function _cat_row( $category, $level, $name_override = false ) {
if ( current_user_can( 'manage_categories' ) ) {
$edit = "<a href='categories.php?action=edit&amp;cat_ID=$category->term_id' class='edit'>".__( 'Edit' )."</a></td>";
$default_cat_id = (int) get_option( 'default_category' );
+ $default_link_cat_id = (int) get_option( 'default_link_category' );
if ( $category->term_id != $default_cat_id )
- $edit .= "<td><a href='" . wp_nonce_url( "categories.php?action=delete&amp;cat_ID=$category->term_id", 'delete-category_' . $category->term_id ) . "' onclick=\"return deleteSomething( 'cat', $category->term_id, '" . js_escape(sprintf( __("You are about to delete the category '%s'.\nAll posts that were only assigned to this category will be assigned to the '%s' category.\nAll links that were only assigned to this category will be assigned to the '%s' category.\n'OK' to delete, 'Cancel' to stop." ), $category->name, get_catname( $default_cat_id ), get_catname( $default_link_cat_id ) )) . "' );\" class='delete'>".__( 'Delete' )."</a>";
+ $edit .= "<td><a href='" . wp_nonce_url( "categories.php?action=delete&amp;cat_ID=$category->term_id", 'delete-category_' . $category->term_id ) . "' class='delete:the-list:cat-$category->term_id delete'>".__( 'Delete' )."</a>";
else
$edit .= "<td style='text-align:center'>".__( "Default" );
} else
@@ -111,10 +108,6 @@ function get_nested_categories( $default = 0, $parent = 0 ) {
$result = array ();
if ( is_array( $cats ) ) {
foreach ( $cats as $cat) {
- if ( $cat == 0 ) {
- $wpdb->query("DELETE FROM $wpdb->terms WHERE term_id = 0");
- continue;
- }
$result[$cat]['children'] = get_nested_categories( $default, $cat);
$result[$cat]['cat_ID'] = $cat;
$result[$cat]['checked'] = in_array( $cat, $checked_categories );
@@ -171,6 +164,31 @@ function dropdown_link_categories( $default = 0 ) {
}
}
+// define the columns to display, the syntax is 'internal name' => 'display name'
+function wp_manage_posts_columns() {
+ $posts_columns = array();
+ $posts_columns['id'] = '<div style="text-align: center">' . __('ID') . '</div>';
+ if ( 'draft' === $_GET['post_status'] )
+ $posts_columns['modified'] = __('Modified');
+ elseif ( 'pending' === $_GET['post_status'] )
+ $posts_columns['modified'] = __('Submitted');
+ else
+ $posts_columns['date'] = __('When');
+ $posts_columns['title'] = __('Title');
+ $posts_columns['categories'] = __('Categories');
+ if ( !in_array($_GET['post_status'], array('pending', 'draft', 'future')) )
+ $posts_columns['comments'] = '<div style="text-align: center">' . __('Comments') . '</div>';
+ $posts_columns['author'] = __('Author');
+ $posts_columns = apply_filters('manage_posts_columns', $posts_columns);
+
+ // you can not edit these at the moment
+ $posts_columns['control_view'] = '';
+ $posts_columns['control_edit'] = '';
+ $posts_columns['control_delete'] = '';
+
+ return $posts_columns;
+}
+
function page_rows( $parent = 0, $level = 0, $pages = 0, $hierarchy = true ) {
global $wpdb, $class, $post;
@@ -197,9 +215,9 @@ function page_rows( $parent = 0, $level = 0, $pages = 0, $hierarchy = true ) {
</td>
<td><?php the_author() ?></td>
<td><?php if ( '0000-00-00 00:00:00' ==$post->post_modified ) _e('Unpublished'); else echo mysql2date( __('Y-m-d g:i a'), $post->post_modified ); ?></td>
- <td><a href="<?php the_permalink(); ?>" rel="permalink" class="view"><?php _e( 'View' ); ?></a></td>
+ <td><a href="<?php the_permalink(); ?>" rel="permalink" class="view"><?php _e( 'View' ); ?></a></td>
<td><?php if ( current_user_can( 'edit_page', $id ) ) { echo "<a href='page.php?action=edit&amp;post=$id' class='edit'>" . __( 'Edit' ) . "</a>"; } ?></td>
- <td><?php if ( current_user_can( 'delete_page', $id ) ) { echo "<a href='" . wp_nonce_url( "page.php?action=delete&amp;post=$id", 'delete-page_' . $id ) . "' class='delete' onclick=\"return deleteSomething( 'page', " . $id . ", '" . js_escape(sprintf( __("You are about to delete the '%s' page.\n'OK' to delete, 'Cancel' to stop." ), get_the_title() ) ) . "' );\">" . __( 'Delete' ) . "</a>"; } ?></td>
+ <td><?php if ( current_user_can( 'delete_page', $id ) ) { echo "<a href='" . wp_nonce_url( "page.php?action=delete&amp;post=$id", 'delete-page_' . $id ) . "' class='delete:the-list:page-$id delete'>" . __( 'Delete' ) . "</a>"; } ?></td>
</tr>
<?php
@@ -271,38 +289,45 @@ function _wp_get_comment_list( $s = false, $start, $num ) {
function _wp_comment_list_item( $id, $alt = 0 ) {
global $authordata, $comment, $wpdb;
- $id = (int) $id;
$comment =& get_comment( $id );
+ $id = (int) $comment->comment_ID;
$class = '';
$post = get_post($comment->comment_post_ID);
$authordata = get_userdata($post->post_author);
- $comment_status = wp_get_comment_status($comment->comment_ID);
+ $comment_status = wp_get_comment_status($id);
if ( 'unapproved' == $comment_status )
$class .= ' unapproved';
if ( $alt % 2 )
$class .= ' alternate';
- echo "<li id='comment-$comment->comment_ID' class='$class'>";
+ echo "<li id='comment-$id' class='$class'>";
?>
-<p><strong><?php comment_author(); ?></strong> <?php if ($comment->comment_author_email) { ?>| <?php comment_author_email_link() ?> <?php } if ($comment->comment_author_url && 'http://' != $comment->comment_author_url) { ?> | <?php comment_author_url_link() ?> <?php } ?>| <?php _e('IP:') ?> <a href="http://ws.arin.net/cgi-bin/whois.pl?queryinput=<?php comment_author_IP() ?>"><?php comment_author_IP() ?></a></p>
+<p><strong class="comment-author"><?php comment_author(); ?></strong> <?php if ($comment->comment_author_email) { ?>| <?php comment_author_email_link() ?> <?php } if ($comment->comment_author_url && 'http://' != $comment->comment_author_url) { ?> | <?php comment_author_url_link() ?> <?php } ?>| <?php _e('IP:') ?> <a href="http://ws.arin.net/cgi-bin/whois.pl?queryinput=<?php comment_author_IP() ?>"><?php comment_author_IP() ?></a></p>
<?php comment_text() ?>
<p><?php comment_date(__('M j, g:i A')); ?> &#8212; [
<?php
if ( current_user_can('edit_post', $comment->comment_post_ID) ) {
- echo " <a href='comment.php?action=editcomment&amp;c=".$comment->comment_ID."'>" . __('Edit') . '</a>';
- echo ' | <a href="' . wp_nonce_url('comment.php?action=deletecomment&amp;p=' . $comment->comment_post_ID . '&amp;c=' . $comment->comment_ID, 'delete-comment_' . $comment->comment_ID) . '" onclick="return deleteSomething( \'comment\', ' . $comment->comment_ID . ', \'' . js_escape(sprintf(__("You are about to delete this comment by '%s'.\n'Cancel' to stop, 'OK' to delete."), $comment->comment_author)) . "', theCommentList );\">" . __('Delete') . '</a> ';
+ echo " <a href='comment.php?action=editcomment&amp;c=$id'>" . __('Edit') . '</a>';
+ $url = clean_url( wp_nonce_url( "comment.php?action=deletecomment&p=$comment->comment_post_ID&c=$id", "delete-comment_$id" ) );
+ echo " | <a href='$url' class='delete:the-comment-list:comment-$id'>" . __('Delete') . '</a> ';
if ( ('none' != $comment_status) && ( current_user_can('moderate_comments') ) ) {
- echo '<span class="unapprove"> | <a href="' . wp_nonce_url('comment.php?action=unapprovecomment&amp;p=' . $comment->comment_post_ID . '&amp;c=' . $comment->comment_ID, 'unapprove-comment_' . $comment->comment_ID) . '" onclick="return dimSomething( \'comment\', ' . $comment->comment_ID . ', \'unapproved\', theCommentList );">' . __('Unapprove') . '</a> </span>';
- echo '<span class="approve"> | <a href="' . wp_nonce_url('comment.php?action=approvecomment&amp;p=' . $comment->comment_post_ID . '&amp;c=' . $comment->comment_ID, 'approve-comment_' . $comment->comment_ID) . '" onclick="return dimSomething( \'comment\', ' . $comment->comment_ID . ', \'unapproved\', theCommentList );">' . __('Approve') . '</a> </span>';
+ $url = clean_url( wp_nonce_url( "comment.php?action=unapprovecomment&p=$comment->comment_post_ID&c=$id", "unapprove-comment_$id" ) );
+ echo "<span class='unapprove'> | <a href='$url' class='dim:the-comment-list:comment-$id:unapproved:FF3333'>" . __('Unapprove') . '</a> </span>';
+ $url = clean_url( wp_nonce_url( "comment.php?action=approvecomment&p=$comment->comment_post_ID&c=$id", "approve-comment_$id" ) );
+ echo "<span class='approve'> | <a href='$url' class='dim:the-comment-list:comment-$id:unapproved:FFFF33:FFFF33'>" . __('Approve') . '</a> </span>';
}
- echo " | <a href=\"" . wp_nonce_url("comment.php?action=deletecomment&amp;dt=spam&amp;p=" . $comment->comment_post_ID . "&amp;c=" . $comment->comment_ID, 'delete-comment_' . $comment->comment_ID) . "\" onclick=\"return deleteSomething( 'comment-as-spam', $comment->comment_ID, '" . js_escape(sprintf(__("You are about to mark as spam this comment by '%s'.\n'Cancel' to stop, 'OK' to mark as spam."), $comment->comment_author)) . "', theCommentList );\">" . __('Spam') . "</a> ";
+ $url = clean_url( wp_nonce_url( "comment.php?action=deletecomment&dt=spam&p=$comment->comment_post_ID&c=$id", "delete-comment_$id" ) );
+ echo " | <a href='$url' class='delete:the-comment-list:comment-$id::spam=1'>" . __('Spam') . '</a> ';
}
-$post = get_post($comment->comment_post_ID, OBJECT, 'display');
-$post_title = wp_specialchars( $post->post_title, 'double' );
-$post_title = ('' == $post_title) ? "# $comment->comment_post_ID" : $post_title;
+if ( !is_single() ) {
+ $post = get_post($comment->comment_post_ID, OBJECT, 'display');
+ $post_title = wp_specialchars( $post->post_title, 'double' );
+ $post_title = ('' == $post_title) ? "# $comment->comment_post_ID" : $post_title;
?>
- ] &#8212; <a href="<?php echo get_permalink($comment->comment_post_ID); ?>"><?php echo $post_title; ?></a></p>
+ ] &#8212; <a href="<?php echo get_permalink($comment->comment_post_ID); ?>"><?php echo $post_title; ?></a>
+<?php } ?>
+</p>
</li>
<?php
}
@@ -333,7 +358,7 @@ function list_meta( $meta ) {
global $post_ID;
// Exit if no meta
if (!$meta ) {
- echo '<tbody id="the-list"><tr style="display: none;"><td>&nbsp;</td></tr></tbody>'; //TBODY needed for list-manipulation JS
+ echo '<tbody id="the-list" class="list:meta"><tr style="display: none;"><td>&nbsp;</td></tr></tbody>'; //TBODY needed for list-manipulation JS
return;
}
$count = 0;
@@ -345,43 +370,47 @@ function list_meta( $meta ) {
<th colspan='2'><?php _e( 'Action' ) ?></th>
</tr>
</thead>
+ <tbody id='the-list' class='list:meta'>
<?php
- $r ="\n\t<tbody id='the-list'>";
- foreach ( $meta as $entry ) {
- ++ $count;
- if ( $count % 2 )
- $style = 'alternate';
- else
- $style = '';
- if ('_' == $entry['meta_key'] { 0 } )
- $style .= ' hidden';
-
- if ( is_serialized( $entry['meta_value'] ) ) {
- if ( is_serialized_string( $entry['meta_value'] ) ) {
- // this is a serialized string, so we should display it
- $entry['meta_value'] = maybe_unserialize( $entry['meta_value'] );
- } else {
- // this is a serialized array/object so we should NOT display it
- --$count;
- continue;
- }
- }
+ foreach ( $meta as $entry )
+ echo _list_meta_row( $entry, $count );
+ echo "\n\t</tbody>";
+}
- $key_js = js_escape( $entry['meta_key'] );
- $entry['meta_key'] = attribute_escape($entry['meta_key']);
- $entry['meta_value'] = attribute_escape($entry['meta_value']);
- $entry['meta_id'] = (int) $entry['meta_id'];
- $r .= "\n\t<tr id='meta-{$entry['meta_id']}' class='$style'>";
- $r .= "\n\t\t<td valign='top'><input name='meta[{$entry['meta_id']}][key]' tabindex='6' type='text' size='20' value='{$entry['meta_key']}' /></td>";
- $r .= "\n\t\t<td><textarea name='meta[{$entry['meta_id']}][value]' tabindex='6' rows='2' cols='30'>{$entry['meta_value']}</textarea></td>";
- $r .= "\n\t\t<td align='center'><input name='updatemeta' type='submit' class='updatemeta' tabindex='6' value='".attribute_escape(__( 'Update' ))."' /><br />";
- $r .= "\n\t\t<input name='deletemeta[{$entry['meta_id']}]' type='submit' onclick=\"return deleteSomething( 'meta', {$entry['meta_id']}, '";
- $r .= js_escape(sprintf( __("You are about to delete the '%s' custom field on this post.\n'OK' to delete, 'Cancel' to stop." ), $key_js ) );
- $r .= "' );\" class='deletemeta' tabindex='6' value='".attribute_escape(__( 'Delete' ))."' /></td>";
- $r .= "\n\t</tr>";
+function _list_meta_row( $entry, &$count ) {
+ $r = '';
+ ++ $count;
+ if ( $count % 2 )
+ $style = 'alternate';
+ else
+ $style = '';
+ if ('_' == $entry['meta_key'] { 0 } )
+ $style .= ' hidden';
+
+ if ( is_serialized( $entry['meta_value'] ) ) {
+ if ( is_serialized_string( $entry['meta_value'] ) ) {
+ // this is a serialized string, so we should display it
+ $entry['meta_value'] = maybe_unserialize( $entry['meta_value'] );
+ } else {
+ // this is a serialized array/object so we should NOT display it
+ --$count;
+ return;
+ }
}
- echo $r;
- echo "\n\t</tbody>";
+
+ $key_js = js_escape( $entry['meta_key'] );
+ $entry['meta_key'] = attribute_escape($entry['meta_key']);
+ $entry['meta_value'] = attribute_escape($entry['meta_value']);
+ $entry['meta_id'] = (int) $entry['meta_id'];
+ $r .= "\n\t<tr id='meta-{$entry['meta_id']}' class='$style'>";
+ $r .= "\n\t\t<td valign='top'><input name='meta[{$entry['meta_id']}][key]' tabindex='6' type='text' size='20' value='{$entry['meta_key']}' /></td>";
+ $r .= "\n\t\t<td><textarea name='meta[{$entry['meta_id']}][value]' tabindex='6' rows='2' cols='30'>{$entry['meta_value']}</textarea></td>";
+ $r .= "\n\t\t<td align='center'><input name='updatemeta' type='submit' tabindex='6' value='".attribute_escape(__( 'Update' ))."' class='add:the-list:meta-{$entry['meta_id']} updatemeta' /><br />";
+ $r .= "\n\t\t<input name='deletemeta[{$entry['meta_id']}]' type='submit' ";
+ $r .= "class='delete:the-list:meta-{$entry['meta_id']} deletemeta' tabindex='6' value='".attribute_escape(__( 'Delete' ))."' />";
+ $r .= "<input type='hidden' name='_ajax_nonce' value='$nonce' />";
+ $r .= "</td>\n\t</tr>";
+ return $r;
}
function meta_form() {
@@ -422,8 +451,11 @@ function meta_form() {
<td><textarea id="metavalue" name="metavalue" rows="3" cols="25" tabindex="8"></textarea></td>
</tr>
+<tr class="submit"><td colspan="3">
+ <?php wp_nonce_field( 'change_meta', '_ajax_nonce', false ); ?>
+ <input type="submit" id="addmetasub" name="addmeta" class="add:the-list:newmeta" tabindex="9" value="<?php _e( 'Add Custom Field &raquo;' ) ?>" />
+</td></tr>
</table>
-<p class="submit"><input type="submit" id="updatemetasub" name="updatemeta" tabindex="9" value="<?php _e( 'Add Custom Field &raquo;' ) ?>" /></p>
<?php
}
diff --git a/wp-admin/includes/upgrade.php b/wp-admin/includes/upgrade.php
index 71e6399..b30daef 100644
--- a/wp-admin/includes/upgrade.php
+++ b/wp-admin/includes/upgrade.php
@@ -541,6 +541,7 @@ function upgrade_230() {
// Convert categories to terms.
$tt_ids = array();
+ $have_tags = false;
$categories = $wpdb->get_results("SELECT * FROM $wpdb->categories ORDER BY cat_ID");
foreach ($categories as $category) {
$term_id = (int) $category->cat_ID;
@@ -587,6 +588,7 @@ function upgrade_230() {
}
if ( !empty($category->tag_count) ) {
+ $have_tags = true;
$count = (int) $category->tag_count;
$taxonomy = 'post_tag';
$wpdb->query("INSERT INTO $wpdb->term_taxonomy (term_id, taxonomy, description, parent, count) VALUES ('$term_id', '$taxonomy', '$description', '$parent', '$count')");
@@ -601,7 +603,11 @@ function upgrade_230() {
}
}
- $posts = $wpdb->get_results("SELECT * FROM $wpdb->post2cat");
+ $select = 'post_id, category_id';
+ if ( $have_tags )
+ $select .= ', rel_type';
+
+ $posts = $wpdb->get_results("SELECT $select FROM $wpdb->post2cat GROUP BY post_id, category_id");
foreach ( $posts as $post ) {
$post_id = (int) $post->post_id;
$term_id = (int) $post->category_id;
@@ -666,7 +672,7 @@ function upgrade_230() {
// Set default to the last category we grabbed during the upgrade loop.
update_option('default_link_category', $default_link_cat);
} else {
- $links = $wpdb->get_results("SELECT * FROM $wpdb->link2cat");
+ $links = $wpdb->get_results("SELECT link_id, category_id FROM $wpdb->link2cat GROUP BY link_id, category_id");
foreach ( $links as $link ) {
$link_id = (int) $link->link_id;
$term_id = (int) $link->category_id;
@@ -1010,7 +1016,6 @@ function dbDelta($queries, $execute = true) {
}
// Add the column list to the index create string
$index_string .= ' ('.$index_columns.')';
- error_log("Index string: $index_string", 0);
if(!(($aindex = array_search($index_string, $indices)) === false)) {
unset($indices[$aindex]);
//echo "<pre style=\"border:1px solid #ccc;margin-top:5px;\">{$table}:<br />Found index:".$index_string."</pre>\n";
@@ -1248,12 +1253,10 @@ function translate_level_to_role($level) {
}
function wp_check_mysql_version() {
- global $wp_version;
-
- // Make sure the server has MySQL 4.0
- $mysql_version = preg_replace('|[^0-9\.]|', '', @mysql_get_server_info());
- if ( version_compare($mysql_version, '4.0.0', '<') )
- die(sprintf(__('<strong>ERROR</strong>: WordPress %s requires MySQL 4.0.0 or higher'), $wp_version));
+ global $wpdb;
+ $result = $wpdb->check_database_version();
+ if ( is_wp_error( $result ) )
+ die( $result->get_error_message() );
}
function maybe_disable_automattic_widgets() {
diff --git a/wp-admin/includes/upload.php b/wp-admin/includes/upload.php
index 61b0302..c66feeb 100644
--- a/wp-admin/includes/upload.php
+++ b/wp-admin/includes/upload.php
@@ -31,6 +31,9 @@ function wp_upload_display( $dims = false, $href = '' ) {
$src = wp_make_link_relative( $src_base );
$src_base = str_replace($src, '', $src_base);
+ if ( !trim($post_title) )
+ $post_title = basename($src);
+
$r = '';
if ( $href )
@@ -39,7 +42,9 @@ function wp_upload_display( $dims = false, $href = '' ) {
$r .= "\t\t\t$innerHTML";
if ( $href )
$r .= "</a>\n";
- $r .= "\t\t\t\t<span class='upload-file-size'>".size_format(filesize($filesystem_path))."</span>\n";
+ $size = @filesize($filesystem_path);
+ if ( !empty($size) )
+ $r .= "\t\t\t\t<span class='upload-file-size'>".size_format($size)."</span>\n";
$r .= "\n\t\t<div class='upload-file-data'>\n\t\t\t<p>\n";
$r .= "\t\t\t\t<input type='hidden' name='attachment-url-$id' id='attachment-url-$id' value='$src' />\n";
$r .= "\t\t\t\t<input type='hidden' name='attachment-url-base-$id' id='attachment-url-base-$id' value='$src_base' />\n";
diff --git a/wp-admin/includes/user.php b/wp-admin/includes/user.php
index ca15057..bd017a4 100644
--- a/wp-admin/includes/user.php
+++ b/wp-admin/includes/user.php
@@ -87,7 +87,7 @@ function edit_user( $user_id = 0 ) {
$errors->add( 'pass', __( '<strong>ERROR</strong>: Please enter your password twice.' ));
} else {
if ((empty ( $pass1 ) && !empty ( $pass2 ) ) || (empty ( $pass2 ) && !empty ( $pass1 ) ) )
- $errors->add( 'pass', __( "<strong>ERROR</strong>: you typed your new password only once." ));
+ $errors->add( 'pass', __( '<strong>ERROR</strong>: You entered your new password only once.' ));
}
/* Check for "\" in password */
@@ -96,23 +96,23 @@ function edit_user( $user_id = 0 ) {
/* checking the password has been typed twice the same */
if ( $pass1 != $pass2 )
- $errors->add( 'pass', __( '<strong>ERROR</strong>: Please type the same password in the two password fields.' ));
+ $errors->add( 'pass', __( '<strong>ERROR</strong>: Please enter the same password in the two password fields.' ));
if (!empty ( $pass1 ))
$user->user_pass = $pass1;
if ( !$update && !validate_username( $user->user_login ) )
- $errors->add( 'user_login', __( '<strong>ERROR</strong>: This username is invalid. Please enter a valid username.' ));
+ $errors->add( 'user_login', __( '<strong>ERROR</strong>: This username is invalid. Please enter a valid username.' ));
if (!$update && username_exists( $user->user_login ))
- $errors->add( 'user_login', __( '<strong>ERROR</strong>: This username is already registered, please choose another one.' ));
+ $errors->add( 'user_login', __( '<strong>ERROR</strong>: This username is already registered. Please choose another one.' ));
/* checking e-mail address */
if ( empty ( $user->user_email ) ) {
- $errors->add( 'user_email', __( "<strong>ERROR</strong>: please type an e-mail address" ));
+ $errors->add( 'user_email', __( '<strong>ERROR</strong>: Please enter an e-mail address.' ));
} else
if (!is_email( $user->user_email ) ) {
- $errors->add( 'user_email', __( "<strong>ERROR</strong>: the email address isn't correct" ));
+ $errors->add( 'user_email', __( "<strong>ERROR</strong>: The e-mail address isn't correct." ));
}
if ( $errors->get_error_codes() )
diff --git a/wp-admin/js/cat.js b/wp-admin/js/cat.js
index e697e9b..9cb81cf 100644
--- a/wp-admin/js/cat.js
+++ b/wp-admin/js/cat.js
@@ -1,11 +1,4 @@
-addLoadEvent(function(){catList=new listMan('categorychecklist');catList.ajaxRespEl='jaxcat';catList.topAdder=1;catList.alt=0;catList.showLink=0;});
-addLoadEvent(newCatAddIn);
-function newCatAddIn() {
- var jaxcat = $('jaxcat');
- if ( !jaxcat )
- return false;
- // These multiple blank hidden inputs are needed: https://bugzilla.mozilla.org/show_bug.cgi?id=377815 , #3895 , #4664
- Element.update(jaxcat,'<span id="ajaxcat"><input type="text" name="newcat" id="newcat" size="16" autocomplete="off"/><input type="button" name="Button" id="catadd" value="' + catL10n.add + '"/><input type="hidden"/><input type="hidden"/><span id="howto">' + catL10n.how + '</span></span>');
- $('newcat').onkeypress = function(e) { return killSubmit("catList.ajaxAdder('category','jaxcat');", e); };
- $('catadd').onclick = function() { catList.ajaxAdder('category', 'jaxcat'); };
-}
+jQuery( function($) {
+ $('#jaxcat').prepend('<span id="ajaxcat"><input type="text" name="newcat" id="newcat" size="16" autocomplete="off"/><input type="button" name="Button" class="add:categorychecklist:jaxcat" id="catadd" value="' + catL10n.add + '"/><input type="hidden"/><input type="hidden"/><span id="howto">' + catL10n.how + '</span></span><span id="cat-ajax-response"></span>')
+ var a = $('#categorychecklist').wpList( { alt: '', response: 'cat-ajax-response' } );
+} );
diff --git a/wp-admin/js/categories.js b/wp-admin/js/categories.js
index 3cee6c6..23a67c5 100644
--- a/wp-admin/js/categories.js
+++ b/wp-admin/js/categories.js
@@ -1,16 +1,18 @@
-addLoadEvent(function() {
- if (!theList.theList) return false;
- document.forms.addcat.submit.onclick = function(e) {return killSubmit('theList.ajaxAdder("cat", "addcat");', e); };
- theList.addComplete = function(what, where, update, transport) {
- var name = getNodeValue(transport.responseXML, 'name').unescapeHTML();
- var id = transport.responseXML.getElementsByTagName(what)[0].getAttribute('id');
- var options = document.forms['addcat'].category_parent.options;
+jQuery(function($) {
+ var options = document.forms['addcat'].category_parent.options;
+
+ var addAfter = function( r, settings ) {
+ var name = $("<span>" + $('name', r).text() + "</span>").html();
+ var id = $('cat', r).attr('id');
options[options.length] = new Option(name, id);
- };
- theList.delComplete = function(what, id) {
- var options = document.forms['addcat'].category_parent.options;
+ }
+
+ var delAfter = function( r, settings ) {
+ var id = $('cat', r).attr('id');
for ( var o = 0; o < options.length; o++ )
if ( id == options[o].value )
options[o] = null;
- };
+ }
+
+ var a = $('#the-list').wpList( { addAfter: addAfter, delAfter: delAfter } );
});
diff --git a/wp-admin/js/custom-fields.js b/wp-admin/js/custom-fields.js
index ad7a2db..8f2b1a5 100644
--- a/wp-admin/js/custom-fields.js
+++ b/wp-admin/js/custom-fields.js
@@ -1,26 +1,33 @@
-function customFieldsOnComplete( what, where, update, transport ) {
- var pidEl = $('post_ID');
- pidEl.name = 'post_ID';
- pidEl.value = getNodeValue(transport.responseXML, 'postid');
- var aEl = $('hiddenaction')
- if ( aEl.value == 'post' ) aEl.value = 'postajaxpost';
-}
-addLoadEvent(customFieldsAddIn);
-function customFieldsAddIn() {
- theList.showLink=0;
- theList.addComplete = customFieldsOnComplete;
- if (!theList.theList) return false;
- inputs = theList.theList.getElementsByTagName('input');
- for ( var i=0; i < inputs.length; i++ ) {
- if ('text' == inputs[i].type) {
- inputs[i].setAttribute('autocomplete', 'off');
- inputs[i].onkeypress = function(e) {return killSubmit('theList.ajaxUpdater("meta", "meta-' + parseInt(this.name.slice(5),10) + '");', e); };
- }
- if ('updatemeta' == inputs[i].className) {
- inputs[i].onclick = function(e) {return killSubmit('theList.ajaxUpdater("meta", "meta-' + parseInt(this.parentNode.parentNode.id.slice(5),10) + '");', e); };
- }
+jQuery( function($) {
+ var before = function() {
+ var nonce = $('#newmeta [@name=_ajax_nonce]').val();
+ var postId = $('#post_ID').val();
+ if ( !nonce || !postId ) { return false; }
+ return [nonce,postId];
}
- $('metakeyinput').onkeypress = function(e) {return killSubmit('theList.inputData+="&id="+$("post_ID").value;theList.ajaxAdder("meta", "newmeta");', e); };
- $('updatemetasub').onclick = function(e) {return killSubmit('theList.inputData+="&id="+$("post_ID").value;theList.ajaxAdder("meta", "newmeta");', e); };
-}
+ var addBefore = function( s ) {
+ var b = before();
+ if ( !b ) { return false; }
+ s.data = s.data.replace(/_ajax_nonce=[a-f0-9]+/, '_ajax_nonce=' + b[0]) + '&post_id=' + b[1];
+ return s;
+ };
+
+ var addAfter = function( r, s ) {
+ var postId = $('postid', r).text();
+ if ( !postId ) { return; }
+ $('#post_ID').attr( 'name', 'post_ID' ).val( postId );
+ var h = $('#hiddenaction');
+ if ( 'post' == h.val() ) { h.val( 'postajaxpost' ); }
+ };
+
+ var delBefore = function( s ) {
+ var b = before(); if ( !b ) return false;
+ s.data._ajax_nonce = b[0]; s.data.post_id = b[1];
+ return s;
+ }
+
+ $('#the-list')
+ .wpList( { addBefore: addBefore, addAfter: addAfter, delBefore: delBefore } )
+ .find('.updatemeta, .deletemeta').attr( 'type', 'button' );
+} );
diff --git a/wp-admin/js/edit-comments.js b/wp-admin/js/edit-comments.js
index e1fc68f..a185774 100644
--- a/wp-admin/js/edit-comments.js
+++ b/wp-admin/js/edit-comments.js
@@ -1,59 +1,26 @@
-addLoadEvent(function() {
- theCommentList = new listMan('the-comment-list');
- if ( !theCommentList )
- return false;
+var list; var extra;
+jQuery(function($) {
- theExtraCommentList = new listMan('the-extra-comment-list');
- if ( theExtraCommentList ) {
- theExtraCommentList.showLink = 0;
- theExtraCommentList.altOffset = 1;
- if ( theExtraCommentList.theList && theExtraCommentList.theList.childNodes )
- var commentNum = $A(theExtraCommentList.theList.childNodes).findAll( function(i) { return Element.visible(i) } ).length;
- else
- var commentNum = 0;
- var urlQ = document.location.href.split('?');
- var params = urlQ[1] ? urlQ[1].toQueryParams() : [];
- var search = params['s'] ? params['s'] : '';
- var page = params['apage'] ? params['apage'] : 1;
- }
+var dimAfter = function( r, settings ) {
+ var a = $('#awaitmod');
+ a.html( parseInt(a.html(),10) + ( $('#' + settings.element).is('.' + settings.dimClass) ? 1 : -1 ) );
+}
- theCommentList.dimComplete = function(what,id,dimClass) {
- var m = document.getElementById('awaitmod');
- if ( document.getElementById(what + '-' + id).className.match(dimClass) )
- m.innerHTML = parseInt(m.innerHTML,10) + 1;
- else
- m.innerHTML = parseInt(m.innerHTML,10) - 1;
+var delAfter = function( r, settings ) {
+ var a = $('#awaitmod');
+ if ( $('#' + settings.element).is('.unapproved') && parseInt(a.html(),10) > 0 ) {
+ a.html( parseInt(a.html(),10) - 1 );
}
- theCommentList.delComplete = function(what,id) {
- var m = document.getElementById('awaitmod');
- what = what.split('-')[0];
- if ( document.getElementById(what + '-' + id).className.match('unapproved') )
- m.innerHTML = parseInt(m.innerHTML,10) - 1;
- if ( theExtraCommentList && commentNum ) {
- var theMover = theExtraCommentList.theList.childNodes[0];
- Element.removeClassName(theMover,'alternate');
- theCommentList.theList.appendChild(theMover);
- theExtraCommentList.inputData += '&page=' + page;
- if ( search )
- theExtraCommentList.inputData += '&s=' + search; // trust the URL not the search box
- theExtraCommentList.addComplete = function() {
- if ( theExtraCommentList.theList.childNodes )
- var commentNum = $A(theExtraCommentList.theList.childNodes).findAll( function(i) { return Element.visible(i) } ).length;
- else
- var commentNum = 0;
- }
- theExtraCommentList.ajaxAdder( 'comment', 'ajax-response' ); // Dummy Request
- }
+ if ( extra.size() == 0 || extra.children().size() == 0 ) {
+ return;
}
- if ( theList ) // the post list: edit.php
- theList.delComplete = function() {
- var comments = document.getElementById('comments');
- var commdel = encloseFunc(function(a){a.parentNode.removeChild(a);},comments);
- var listdel = encloseFunc(function(a){a.parentNode.removeChild(a);},theCommentList.theList);
- setTimeout(commdel,705);
- setTimeout(listdel,705);
- }
-});
+ list[0].wpList.add( extra.children(':eq(0)').remove().clone() );
+ $('#get-extra-comments').submit();
+}
+
+extra = $('#the-extra-comment-list').wpList( { alt: '', delColor: 'none', addColor: 'none' } );
+list = $('#the-comment-list').wpList( { dimAfter : dimAfter, delAfter : delAfter, addColor: 'none' } );
+} );
diff --git a/wp-admin/js/edit-posts.js b/wp-admin/js/edit-posts.js
new file mode 100644
index 0000000..c85fba9
--- /dev/null
+++ b/wp-admin/js/edit-posts.js
@@ -0,0 +1,22 @@
+jQuery(function($) {
+var delAfter; var extra; var list;
+
+if ( document.location.href.match(/(\?|&)c=/) )
+ delAfter = function() { $('#comments, #the-comment-list').remove(); }
+else
+ delAfter = function() {
+ list[0].wpList.add( extra.children(':eq(0)').remove().clone() );
+ $('#get-extra-button').click();
+ }
+
+var addBefore = function ( settings ) {
+ var q = document.location.href.split('?');
+ if ( q[1] )
+ settings.data += '&' + q[1];
+ return settings;
+}
+
+extra = $('#the-extra-list').wpList( { alt: '', addBefore: addBefore, addColor: 'none', delColor: 'none' } );
+list = $('#the-list').wpList( { delAfter: delAfter, addColor: 'none' } );
+
+} );
diff --git a/wp-admin/js/link-cat.js b/wp-admin/js/link-cat.js
index a0775ce..e69de29 100644
--- a/wp-admin/js/link-cat.js
+++ b/wp-admin/js/link-cat.js
@@ -1,10 +0,0 @@
-addLoadEvent(function(){linkcatList=new listMan('linkcategorychecklist');linkcatList.ajaxRespEl='jaxcat';linkcatList.topAdder=1;linkcatList.alt=0;linkcatList.showLink=0;});
-addLoadEvent(newLinkCatAddIn);
-function newLinkCatAddIn() {
- var jaxcat = $('jaxcat');
- if ( !jaxcat )
- return false;
- Element.update(jaxcat,'<span id="ajaxcat"><input type="text" name="newcat" id="newcat" size="16" autocomplete="off"/><input type="button" name="Button" id="catadd" value="' + linkcatL10n.add + '"/><input type="hidden"/><span id="howto">' + linkcatL10n.how + '</span></span>');
- $('newcat').onkeypress = function(e) { return killSubmit("linkcatList.ajaxAdder('link-category','jaxcat');", e); };
- $('catadd').onclick = function() { linkcatList.ajaxAdder('link-category', 'jaxcat'); };
-}
diff --git a/wp-admin/js/users.js b/wp-admin/js/users.js
index f249f65..5b89d0f 100644
--- a/wp-admin/js/users.js
+++ b/wp-admin/js/users.js
@@ -1,21 +1,22 @@
-addLoadEvent(function() {
- theListEls = document.getElementsByTagName('tbody');
- theUserLists = new Array();
- for ( var l = 0; l < theListEls.length; l++ ) {
- if ( theListEls[l].id )
- theUserLists[theListEls[l].id] = new listMan(theListEls[l].id);
- }
- addUserInputs = document.getElementById('adduser').getElementsByTagName('input');
- for ( var i = 0; i < addUserInputs.length; i++ ) {
- addUserInputs[i].onkeypress = function(e) { return killSubmit('addUserSubmit();', e); }
- }
- document.getElementById('addusersub').onclick = function(e) { return killSubmit('addUserSubmit();', e); }
-}
-);
+jQuery( function($) {
+ var userLists; var list; var addBefore; var addAfter;
-function addUserSubmit() {
- var roleEl = document.getElementById('role');
- var role = roleEl.options[roleEl.selectedIndex].value;
- if ( !theUserLists['role-' + role] ) return true;
- return theUserLists['role-' + role].ajaxAdder('user', 'adduser');
-}
+ addBefore = function( s ) {
+ if ( $( '#role-' + $('#role').val() ).size() )
+ return s;
+ return false;
+ };
+
+ addAfter = function( r, s ) {
+ var roleTable = $( '#role-' + $('role', r).text() );
+
+ var e = $('#user-' + $('user', r).attr('id') );
+ if ( !roleTable.size() ) { return; }
+ if ( !e.size() ) { return; }
+
+ roleTable[0].wpList.add(e.remove().clone());
+ };
+
+ userLists = $('.user-list').wpList();
+ list = $('#user-list').wpList( { addBefore: addBefore, addAfter: addAfter } );
+} );
diff --git a/wp-admin/link-add.php b/wp-admin/link-add.php
index 2b06d8e..1e48fe8 100644
--- a/wp-admin/link-add.php
+++ b/wp-admin/link-add.php
@@ -13,7 +13,7 @@ wp_reset_vars(array('action', 'cat_id', 'linkurl', 'name', 'image',
wp_enqueue_script( array('xfn', 'dbx-admin-key?pagenow=link.php') );
if ( current_user_can( 'manage_categories' ) )
- wp_enqueue_script( 'ajaxlinkcat' );
+ wp_enqueue_script( 'ajaxcat' );
require('admin-header.php');
?>
diff --git a/wp-admin/link-import.php b/wp-admin/link-import.php
index e20a464..8dd2866 100644
--- a/wp-admin/link-import.php
+++ b/wp-admin/link-import.php
@@ -45,10 +45,10 @@ switch ($step) {
<p style="clear: both; margin-top: 1em;"><?php _e('Now select a category you want to put these links in.') ?><br />
<?php _e('Category:') ?> <select name="cat_id">
<?php
-$categories = get_categories('hide_empty=0');
+$categories = get_terms('link_category', 'get=all');
foreach ($categories as $category) {
?>
-<option value="<?php echo $category->cat_ID; ?>"><?php echo wp_specialchars(apply_filters('link_category', $category->cat_name)); ?></option>
+<option value="<?php echo $category->term_id; ?>"><?php echo wp_specialchars(apply_filters('link_category', $category->name)); ?></option>
<?php
} // end foreach
?>
@@ -98,7 +98,7 @@ foreach ($categories as $category) {
} else {
$opml = file_get_contents($opml_url);
}
-
+
include_once('link-parse-opml.php');
$link_count = count($names);
@@ -123,7 +123,7 @@ else
} // end else
if ( ! $blogrolling )
- apply_filters( 'wp_delete_file', $opml_url);
+ apply_filters( 'wp_delete_file', $opml_url);
@unlink($opml_url);
?>
</div>
diff --git a/wp-admin/link-manager.php b/wp-admin/link-manager.php
index ade3143..d9240de 100644
--- a/wp-admin/link-manager.php
+++ b/wp-admin/link-manager.php
@@ -6,7 +6,7 @@
require_once ('admin.php');
-wp_enqueue_script( 'listman' );
+wp_enqueue_script( 'wp-lists' );
wp_reset_vars(array('action', 'cat_id', 'linkurl', 'name', 'image', 'description', 'visible', 'target', 'category', 'link_id', 'submit', 'order_by', 'links_show_cat_id', 'rating', 'rel', 'notes', 'linkcheck[]'));
@@ -46,7 +46,7 @@ switch ($order_by) {
}
?>
<script type="text/javascript">
-<!--
+/* <![CDATA[ */
function checkAll(form)
{
for (i = 0, n = form.elements.length; i < n; i++) {
@@ -58,7 +58,10 @@ function checkAll(form)
}
}
}
-//-->
+
+jQuery(function($){$('#the-list').wpList();});
+
+/* ]]> */
</script>
<?php
@@ -128,7 +131,7 @@ if ( $links ) {
<th style="text-align: center"><input type="checkbox" onclick="checkAll(document.getElementById('links'));" /></th>
</tr>
</thead>
- <tbody id="the-list">
+ <tbody id="the-list" class="list:link">
<?php
foreach ($links as $link) {
$link = sanitize_bookmark($link);
@@ -176,8 +179,8 @@ if ( $links ) {
?><td align='center'><?php echo $visible; ?></td><?php
break;
case 'action':
- echo '<td><a href="link.php?link_id='.$link->link_id.'&amp;action=edit" class="edit">'.__('Edit').'</a></td>';
- echo '<td><a href="' . wp_nonce_url('link.php?link_id='.$link->link_id.'&amp;action=delete', 'delete-bookmark_' . $link->link_id ) . '"'." onclick=\"return deleteSomething( 'link', $link->link_id , '".js_escape(sprintf(__("You are about to delete the '%s' link to %s.\n'Cancel' to stop, 'OK' to delete."), $link->link_name, $link->link_url )).'\' );" class="delete">'.__('Delete').'</a></td>';
+ echo "<td><a href='link.php?link_id=$link->link_id&amp;action=edit' class='edit'>" . __('Edit') . '</a></td>';
+ echo "<td><a href='" . wp_nonce_url('link.php?link_id='.$link->link_id.'&amp;action=delete', 'delete-bookmark_' . $link->link_id ) . "' class='delete:the-list:link-$link->link_id delete'>" . __('Delete') . '</a></td>';
break;
default:
?>
diff --git a/wp-admin/link.php b/wp-admin/link.php
index 464943a..383f6e4 100644
--- a/wp-admin/link.php
+++ b/wp-admin/link.php
@@ -3,6 +3,9 @@ require_once ('admin.php');
wp_reset_vars(array('action', 'cat_id', 'linkurl', 'name', 'image', 'description', 'visible', 'target', 'category', 'link_id', 'submit', 'order_by', 'links_show_cat_id', 'rating', 'rel', 'notes', 'linkcheck[]'));
+if ( ! current_user_can('manage_links') )
+ wp_die( __('You do not have sufficient permissions to edit the links for this blog.') );
+
if ('' != $_POST['deletebookmarks'])
$action = 'deletebookmarks';
if ('' != $_POST['move'])
@@ -13,13 +16,9 @@ if ('' != $_POST['linkcheck'])
$this_file = 'link-manager.php';
switch ($action) {
- case 'deletebookmarks' :
+ case 'deletebookmarks' :
check_admin_referer('bulk-bookmarks');
- // check the current user's level first.
- if (!current_user_can('manage_links'))
- wp_die(__('Cheatin&#8217; uh?'));
-
//for each link id (in $linkcheck[]) change category to selected value
if (count($linkcheck) == 0) {
wp_redirect($this_file);
@@ -41,10 +40,6 @@ switch ($action) {
case 'move' :
check_admin_referer('bulk-bookmarks');
- // check the current user's level first.
- if (!current_user_can('manage_links'))
- wp_die(__('Cheatin&#8217; uh?'));
-
//for each link id (in $linkcheck[]) change category to selected value
if (count($linkcheck) == 0) {
wp_redirect($this_file);
@@ -63,7 +58,7 @@ switch ($action) {
add_link();
- wp_redirect(wp_get_referer().'?added=true');
+ wp_redirect( wp_get_referer() . '?added=true' );
exit;
break;
@@ -81,9 +76,6 @@ switch ($action) {
$link_id = (int) $_GET['link_id'];
check_admin_referer('delete-bookmark_' . $link_id);
- if (!current_user_can('manage_links'))
- wp_die(__('Cheatin&#8217; uh?'));
-
wp_delete_link($link_id);
wp_redirect($this_file);
@@ -97,21 +89,18 @@ switch ($action) {
$parent_file = 'link-manager.php';
$submenu_file = 'link-manager.php';
$title = __('Edit Link');
- include_once ('admin-header.php');
- if (!current_user_can('manage_links'))
- wp_die(__('You do not have sufficient permissions to edit the links for this blog.'));
$link_id = (int) $_GET['link_id'];
if (!$link = get_link_to_edit($link_id))
wp_die(__('Link not found.'));
+ include_once ('admin-header.php');
include ('edit-link-form.php');
+ include ('admin-footer.php');
break;
default :
break;
}
-
-include ('admin-footer.php');
?>
diff --git a/wp-admin/page.php b/wp-admin/page.php
index 7a373e9..c68901d 100644
--- a/wp-admin/page.php
+++ b/wp-admin/page.php
@@ -108,10 +108,14 @@ case 'editpost':
} else {
if ($_POST['save']) {
$location = "page.php?action=edit&post=$page_ID";
- } elseif ($_POST['updatemeta']) {
- $location = wp_get_referer() . '&message=2#postcustom';
+ } elseif ($_POST['addemeta']) {
+ $location = add_query_arg( 'message', 2, wp_get_referer() );
+ $location = explode('#', $location);
+ $location = $location[0] . '#postcustom';
} elseif ($_POST['deletemeta']) {
- $location = wp_get_referer() . '&message=3#postcustom';
+ $location = add_query_arg( 'message', 3, wp_get_referer() );
+ $location = explode('#', $location);
+ $location = $location[0] . '#postcustom';
} elseif (!empty($_POST['referredby']) && $_POST['referredby'] != wp_get_referer()) {
$location = $_POST['referredby'];
if ( $_POST['referredby'] == 'redo' )
diff --git a/wp-admin/plugins.php b/wp-admin/plugins.php
index d2c7d48..5e7bcf2 100644
--- a/wp-admin/plugins.php
+++ b/wp-admin/plugins.php
@@ -11,22 +11,9 @@ if( $menu_perms[ 'plugins' ] != 1 )
if ( isset($_GET['action']) ) {
if ('activate' == $_GET['action']) {
check_admin_referer('activate-plugin_' . $_GET['plugin']);
- $current = get_option('active_plugins');
- $plugin = trim($_GET['plugin']);
- if ( validate_file($plugin) )
- wp_die(__('Invalid plugin.'));
- if ( ! file_exists(ABSPATH . PLUGINDIR . '/' . $plugin) )
- wp_die(__('Plugin file does not exist.'));
- if (!in_array($plugin, $current)) {
- wp_redirect(add_query_arg('_error_nonce', wp_create_nonce('plugin-activation-error_' . $plugin), 'plugins.php?error=true&plugin=' . $plugin)); // we'll override this later if the plugin can be included without fatal error
- ob_start();
- @include(ABSPATH . PLUGINDIR . '/' . $plugin);
- $current[] = $plugin;
- sort($current);
- update_option('active_plugins', $current);
- do_action('activate_' . $plugin);
- ob_end_clean();
- }
+ $result = activate_plugin($_GET['plugin']);
+ if( is_wp_error( $result ) )
+ wp_die( $result->get_error_message() );
wp_redirect('plugins.php?activate=true'); // overrides the ?error=true one above
} elseif ('error_scrape' == $_GET['action']) {
$plugin = trim($_GET['plugin']);
@@ -38,21 +25,11 @@ if ( isset($_GET['action']) ) {
include(ABSPATH . PLUGINDIR . '/' . $plugin);
} elseif ('deactivate' == $_GET['action']) {
check_admin_referer('deactivate-plugin_' . $_GET['plugin']);
- $current = get_option('active_plugins');
- array_splice($current, array_search( $_GET['plugin'], $current), 1 ); // Array-fu!
- update_option('active_plugins', $current);
- do_action('deactivate_' . trim( $_GET['plugin'] ));
+ deactivate_plugins($_GET['plugin']);
wp_redirect('plugins.php?deactivate=true');
} elseif ($_GET['action'] == 'deactivate-all') {
check_admin_referer('deactivate-all');
- $current = get_option('active_plugins');
-
- foreach ($current as $plugin) {
- array_splice($current, array_search($plugin, $current), 1);
- do_action('deactivate_' . $plugin);
- }
-
- update_option('active_plugins', array());
+ deactivate_all_plugins();
wp_redirect('plugins.php?deactivate-all=true');
}
exit;
@@ -153,6 +130,7 @@ if (empty($plugins)) {
if ( $style != '' )
$style = 'class="' . $style . '"';
+ $author = ( empty($plugin_data['Author']) ) ? '' : ' <cite>' . sprintf( __('By %s'), $plugin_data['Author'] ) . '.</cite>';
echo "
<tr $style>
@@ -162,6 +140,7 @@ if (empty($plugins)) {
<td class='togl'>$toggle</td>";
echo"
</tr>";
+ do_action( 'after_plugin_row', $plugin_file );
}
?>
diff --git a/wp-admin/post.php b/wp-admin/post.php
index 680f8ab..4609bae 100644
--- a/wp-admin/post.php
+++ b/wp-admin/post.php
@@ -121,10 +121,14 @@ case 'editpost':
if ($_POST['save']) {
$location = "post.php?action=edit&post=$post_ID";
- } elseif ($_POST['updatemeta']) {
- $location = wp_get_referer() . '&message=2#postcustom';
+ } elseif ($_POST['addemeta']) {
+ $location = add_query_arg( 'message', 2, wp_get_referer() );
+ $location = explode('#', $location);
+ $location = $location[0] . '#postcustom';
} elseif ($_POST['deletemeta']) {
- $location = wp_get_referer() . '&message=3#postcustom';
+ $location = add_query_arg( 'message', 3, wp_get_referer() );
+ $location = explode('#', $location);
+ $location = $location[0] . '#postcustom';
} elseif (!empty($referredby) && $referredby != $referer) {
$location = $_POST['referredby'];
if ( $_POST['referredby'] == 'redo' )
diff --git a/wp-admin/setup-config.php b/wp-admin/setup-config.php
index 139ccd3..976c5ac 100644
--- a/wp-admin/setup-config.php
+++ b/wp-admin/setup-config.php
@@ -1,6 +1,9 @@
<?php
die();
define('WP_INSTALLING', true);
+//These two defines are required to allow us to use require_wp_db() to load the database class while being wp-content/wp-db.php aware
+define('ABSPATH', dirname(dirname(__FILE__)).'/');
+define('WPINC', 'wp-includes');
require_once('../wp-includes/compat.php');
require_once('../wp-includes/functions.php');
@@ -161,7 +164,7 @@ switch($step) {
define('DB_HOST', $dbhost);
// We'll fail here if the values are no good.
- require_once('../wp-includes/wp-db.php');
+ require_wp_db();
$handle = fopen('../wp-config.php', 'w');
foreach ($configFile as $line_num => $line) {
diff --git a/wp-admin/users.php b/wp-admin/users.php
index 83c6cb5..c4a5917 100644
--- a/wp-admin/users.php
+++ b/wp-admin/users.php
@@ -523,7 +523,7 @@ foreach($roleclasses as $role => $roleclass) {
<th colspan="2" style="text-align: center"><?php _e('Actions') ?></th>
</tr>
</tbody>
-<tbody id="role-<?php echo $role; ?>"><?php
+<tbody id="role-<?php echo $role; ?>" class="list:user user-list"><?php
$style = '';
foreach ( (array) $roleclass as $user_object ) {
$style = ( ' class="alternate"' == $style ) ? '' : ' class="alternate"';
diff --git a/wp-admin/wp-admin.css b/wp-admin/wp-admin.css
index 2b06951..3897e79 100644
--- a/wp-admin/wp-admin.css
+++ b/wp-admin/wp-admin.css
@@ -819,6 +819,10 @@ input.delete:hover {
width: 95%;
}
+#postcustom table #addmetasub {
+ width: auto;
+}
+
#poststuff {
margin-right: 16em;
}