From: Edward Z. Yang
Date: Sat, 19 Jun 2010 09:15:44 +0000 (-0700)
Subject: Wordpress 3.0
X-Git-Tag: wordpress-3.0
X-Git-Url: https://scripts.mit.edu/gitweb/autoinstallsdev/wordpress.git/commitdiff_plain/699231ae09f7057a4d0000cdf32e50a3df6a04ca
Wordpress 3.0
Signed-off-by: Edward Z. Yang
---
diff --git a/readme.html b/readme.html
index f9b926f0..9b731ae4 100644
--- a/readme.html
+++ b/readme.html
@@ -2,90 +2,108 @@
- WordPress › ReadMe
-
+ WordPress › ReadMe
+
-
-
- Version 2.9.2
+
+
+ Version 3.0
Semantic Personal Publishing Platform
First Things First
Welcome. WordPress is a very special project to me. Every developer and contributor adds something unique to the mix, and together we create something beautiful that I'm proud to be a part of. Thousands of hours have gone into WordPress, and we're dedicated to making it better every day. Thank you for making it part of your world.
-— Matt Mullenweg
+— Matt Mullenweg
Installation: Famous 5-minute install
- Unzip the package in an empty directory.
- Open up wp-config-sample.php
with a text editor like WordPad or similar and fill in your database connection details.
- Save the file as wp-config.php
- Upload everything.
- Open /wp-admin/install.php in your browser. This should setup the tables needed for your blog. If there is an error, double check your wp-config.php file, and try again. If it fails again, please go to the support forums with as much data as you can gather.
- Note the password given to you.
- The install script should then send you to the login page . Sign in with the username admin
and the password generated during the installation. You can then click on 'Profile' to change the password.
+ Unzip the package in an empty directory and upload everything.
+ Open wp-admin/install.php in your browser. It will take you through the process to set up a wp-config.php
file with your database connection details.
+
+ If for some reason this doesn't work, don't worry. It doesn't work on all web hosts. Open up wp-config-sample.php
with a text editor like WordPad or similar and fill in your database connection details.
+ Save the file as wp-config.php
and upload it.
+ Open wp-admin/install.php in your browser.
+
+
+ Once the configuration file is set up, the installer will set up the tables needed for your blog. If there is an error, double check your wp-config.php
file, and try again. If it fails again, please go to the support forums with as much data as you can gather.
+ If you did not enter a password, note the password given to you. If you did not provide a username, it will be admin
.
+ The installer should then send you to the login page . Sign in with the username and password you chose during the installation. If a password was generated for you, you can then click on 'Profile' to change the password.
Upgrading
-Before you upgrade anything, make sure you have backup copies of any files you may have modified such as index.php
.
-Upgrading from any previous WordPress to 2.9.2:
+Using the Automatic Upgrader
+If you are upgrading from version 2.7 or higher, you can use the automatic upgrader:
- Delete your old WP files, saving ones you've modified.
+ Open the wp-admin/update-core.php in your browser and follow the instructions.
+ You wanted more, perhaps? That's it!
+
+
+Upgrading Manually
+
+ Before you upgrade anything, make sure you have backup copies of any files you may have modified such as index.php
.
+ Delete your old WordPress files, saving ones you've modified.
Upload the new files.
Point your browser to /wp-admin/upgrade.php .
- You wanted more, perhaps? That's it!
-Template Changes
-If you have customized your templates you will probably have to make some changes to them. If you're converting your 1.2 or earlier templates, we've created a special guide for you .
+
+Theme Template Changes
+If you have customized your theme templates, you may have to make some changes across major versions.
+
+Migrating from other systems
+WordPress can import from a number of systems . First you need to get WordPress installed and working as described above, before using our import tools .
+
+System Requirements
+
+ PHP version 4.3 or higher.
+ MySQL version 4.1.2 or higher.
+
+
+System Recommendations
+
Online Resources
If you have any questions that aren't addressed in this document, please take advantage of WordPress' numerous online resources:
- The WordPress Codex
+ The WordPress Codex
The Codex is the encyclopedia of all things WordPress. It is the most comprehensive source of information for WordPress available.
- The Development Blog
- This is where you'll find the latest updates and news related to WordPress. Bookmark and check often.
- WordPress Planet
+ The WordPress Blog
+ This is where you'll find the latest updates and news related to WordPress. Recent WordPress news appears in your administrative dashboard by default.
+ WordPress Planet
The WordPress Planet is a news aggregator that brings together posts from WordPress blogs around the web.
WordPress Support Forums
If you've looked everywhere and still can't find an answer, the support forums are very active and have a large community ready to help. To help them help you be sure to use a descriptive thread title and describe your question in as much detail as possible.
- WordPress IRC Channel
- Finally, there is an online chat channel that is used for discussion among people who use WordPress and occasionally support topics. The above wiki page should point you in the right direction. (irc.freenode.net #wordpress )
+ WordPress IRC Channel
+ There is an online chat channel that is used for discussion among people who use WordPress and occasionally support topics. The above wiki page should point you in the right direction. (irc.freenode.net #wordpress )
-System Recommendations
-
- PHP version 4.3 or higher.
- MySQL version 4.1.2 or higher.
- ... and a link to http://wordpress.org on your site.
-
-WordPress is the official continuation of b2/cafélog , which came from Michel V. The work has been continued by the WordPress developers . If you would like to support WordPress, please consider donating .
-
-Upgrading from another system
-WordPress can import from a number of systems . First you need to get WordPress installed and working as described above.
-
-XML-RPC and Atom Interface
-You can now post to your WordPress blog with tools like Windows Live Writer , Ecto , Bloggar , Radio Userland (which means you can use Radio's email-to-blog feature), NewzCrawler , and other tools that support the Blogging APIs! :) You can read more about XML-RPC support on the Codex .
+XML -RPC and Atom Interface
+You can post to your WordPress blog with tools like Windows Live Writer , Ecto , w.bloggar , Radio Userland (which means you can use Radio's email-to-blog feature), NewzCrawler , and other tools that support the blogging API s! :) You can read more about XML -RPC support on the Codex .
Post via Email
-You can post from an email client! To set this up go to your "Writing" options screen and fill in the connection details for your secret POP3 account. Then you need to set up wp-mail.php
to execute periodically to check the mailbox for new posts. You can do it with Cron-jobs, or if your host doesn't support it you can look into the various website-monitoring services, and make them check your wp-mail.php
URL.
+You can post from an email client! To set this up go to your "Writing" options screen and fill in the connection details for your secret POP3 account. Then you need to set up wp-mail.php
to execute periodically to check the mailbox for new posts. You can do it with cron -jobs, or if your host doesn't support it you can look into the various website-monitoring services, and make them check your wp-mail.php
URL .
Posting is easy: Any email sent to the address you specify will be posted, with the subject as the title. It is best to keep the address discrete. The script will delete emails that are successfully posted.
User Roles
-We've eliminated user levels in order to make way for the much more flexible roles system introduced in 2.0. You can read more about Roles and Capabilities on the Codex .
+We introduced a very flexible roles system in version 2.0. You can read more about Roles and Capabilities on the Codex .
- Final notes
+Final Notes
- If you have any suggestions, ideas, comments, or if you (gasp!) found a bug, join us in the Support Forums .
- WordPress now has a robust plugin API that makes extending the code easy. If you are a developer interested in utilizing this see the plugin documentation in the Codex . In most all cases you shouldn't modify any of the core code.
+ If you have any suggestions, ideas, or comments, or if you (gasp!) found a bug, join us in the Support Forums .
+ WordPress has a robust plugin API that makes extending the code easy. If you are a developer interested in utilizing this, see the plugin documentation in the Codex . You shouldn't modify any of the core code.
Share the Love
WordPress has no multi-million dollar marketing campaign or celebrity sponsors, but we do have something even better—you. If you enjoy WordPress please consider telling a friend, setting it up for someone less knowledgable than yourself, or writing the author of a media article that overlooks us.
+WordPress is the official continuation of b2/cafélog , which came from Michel V. The work has been continued by the WordPress developers . If you would like to support WordPress, please consider donating .
+
Copyright
-WordPress is released under the GPL (see license.txt ).
+WordPress is released under the GPL v2 (see license.txt ).
+
diff --git a/wp-activate.php b/wp-activate.php
new file mode 100644
index 00000000..b9e77070
--- /dev/null
+++ b/wp-activate.php
@@ -0,0 +1,104 @@
+cache_enabled = false;
+
+do_action("activate_header");
+
+function do_activate_header() {
+ do_action("activate_wp_head");
+}
+add_action( 'wp_head', 'do_activate_header' );
+
+function wpmu_activate_stylesheet() {
+ ?>
+
+
+
+
+
+
+
+
+
+ get_error_code() || 'blog_taken' == $result->get_error_code() ) {
+ $signup = $result->get_error_data();
+ ?>
+
+ ';
+ if ( $signup->domain . $signup->path == '' ) {
+ printf( __('Your account has been activated. You may now
login to the site using your chosen username of “%2$s”. Please check your email inbox at %3$s for your password and login instructions. If you do not receive an email, please check your junk or spam folder. If you still do not receive an email within an hour, you can
reset your password .'), network_site_url( 'wp-login.php', 'login' ), $signup->user_login, $signup->user_email, network_site_url( 'wp-login.php?action=lostpassword', 'login' ) );
+ } else {
+ printf( __('Your site at
%2$s is active. You may now log in to your site using your chosen username of “%3$s”. Please check your email inbox at %4$s for your password and login instructions. If you do not receive an email, please check your junk or spam folder. If you still do not receive an email within an hour, you can
reset your password .'), 'http://' . $signup->domain, $signup->domain, $signup->user_login, $signup->user_email, network_site_url( 'wp-login.php?action=lostpassword' ) );
+ }
+ echo '';
+ } else {
+ ?>
+
+ '.$result->get_error_message().'';
+ }
+ } else {
+ extract($result);
+ $url = get_blogaddress_by_id( (int) $blog_id);
+ $user = new WP_User( (int) $user_id);
+ ?>
+
+
+
+
+
+
View your site or Login '), $url, $url . 'wp-login.php' ); ?>
+
+
Login or go back to the homepage .' ), network_site_url('wp-login.php', 'login'), network_home_url() ); ?>
+
+
+
+
\ No newline at end of file
diff --git a/wp-admin/admin-ajax.php b/wp-admin/admin-ajax.php
index 5778a12e..a4ba6e1d 100644
--- a/wp-admin/admin-ajax.php
+++ b/wp-admin/admin-ajax.php
@@ -15,29 +15,34 @@ define('DOING_AJAX', true);
define('WP_ADMIN', true);
require_once('../wp-load.php');
-require_once('includes/admin.php');
+
+if ( ! isset( $_REQUEST['action'] ) )
+ die('-1');
+
+require_once('./includes/admin.php');
@header('Content-Type: text/html; charset=' . get_option('blog_charset'));
+send_nosniff_header();
do_action('admin_init');
if ( ! is_user_logged_in() ) {
- if ( $_POST['action'] == 'autosave' ) {
+ if ( isset( $_POST['action'] ) && $_POST['action'] == 'autosave' ) {
$id = isset($_POST['post_ID'])? (int) $_POST['post_ID'] : 0;
if ( ! $id )
die('-1');
- $message = sprintf( __('ALERT: You are logged out! Could not save draft. Please log in again. '), wp_login_url() );
- $x = new WP_Ajax_Response( array(
- 'what' => 'autosave',
- 'id' => $id,
- 'data' => $message
- ) );
- $x->send();
+ $message = sprintf( __('ALERT: You are logged out! Could not save draft. Please log in again. '), wp_login_url() );
+ $x = new WP_Ajax_Response( array(
+ 'what' => 'autosave',
+ 'id' => $id,
+ 'data' => $message
+ ) );
+ $x->send();
}
- if ( !empty( $_REQUEST['action']) )
+ if ( !empty( $_REQUEST['action'] ) )
do_action( 'wp_ajax_nopriv_' . $_REQUEST['action'] );
die('-1');
@@ -93,10 +98,10 @@ case 'wp-compression-test' :
} elseif ( 2 == $_GET['test'] ) {
if ( !isset($_SERVER['HTTP_ACCEPT_ENCODING']) )
die('-1');
- if ( false !== strpos( strtolower($_SERVER['HTTP_ACCEPT_ENCODING']), 'deflate') && function_exists('gzdeflate') && ! $force_gzip ) {
+ if ( false !== stripos( $_SERVER['HTTP_ACCEPT_ENCODING'], 'deflate') && function_exists('gzdeflate') && ! $force_gzip ) {
header('Content-Encoding: deflate');
$out = gzdeflate( $test_str, 1 );
- } elseif ( false !== strpos( strtolower($_SERVER['HTTP_ACCEPT_ENCODING']), 'gzip') && function_exists('gzencode') ) {
+ } elseif ( false !== stripos( $_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') && function_exists('gzencode') ) {
header('Content-Encoding: gzip');
$out = gzencode( $test_str, 1 );
} else {
@@ -121,11 +126,21 @@ case 'imgedit-preview' :
check_ajax_referer( "image_editor-$post_id" );
include_once( ABSPATH . 'wp-admin/includes/image-edit.php' );
- if ( !stream_preview_image($post_id) )
+ if ( ! stream_preview_image($post_id) )
die('-1');
die();
break;
+case 'menu-quick-search':
+ if ( ! current_user_can( 'edit_theme_options' ) )
+ die('-1');
+
+ require_once ABSPATH . 'wp-admin/includes/nav-menu.php';
+
+ _wp_ajax_menu_quick_search( $_REQUEST );
+
+ exit;
+ break;
case 'oembed-cache' :
$return = ( $wp_embed->cache_oembed( $_GET['post'] ) ) ? '1' : '0';
die( $return );
@@ -200,6 +215,84 @@ function _wp_ajax_delete_comment_response( $comment_id ) {
$x->send();
}
+function _wp_ajax_add_hierarchical_term() {
+ $action = $_POST['action'];
+ $taxonomy = get_taxonomy(substr($action, 4));
+ check_ajax_referer( $action, '_ajax_nonce-add-' . $taxonomy->name );
+ if ( !current_user_can( $taxonomy->cap->edit_terms ) )
+ die('-1');
+ $names = explode(',', $_POST['new'.$taxonomy->name]);
+ $parent = isset($_POST['new'.$taxonomy->name.'_parent']) ? (int) $_POST['new'.$taxonomy->name.'_parent'] : 0;
+ if ( 0 > $parent )
+ $parent = 0;
+ if ( $taxonomy->name == 'category' )
+ $post_category = isset($_POST['post_category']) ? (array) $_POST['post_category'] : array();
+ else
+ $post_category = ( isset($_POST['tax_input']) && isset($_POST['tax_input'][$taxonomy->name]) ) ? (array) $_POST['tax_input'][$taxonomy->name] : array();
+ $checked_categories = array_map( 'absint', (array) $post_category );
+ $popular_ids = wp_popular_terms_checklist($taxonomy->name, 0, 10, false);
+
+ foreach ( $names as $cat_name ) {
+ $cat_name = trim($cat_name);
+ $category_nicename = sanitize_title($cat_name);
+ if ( '' === $category_nicename )
+ continue;
+ if ( !($cat_id = term_exists($cat_name, $taxonomy->name, $parent)) ) {
+ $new_term = wp_insert_term($cat_name, $taxonomy->name, array('parent' => $parent));
+ $cat_id = $new_term['term_id'];
+ }
+ $checked_categories[] = $cat_id;
+ if ( $parent ) // Do these all at once in a second
+ continue;
+ $category = get_term( $cat_id, $taxonomy->name );
+ ob_start();
+ wp_terms_checklist( 0, array( 'taxonomy' => $taxonomy->name, 'descendants_and_self' => $cat_id, 'selected_cats' => $checked_categories, 'popular_cats' => $popular_ids ));
+ $data = ob_get_contents();
+ ob_end_clean();
+ $add = array(
+ 'what' => $taxonomy->name,
+ 'id' => $cat_id,
+ 'data' => str_replace( array("\n", "\t"), '', $data),
+ 'position' => -1
+ );
+ }
+
+ if ( $parent ) { // Foncy - replace the parent and all its children
+ $parent = get_term( $parent, $taxonomy->name );
+ $term_id = $parent->term_id;
+
+ while ( $parent->parent ) { // get the top parent
+ $parent = &get_term( $parent->parent, $taxonomy->name );
+ if ( is_wp_error( $parent ) )
+ break;
+ $term_id = $parent->term_id;
+ }
+
+ ob_start();
+ wp_terms_checklist( 0, array('taxonomy' => $taxonomy->name, 'descendants_and_self' => $term_id, 'selected_cats' => $checked_categories, 'popular_cats' => $popular_ids));
+ $data = ob_get_contents();
+ ob_end_clean();
+ $add = array(
+ 'what' => $taxonomy->name,
+ 'id' => $term_id,
+ 'data' => str_replace( array("\n", "\t"), '', $data),
+ 'position' => -1
+ );
+ }
+
+ ob_start();
+ wp_dropdown_categories( array(
+ 'taxonomy' => $taxonomy->name, 'hide_empty' => 0, 'name' => 'new'.$taxonomy->name.'_parent', 'orderby' => 'name',
+ 'hierarchical' => 1, 'show_option_none' => '— '.$taxonomy->labels->parent_item.' —'
+ ) );
+ $sup = ob_get_contents();
+ ob_end_clean();
+ $add['supplemental'] = array( 'newcat_parent' => $sup );
+
+ $x = new WP_Ajax_Response( $add );
+ $x->send();
+}
+
$id = isset($_POST['id'])? (int) $_POST['id'] : 0;
switch ( $action = $_POST['action'] ) :
case 'delete-comment' : // On success, die with time() instead of 1
@@ -237,27 +330,15 @@ case 'delete-comment' : // On success, die with time() instead of 1
_wp_ajax_delete_comment_response( $comment->comment_ID );
die( '0' );
break;
-case 'delete-cat' :
- check_ajax_referer( "delete-category_$id" );
- if ( !current_user_can( 'manage_categories' ) )
- die('-1');
-
- $cat = get_category( $id );
- if ( !$cat || is_wp_error( $cat ) )
- die('1');
-
- if ( wp_delete_category( $id ) )
- die('1');
- else
- die('0');
- break;
case 'delete-tag' :
$tag_id = (int) $_POST['tag_ID'];
check_ajax_referer( "delete-tag_$tag_id" );
- if ( !current_user_can( 'manage_categories' ) )
- die('-1');
$taxonomy = !empty($_POST['taxonomy']) ? $_POST['taxonomy'] : 'post_tag';
+ $tax = get_taxonomy($taxonomy);
+
+ if ( !current_user_can( $tax->cap->delete_terms ) )
+ die('-1');
$tag = get_term( $tag_id, $taxonomy );
if ( !$tag || is_wp_error( $tag ) )
@@ -409,70 +490,6 @@ case 'dim-comment' : // On success, die with time() instead of 1
_wp_ajax_delete_comment_response( $comment->comment_ID );
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']);
- if ( 0 > $parent = (int) $_POST['newcat_parent'] )
- $parent = 0;
- $post_category = isset($_POST['post_category'])? (array) $_POST['post_category'] : array();
- $checked_categories = array_map( 'absint', (array) $post_category );
- $popular_ids = wp_popular_terms_checklist('category', 0, 10, false);
-
- foreach ( $names as $cat_name ) {
- $cat_name = trim($cat_name);
- $category_nicename = sanitize_title($cat_name);
- if ( '' === $category_nicename )
- continue;
- $cat_id = wp_create_category( $cat_name, $parent );
- $checked_categories[] = $cat_id;
- if ( $parent ) // Do these all at once in a second
- continue;
- $category = get_category( $cat_id );
- ob_start();
- wp_category_checklist( 0, $cat_id, $checked_categories, $popular_ids );
- $data = ob_get_contents();
- ob_end_clean();
- $add = array(
- 'what' => 'category',
- 'id' => $cat_id,
- 'data' => str_replace( array("\n", "\t"), '', $data),
- 'position' => -1
- );
- }
- if ( $parent ) { // Foncy - replace the parent and all its children
- $parent = get_category( $parent );
- $term_id = $parent->term_id;
-
- while ( $parent->parent ) { // get the top parent
- $parent = &get_category( $parent->parent );
- if ( is_wp_error( $parent ) )
- break;
- $term_id = $parent->term_id;
- }
-
- ob_start();
- wp_category_checklist( 0, $term_id, $checked_categories, $popular_ids, null, false );
- $data = ob_get_contents();
- ob_end_clean();
- $add = array(
- 'what' => 'category',
- 'id' => $term_id,
- 'data' => str_replace( array("\n", "\t"), '', $data),
- 'position' => -1
- );
- }
-
- ob_start();
- wp_dropdown_categories( array( 'hide_empty' => 0, 'name' => 'newcat_parent', 'orderby' => 'name', 'hierarchical' => 1, 'show_option_none' => __('Parent category') ) );
- $sup = ob_get_contents();
- ob_end_clean();
- $add['supplemental'] = array( 'newcat_parent' => $sup );
-
- $x = new WP_Ajax_Response( $add );
- $x->send();
- break;
case 'add-link-category' : // On the Fly
check_ajax_referer( $action );
if ( !current_user_can( 'manage_categories' ) )
@@ -484,7 +501,7 @@ case 'add-link-category' : // On the Fly
$slug = sanitize_title($cat_name);
if ( '' === $slug )
continue;
- if ( !$cat_id = is_term( $cat_name, 'link_category' ) ) {
+ if ( !$cat_id = term_exists( $cat_name, 'link_category' ) ) {
$cat_id = wp_insert_term( $cat_name, 'link_category' );
}
$cat_id = $cat_id['term_id'];
@@ -498,59 +515,6 @@ case 'add-link-category' : // On the Fly
}
$x->send();
break;
-case 'add-cat' : // From Manage->Categories
- check_ajax_referer( 'add-category' );
- if ( !current_user_can( 'manage_categories' ) )
- die('-1');
-
- if ( '' === trim($_POST['cat_name']) ) {
- $x = new WP_Ajax_Response( array(
- 'what' => 'cat',
- 'id' => new WP_Error( 'cat_name', __('You did not enter a category name.') )
- ) );
- $x->send();
- }
-
- if ( category_exists( trim( $_POST['cat_name'] ), $_POST['category_parent'] ) ) {
- $x = new WP_Ajax_Response( array(
- 'what' => 'cat',
- 'id' => new WP_Error( 'cat_exists', __('The category you are trying to create already exists.'), array( 'form-field' => 'cat_name' ) ),
- ) );
- $x->send();
- }
-
- $cat = wp_insert_category( $_POST, true );
-
- if ( is_wp_error($cat) ) {
- $x = new WP_Ajax_Response( array(
- 'what' => 'cat',
- 'id' => $cat
- ) );
- $x->send();
- }
-
- if ( !$cat || (!$cat = get_category( $cat )) )
- die('0');
-
- $level = 0;
- $cat_full_name = $cat->name;
- $_cat = $cat;
- while ( $_cat->parent ) {
- $_cat = get_category( $_cat->parent );
- $cat_full_name = $_cat->name . ' — ' . $cat_full_name;
- $level++;
- }
- $cat_full_name = esc_attr($cat_full_name);
-
- $x = new WP_Ajax_Response( array(
- 'what' => 'cat',
- 'id' => $cat->term_id,
- 'position' => -1,
- 'data' => _cat_row( $cat, $level, $cat_full_name ),
- 'supplemental' => array('name' => $cat_full_name, 'show-link' => sprintf(__( 'Category %s added' ), "cat-$cat->term_id", $cat_full_name))
- ) );
- $x->send();
- break;
case 'add-link-cat' : // From Blogroll -> Categories
check_ajax_referer( 'add-link-category' );
if ( !current_user_can( 'manage_categories' ) )
@@ -588,19 +552,57 @@ case 'add-link-cat' : // From Blogroll -> Categories
break;
case 'add-tag' : // From Manage->Tags
check_ajax_referer( 'add-tag' );
- if ( !current_user_can( 'manage_categories' ) )
- die('-1');
$taxonomy = !empty($_POST['taxonomy']) ? $_POST['taxonomy'] : 'post_tag';
+ $tax = get_taxonomy($taxonomy);
+
+ $x = new WP_Ajax_Response();
+
+ if ( !current_user_can( $tax->cap->edit_terms ) )
+ die('-1');
+
$tag = wp_insert_term($_POST['tag-name'], $taxonomy, $_POST );
if ( !$tag || is_wp_error($tag) || (!$tag = get_term( $tag['term_id'], $taxonomy )) ) {
- echo '' . __('An error has occured. Please reload the page and try again.') . '
';
- exit;
+ $message = __('An error has occured. Please reload the page and try again.');
+ if ( is_wp_error($tag) && $tag->get_error_message() )
+ $message = $tag->get_error_message();
+
+ $x->add( array(
+ 'what' => 'taxonomy',
+ 'data' => new WP_Error('error', $message )
+ ) );
+ $x->send();
}
- echo _tag_row( $tag, '', $taxonomy );
- exit;
+ if ( isset($_POST['screen']) )
+ set_current_screen($_POST['screen']);
+
+ $level = 0;
+ $tag_full_name = false;
+ $tag_full_name = $tag->name;
+ if ( is_taxonomy_hierarchical($taxonomy) ) {
+ $_tag = $tag;
+ while ( $_tag->parent ) {
+ $_tag = get_term( $_tag->parent, $taxonomy );
+ $tag_full_name = $_tag->name . ' — ' . $tag_full_name;
+ $level++;
+ }
+ $noparents = _tag_row( $tag, $level, $taxonomy );
+ }
+ $tag->name = $tag_full_name;
+ $parents = _tag_row( $tag, 0, $taxonomy);
+
+ $x->add( array(
+ 'what' => 'taxonomy',
+ 'supplemental' => compact('parents', 'noparents')
+ ) );
+ $x->add( array(
+ 'what' => 'term',
+ 'position' => $level,
+ 'supplemental' => get_term( $tag->term_id, $taxonomy, ARRAY_A ) //Refetch as $tag has been contaminated by the full name.
+ ) );
+ $x->send();
break;
case 'get-tagcloud' :
if ( !current_user_can( 'edit_posts' ) )
@@ -613,8 +615,10 @@ case 'get-tagcloud' :
$tags = get_terms( $taxonomy, array( 'number' => 45, 'orderby' => 'count', 'order' => 'DESC' ) );
- if ( empty( $tags ) )
- die( __('No tags found!') );
+ if ( empty( $tags ) ) {
+ $tax = get_taxonomy( $taxonomy );
+ die( isset( $tax->no_tagcloud ) ? $tax->no_tagcloud : __('No tags found!') );
+ }
if ( is_wp_error($tags) )
die($tags->get_error_message());
@@ -701,7 +705,7 @@ case 'get-comments' :
$x->send();
break;
case 'replyto-comment' :
- check_ajax_referer( $action );
+ check_ajax_referer( $action, '_ajax_nonce-replyto-comment' );
$comment_post_ID = (int) $_POST['comment_post_ID'];
if ( !current_user_can( 'edit_post', $comment_post_ID ) )
@@ -770,7 +774,7 @@ case 'replyto-comment' :
$x->send();
break;
case 'edit-comment' :
- check_ajax_referer( 'replyto-comment' );
+ check_ajax_referer( 'replyto-comment', '_ajax_nonce-replyto-comment' );
$comment_post_ID = (int) $_POST['comment_post_ID'];
if ( ! current_user_can( 'edit_post', $comment_post_ID ) )
@@ -807,20 +811,60 @@ case 'edit-comment' :
$x->send();
break;
+case 'add-menu-item' :
+ if ( ! current_user_can( 'edit_theme_options' ) )
+ die('-1');
+
+ check_ajax_referer( 'add-menu_item', 'menu-settings-column-nonce' );
+
+ require_once ABSPATH . 'wp-admin/includes/nav-menu.php';
+
+ $item_ids = wp_save_nav_menu_items( 0, $_POST['menu-item'] );
+ if ( is_wp_error( $item_ids ) )
+ die('-1');
+
+ foreach ( (array) $item_ids as $menu_item_id ) {
+ $menu_obj = get_post( $menu_item_id );
+ if ( ! empty( $menu_obj->ID ) ) {
+ $menu_obj = wp_setup_nav_menu_item( $menu_obj );
+ $menu_obj->label = $menu_obj->title; // don't show "(pending)" in ajax-added items
+ $menu_items[] = $menu_obj;
+ }
+ }
+
+ if ( ! empty( $menu_items ) ) {
+ $args = array(
+ 'after' => '',
+ 'before' => '',
+ 'link_after' => '',
+ 'link_before' => '',
+ 'walker' => new Walker_Nav_Menu_Edit,
+ );
+ echo walk_nav_menu_tree( $menu_items, 0, (object) $args );
+ }
+ break;
case 'add-meta' :
- check_ajax_referer( 'add-meta' );
+ check_ajax_referer( 'add-meta', '_ajax_nonce-add-meta' );
$c = 0;
$pid = (int) $_POST['post_id'];
+ $post = get_post( $pid );
+
if ( isset($_POST['metakeyselect']) || isset($_POST['metakeyinput']) ) {
if ( !current_user_can( 'edit_post', $pid ) )
die('-1');
if ( isset($_POST['metakeyselect']) && '#NONE#' == $_POST['metakeyselect'] && empty($_POST['metakeyinput']) )
die('1');
- if ( $pid < 0 ) {
+ if ( $post->post_status == 'auto-draft' ) {
+ $save_POST = $_POST; // Backup $_POST
+ $_POST = array(); // Make it empty for edit_post()
+ $_POST['action'] = 'draft'; // Warning fix
+ $_POST['post_ID'] = $pid;
+ $_POST['post_type'] = $post->post_type;
+ $_POST['post_status'] = 'draft';
$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))
- ) ) ) {
+ $_POST['post_title'] = sprintf('Draft created on %s at %s', date(get_option('date_format'), $now), date(get_option('time_format'), $now));
+
+ if ( $pid = edit_post() ) {
if ( is_wp_error( $pid ) ) {
$x = new WP_Ajax_Response( array(
'what' => 'meta',
@@ -828,6 +872,7 @@ case 'add-meta' :
) );
$x->send();
}
+ $_POST = $save_POST; // Now we can restore original $_POST again
if ( !$mid = add_meta( $pid ) )
die(__('Please provide a custom field value.'));
} else {
@@ -847,15 +892,19 @@ case 'add-meta' :
'position' => 1,
'supplemental' => array('postid' => $pid)
) );
- } else {
+ } else { // Update?
$mid = (int) array_pop(array_keys($_POST['meta']));
$key = $_POST['meta'][$mid]['key'];
$value = $_POST['meta'][$mid]['value'];
+ if ( '' == trim($key) )
+ die(__('Please provide a custom field name.'));
+ if ( '' == trim($value) )
+ die(__('Please provide a custom field 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 ( $meta->meta_value != stripslashes($value) ) {
+ if ( $meta->meta_value != stripslashes($value) || $meta->meta_key != stripslashes($key) ) {
if ( !$u = update_meta( $mid, $key, $value ) )
die('0'); // We know meta exists; we also know it's unchanged (or DB error, in which case there are bigger problems).
}
@@ -910,7 +959,7 @@ case 'autosave' : // The name of this action is hardcoded in edit_post()
global $current_user;
$_POST['post_category'] = explode(",", $_POST['catslist']);
- if($_POST['post_type'] == 'page' || empty($_POST['post_category']))
+ if ( $_POST['post_type'] == 'page' || empty($_POST['post_category']) )
unset($_POST['post_category']);
$do_autosave = (bool) $_POST['autosave'];
@@ -919,64 +968,62 @@ case 'autosave' : // The name of this action is hardcoded in edit_post()
$data = '';
/* translators: draft saved date format, see http://php.net/date */
$draft_saved_date_format = __('g:i:s a');
- $message = sprintf( __('Draft Saved at %s.'), date_i18n( $draft_saved_date_format ) );
+ /* translators: %s: date and time */
+ $message = sprintf( __('Draft saved at %s.'), date_i18n( $draft_saved_date_format ) );
$supplemental = array();
if ( isset($login_grace_period) )
$supplemental['session_expired'] = add_query_arg( 'interim-login', 1, wp_login_url() );
$id = $revision_id = 0;
- if($_POST['post_ID'] < 0) {
+
+ $post_ID = (int) $_POST['post_ID'];
+ $_POST['ID'] = $post_ID;
+ $post = get_post($post_ID);
+ if ( 'auto-draft' == $post->post_status )
$_POST['post_status'] = 'draft';
- $_POST['temp_ID'] = $_POST['post_ID'];
- if ( $do_autosave ) {
- $id = wp_write_post();
- $data = $message;
- }
- } else {
- $post_ID = (int) $_POST['post_ID'];
- $_POST['ID'] = $post_ID;
- $post = get_post($post_ID);
- if ( $last = wp_check_post_lock( $post->ID ) ) {
- $do_autosave = $do_lock = false;
+ if ( $last = wp_check_post_lock( $post->ID ) ) {
+ $do_autosave = $do_lock = false;
- $last_user = get_userdata( $last );
- $last_user_name = $last_user ? $last_user->display_name : __( 'Someone' );
- $data = new WP_Error( 'locked', sprintf(
- $_POST['post_type'] == 'page' ? __( 'Autosave disabled: %s is currently editing this page.' ) : __( 'Autosave disabled: %s is currently editing this post.' ),
- esc_html( $last_user_name )
- ) );
+ $last_user = get_userdata( $last );
+ $last_user_name = $last_user ? $last_user->display_name : __( 'Someone' );
+ $data = new WP_Error( 'locked', sprintf(
+ $_POST['post_type'] == 'page' ? __( 'Autosave disabled: %s is currently editing this page.' ) : __( 'Autosave disabled: %s is currently editing this post.' ),
+ esc_html( $last_user_name )
+ ) );
- $supplemental['disable_autosave'] = 'disable';
- }
+ $supplemental['disable_autosave'] = 'disable';
+ }
- if ( 'page' == $post->post_type ) {
- if ( !current_user_can('edit_page', $post_ID) )
- die(__('You are not allowed to edit this page.'));
- } else {
- if ( !current_user_can('edit_post', $post_ID) )
- die(__('You are not allowed to edit this post.'));
- }
+ if ( 'page' == $post->post_type ) {
+ if ( !current_user_can('edit_page', $post_ID) )
+ die(__('You are not allowed to edit this page.'));
+ } else {
+ if ( !current_user_can('edit_post', $post_ID) )
+ die(__('You are not allowed to edit this post.'));
+ }
- if ( $do_autosave ) {
- // Drafts are just overwritten by autosave
- if ( 'draft' == $post->post_status ) {
- $id = edit_post();
- } else { // Non drafts are not overwritten. The autosave is stored in a special post revision.
- $revision_id = wp_create_post_autosave( $post->ID );
- if ( is_wp_error($revision_id) )
- $id = $revision_id;
- else
- $id = $post->ID;
- }
- $data = $message;
- } else {
- $id = $post->ID;
+ if ( $do_autosave ) {
+ // Drafts and auto-drafts are just overwritten by autosave
+ if ( 'auto-draft' == $post->post_status || 'draft' == $post->post_status ) {
+ $id = edit_post();
+ } else { // Non drafts are not overwritten. The autosave is stored in a special post revision.
+ $revision_id = wp_create_post_autosave( $post->ID );
+ if ( is_wp_error($revision_id) )
+ $id = $revision_id;
+ else
+ $id = $post->ID;
}
+ $data = $message;
+ } else {
+ if ( isset( $_POST['auto_draft'] ) && '1' == $_POST['auto_draft'] )
+ $id = 0; // This tells us it didn't actually save
+ else
+ $id = $post->ID;
}
- if ( $do_lock && $id && is_numeric($id) )
+ if ( $do_lock && ( isset( $_POST['auto_draft'] ) && ( $_POST['auto_draft'] != '1' ) ) && $id && is_numeric($id) )
wp_set_post_lock( $id );
if ( $nonce_age == 2 ) {
@@ -1000,21 +1047,14 @@ case 'autosave' : // The name of this action is hardcoded in edit_post()
) );
$x->send();
break;
-case 'autosave-generate-nonces' :
- check_ajax_referer( 'autosave', 'autosavenonce' );
- $ID = (int) $_POST['post_ID'];
- $post_type = ( 'page' == $_POST['post_type'] ) ? 'page' : 'post';
- if ( current_user_can( "edit_{$post_type}", $ID ) )
- die( json_encode( array( 'updateNonce' => wp_create_nonce( "update-{$post_type}_{$ID}" ), 'deleteURL' => str_replace( '&', '&', wp_nonce_url( admin_url( $post_type . '.php?action=trash&post=' . $ID ), "trash-{$post_type}_{$ID}" ) ) ) ) );
- do_action('autosave_generate_nonces');
- die('0');
-break;
case 'closed-postboxes' :
check_ajax_referer( 'closedpostboxes', 'closedpostboxesnonce' );
- $closed = isset( $_POST['closed'] ) ? $_POST['closed'] : '';
- $closed = explode( ',', $_POST['closed'] );
- $hidden = isset( $_POST['hidden'] ) ? $_POST['hidden'] : '';
- $hidden = explode( ',', $_POST['hidden'] );
+ $closed = isset( $_POST['closed'] ) ? explode( ',', $_POST['closed']) : array();
+ $closed = array_filter($closed);
+
+ $hidden = isset( $_POST['hidden'] ) ? explode( ',', $_POST['hidden']) : array();
+ $hidden = array_filter($hidden);
+
$page = isset( $_POST['page'] ) ? $_POST['page'] : '';
if ( !preg_match( '/^[a-z_-]+$/', $page ) )
@@ -1024,11 +1064,11 @@ case 'closed-postboxes' :
die('-1');
if ( is_array($closed) )
- update_usermeta($user->ID, 'closedpostboxes_'.$page, $closed);
+ update_user_option($user->ID, "closedpostboxes_$page", $closed, true);
if ( is_array($hidden) ) {
- $hidden = array_diff( $hidden, array('submitdiv', 'linksubmitdiv') ); // postboxes that are always shown
- update_usermeta($user->ID, 'meta-box-hidden_'.$page, $hidden);
+ $hidden = array_diff( $hidden, array('submitdiv', 'linksubmitdiv', 'manage-menu', 'create-menu') ); // postboxes that are always shown
+ update_user_option($user->ID, "metaboxhidden_$page", $hidden, true);
}
die('1');
@@ -1046,8 +1086,66 @@ case 'hidden-columns' :
die('-1');
if ( is_array($hidden) )
- update_usermeta($user->ID, "manage-$page-columns-hidden", $hidden);
+ update_user_option($user->ID, "manage{$page}columnshidden", $hidden, true);
+
+ die('1');
+ break;
+case 'menu-get-metabox' :
+ if ( ! current_user_can( 'edit_theme_options' ) )
+ die('-1');
+
+ require_once ABSPATH . 'wp-admin/includes/nav-menu.php';
+
+ if ( isset( $_POST['item-type'] ) && 'post_type' == $_POST['item-type'] ) {
+ $type = 'posttype';
+ $callback = 'wp_nav_menu_item_post_type_meta_box';
+ $items = (array) get_post_types( array( 'show_in_nav_menus' => true ), 'object' );
+ } elseif ( isset( $_POST['item-type'] ) && 'taxonomy' == $_POST['item-type'] ) {
+ $type = 'taxonomy';
+ $callback = 'wp_nav_menu_item_taxonomy_meta_box';
+ $items = (array) get_taxonomies( array( 'show_ui' => true ), 'object' );
+ }
+
+ if ( ! empty( $_POST['item-object'] ) && isset( $items[$_POST['item-object']] ) ) {
+ $item = apply_filters( 'nav_menu_meta_box_object', $items[ $_POST['item-object'] ] );
+ ob_start();
+ call_user_func_array($callback, array(
+ null,
+ array(
+ 'id' => 'add-' . $item->name,
+ 'title' => $item->labels->name,
+ 'callback' => $callback,
+ 'args' => $item,
+ )
+ ));
+
+ $markup = ob_get_clean();
+
+ echo json_encode(array(
+ 'replace-id' => $type . '-' . $item->name,
+ 'markup' => $markup,
+ ));
+ }
+
+ exit;
+ break;
+case 'menu-quick-search':
+ if ( ! current_user_can( 'edit_theme_options' ) )
+ die('-1');
+
+ require_once ABSPATH . 'wp-admin/includes/nav-menu.php';
+ _wp_ajax_menu_quick_search( $_REQUEST );
+
+ exit;
+ break;
+case 'menu-locations-save':
+ if ( ! current_user_can( 'edit_theme_options' ) )
+ die('-1');
+ check_ajax_referer( 'add-menu_item', 'menu-settings-column-nonce' );
+ if ( ! isset( $_POST['menu-locations'] ) )
+ die('0');
+ set_theme_mod( 'nav_menu_locations', $_POST['menu-locations'] );
die('1');
break;
case 'meta-box-order':
@@ -1063,10 +1161,10 @@ case 'meta-box-order':
die('-1');
if ( $order )
- update_user_option($user->ID, "meta-box-order_$page", $order);
+ update_user_option($user->ID, "meta-box-order_$page", $order, true);
if ( $page_columns )
- update_usermeta($user->ID, "screen_layout_$page", $page_columns);
+ update_user_option($user->ID, "screen_layout_$page", $page_columns, true);
die('1');
break;
@@ -1079,7 +1177,7 @@ case 'sample-permalink':
check_ajax_referer( 'samplepermalink', 'samplepermalinknonce' );
$post_id = isset($_POST['post_id'])? intval($_POST['post_id']) : 0;
$title = isset($_POST['new_title'])? $_POST['new_title'] : '';
- $slug = isset($_POST['new_slug'])? $_POST['new_slug'] : '';
+ $slug = isset($_POST['new_slug'])? $_POST['new_slug'] : null;
die(get_sample_permalink_html($post_id, $title, $slug));
break;
case 'inline-save':
@@ -1096,6 +1194,9 @@ case 'inline-save':
die( __('You are not allowed to edit this post.') );
}
+ if ( isset($_POST['screen']) )
+ set_current_screen($_POST['screen']);
+
if ( $last = wp_check_post_lock( $post_ID ) ) {
$last_user = get_userdata( $last );
$last_user_name = $last_user ? $last_user->display_name : __( 'Someone' );
@@ -1135,7 +1236,7 @@ case 'inline-save':
if ( 'page' == $_POST['post_type'] ) {
$post[] = get_post($_POST['post_ID']);
page_rows($post);
- } elseif ( 'post' == $_POST['post_type'] ) {
+ } elseif ( 'post' == $_POST['post_type'] || in_array($_POST['post_type'], get_post_types( array('public' => true) ) ) ) {
$mode = $_POST['post_view'];
$post[] = get_post($_POST['post_ID']);
post_rows($post);
@@ -1146,32 +1247,18 @@ case 'inline-save':
case 'inline-save-tax':
check_ajax_referer( 'taxinlineeditnonce', '_inline_edit' );
- if ( ! current_user_can('manage_categories') )
+ $taxonomy = !empty($_POST['taxonomy']) ? $_POST['taxonomy'] : false;
+ if ( ! $taxonomy )
+ die( __('Cheatin’ uh?') );
+ $tax = get_taxonomy($taxonomy);
+
+ if ( ! current_user_can( $tax->cap->edit_terms ) )
die( __('Cheatin’ uh?') );
if ( ! isset($_POST['tax_ID']) || ! ( $id = (int) $_POST['tax_ID'] ) )
die(-1);
switch ($_POST['tax_type']) {
- case 'cat' :
- $data = array();
- $data['cat_ID'] = $id;
- $data['cat_name'] = $_POST['name'];
- $data['category_nicename'] = $_POST['slug'];
- if ( isset($_POST['parent']) && (int) $_POST['parent'] > 0 )
- $data['category_parent'] = $_POST['parent'];
-
- $cat = get_category($id, ARRAY_A);
- $data['category_description'] = $cat['category_description'];
-
- $updated = wp_update_category($data);
-
- if ( $updated && !is_wp_error($updated) )
- echo _cat_row( $updated, 0 );
- else
- die( __('Category not updated.') );
-
- break;
case 'link-cat' :
$updated = wp_update_term($id, 'link_category', $_POST);
@@ -1190,12 +1277,19 @@ case 'inline-save-tax':
$updated = wp_update_term($id, $taxonomy, $_POST);
if ( $updated && !is_wp_error($updated) ) {
$tag = get_term( $updated['term_id'], $taxonomy );
- if ( !$tag || is_wp_error( $tag ) )
- die( __('Tag not updated.') );
+ if ( !$tag || is_wp_error( $tag ) ) {
+ if ( is_wp_error($tag) && $tag->get_error_message() )
+ die( $tag->get_error_message() );
+ die( __('Item not updated.') );
+ }
+
+ set_current_screen( 'edit-' . $taxonomy );
- echo _tag_row($tag, '', $taxonomy);
+ echo _tag_row($tag, 0, $taxonomy);
} else {
- die( __('Tag not updated.') );
+ if ( is_wp_error($updated) && $updated->get_error_message() )
+ die( $updated->get_error_message() );
+ die( __('Item not updated.') );
}
break;
@@ -1209,7 +1303,11 @@ case 'find_posts':
if ( empty($_POST['ps']) )
exit;
- $what = isset($_POST['pages']) ? 'page' : 'post';
+ if ( !empty($_POST['post_type']) && in_array( $_POST['post_type'], get_post_types() ) )
+ $what = $_POST['post_type'];
+ else
+ $what = 'post';
+
$s = stripslashes($_POST['ps']);
preg_match_all('/".*?("|$)|((?<=[\\s",+])|^)[^\\s",+]+/', $s, $matches);
$search_terms = array_map('_search_terms_tidy', $matches[0]);
@@ -1226,8 +1324,10 @@ case 'find_posts':
$posts = $wpdb->get_results( "SELECT ID, post_title, post_status, post_date FROM $wpdb->posts WHERE post_type = '$what' AND post_status IN ('draft', 'publish') AND ($search) ORDER BY post_date_gmt DESC LIMIT 50" );
- if ( ! $posts )
- exit( __('No posts found.') );
+ if ( ! $posts ) {
+ $posttype = get_post_type_object($what);
+ exit($posttype->labels->not_found);
+ }
$html = ''.__('Title').' '.__('Date').' '.__('Status').' ';
foreach ( $posts as $post ) {
@@ -1284,7 +1384,7 @@ case 'lj-importer' :
case 'widgets-order' :
check_ajax_referer( 'save-sidebar-widgets', 'savewidgets' );
- if ( !current_user_can('switch_themes') )
+ if ( !current_user_can('edit_theme_options') )
die('-1');
unset( $_POST['savewidgets'], $_POST['action'] );
@@ -1314,7 +1414,7 @@ case 'widgets-order' :
case 'save-widget' :
check_ajax_referer( 'save-sidebar-widgets', 'savewidgets' );
- if ( !current_user_can('switch_themes') || !isset($_POST['id_base']) )
+ if ( !current_user_can('edit_theme_options') || !isset($_POST['id_base']) )
die('-1');
unset( $_POST['savewidgets'], $_POST['action'] );
@@ -1406,24 +1506,27 @@ case 'image-editor':
die();
break;
case 'set-post-thumbnail':
- $post_id = intval( $_POST['post_id'] );
- if ( !current_user_can( 'edit_post', $post_id ) )
+ $post_ID = intval( $_POST['post_id'] );
+ if ( !current_user_can( 'edit_post', $post_ID ) )
die( '-1' );
$thumbnail_id = intval( $_POST['thumbnail_id'] );
+ check_ajax_referer( "set_post_thumbnail-$post_ID" );
+
if ( $thumbnail_id == '-1' ) {
- delete_post_meta( $post_id, '_thumbnail_id' );
+ delete_post_meta( $post_ID, '_thumbnail_id' );
die( _wp_post_thumbnail_html() );
}
if ( $thumbnail_id && get_post( $thumbnail_id ) ) {
$thumbnail_html = wp_get_attachment_image( $thumbnail_id, 'thumbnail' );
if ( !empty( $thumbnail_html ) ) {
- update_post_meta( $post_id, '_thumbnail_id', $thumbnail_id );
+ update_post_meta( $post_ID, '_thumbnail_id', $thumbnail_id );
die( _wp_post_thumbnail_html( $thumbnail_id ) );
}
}
die( '0' );
+ break;
default :
do_action( 'wp_ajax_' . $_POST['action'] );
die('0');
diff --git a/wp-admin/admin-footer.php b/wp-admin/admin-footer.php
index a43a4e45..c43ef2e8 100644
--- a/wp-admin/admin-footer.php
+++ b/wp-admin/admin-footer.php
@@ -22,14 +22,13 @@ do_action( 'in_admin_footer' );
$upgrade = apply_filters( 'update_footer', '' );
echo apply_filters( 'admin_footer_text', ' | '.__('Documentation ').' | '.__('Feedback ') ); ?>
-
@@ -90,6 +94,7 @@ if ( '' == $blog_name ) {
if ( $blog_name != $blog_name_excerpt )
$blog_name_excerpt = trim($blog_name_excerpt) . '…';
$blog_name = $blog_name_excerpt;
+ unset($blog_name_excerpt);
}
$title_class = '';
if ( function_exists('mb_strlen') ) {
@@ -101,28 +106,52 @@ if ( function_exists('mb_strlen') ) {
}
?>
- >
+
+>
+
+
+
+
+
+
+
+
+
-
%2$s'), 'profile.php', $user_identity) ?>
- | |
-
+
%2$s'), 'profile.php', $user_identity);
+$links[15] = '| ' . __('Log Out') . ' ';
+
+$links = apply_filters('admin_user_info_links', $links, $current_user);
+ksort($links);
+
+echo implode(' ', $links);
+?>
-
+
-
+parent_file = $parent_file;
+$current_screen->parent_base = preg_replace('/\?.*$/', '', $parent_file);
+$current_screen->parent_base = str_replace('.php', '', $current_screen->parent_base);
+?>
flush_rules();
@@ -30,8 +30,25 @@ if ( get_option('db_upgraded') ) {
*/
do_action('after_db_upgrade');
} elseif ( get_option('db_version') != $wp_db_version ) {
- wp_redirect(admin_url('upgrade.php?_wp_http_referer=' . urlencode(stripslashes($_SERVER['REQUEST_URI']))));
- exit;
+ if ( !is_multisite() ) {
+ wp_redirect(admin_url('upgrade.php?_wp_http_referer=' . urlencode(stripslashes($_SERVER['REQUEST_URI']))));
+ exit;
+ } elseif ( apply_filters( 'do_mu_upgrade', true ) ) {
+ /**
+ * On really small MU installs run the upgrader every time,
+ * else run it less often to reduce load.
+ *
+ * @since 2.8.4b
+ */
+ $c = get_blog_count();
+ if ( $c <= 50 || ( $c > 50 && mt_rand( 0, (int)( $c / 50 ) ) == 1 ) ) {
+ require_once( ABSPATH . WPINC . '/http.php' );
+ $response = wp_remote_get( admin_url( 'upgrade.php?step=1' ), array( 'timeout' => 120, 'httpversion' => '1.1' ) );
+ do_action( 'after_mu_upgrade', $response );
+ unset($response);
+ }
+ unset($c);
+ }
}
require_once(ABSPATH . 'wp-admin/includes/admin.php');
@@ -48,32 +65,44 @@ if ( !wp_next_scheduled('wp_scheduled_delete') && !defined('WP_INSTALLING') )
set_screen_options();
-$posts_per_page = get_option('posts_per_page');
$date_format = get_option('date_format');
$time_format = get_option('time_format');
wp_reset_vars(array('profile', 'redirect', 'redirect_url', 'a', 'text', 'trackback', 'pingback'));
-wp_admin_css_color('classic', __('Blue'), admin_url("css/colors-classic.css"), array('#073447', '#21759B', '#EAF3FA', '#BBD8E7'));
-wp_admin_css_color('fresh', __('Gray'), admin_url("css/colors-fresh.css"), array('#464646', '#6D6D6D', '#F1F1F1', '#DFDFDF'));
-
wp_enqueue_script( 'common' );
wp_enqueue_script( 'jquery-color' );
$editing = false;
-if (isset($_GET['page'])) {
+if ( isset($_GET['page']) ) {
$plugin_page = stripslashes($_GET['page']);
$plugin_page = plugin_basename($plugin_page);
}
+if ( isset($_GET['post_type']) )
+ $typenow = sanitize_key($_GET['post_type']);
+else
+ $typenow = '';
+
+if ( isset($_GET['taxonomy']) )
+ $taxnow = sanitize_key($_GET['taxonomy']);
+else
+ $taxnow = '';
+
require(ABSPATH . 'wp-admin/menu.php');
+if ( current_user_can( 'manage_options' ) )
+ @ini_set( 'memory_limit', apply_filters( 'admin_memory_limit', '256M' ) );
+
do_action('admin_init');
-// Handle plugin admin pages.
-if (isset($plugin_page)) {
- if( ! $page_hook = get_plugin_page_hook($plugin_page, $pagenow) ) {
+if ( isset($plugin_page) ) {
+ if ( !empty($typenow) )
+ $the_parent = $pagenow . '?post_type=' . $typenow;
+ else
+ $the_parent = $pagenow;
+ if ( ! $page_hook = get_plugin_page_hook($plugin_page, $the_parent) ) {
$page_hook = get_plugin_page_hook($plugin_page, $plugin_page);
// backwards compatibility for plugins using add_management_page
if ( empty( $page_hook ) && 'edit.php' == $pagenow && '' != get_plugin_page_hook($plugin_page, 'tools.php') ) {
@@ -86,7 +115,21 @@ if (isset($plugin_page)) {
exit;
}
}
+ unset($the_parent);
+}
+
+$hook_suffix = '';
+if ( isset($page_hook) )
+ $hook_suffix = $page_hook;
+else if ( isset($plugin_page) )
+ $hook_suffix = $plugin_page;
+else if ( isset($pagenow) )
+ $hook_suffix = $pagenow;
+
+set_current_screen();
+// Handle plugin admin pages.
+if ( isset($plugin_page) ) {
if ( $page_hook ) {
do_action('load-' . $page_hook);
if (! isset($_GET['noheader']))
@@ -94,19 +137,22 @@ if (isset($plugin_page)) {
do_action($page_hook);
} else {
- if ( validate_file($plugin_page) ) {
+ if ( validate_file($plugin_page) )
wp_die(__('Invalid plugin page'));
- }
- if (! ( file_exists(WP_PLUGIN_DIR . "/$plugin_page") && is_file(WP_PLUGIN_DIR . "/$plugin_page") ) )
+
+ if ( !( file_exists(WP_PLUGIN_DIR . "/$plugin_page") && is_file(WP_PLUGIN_DIR . "/$plugin_page") ) && !( file_exists(WPMU_PLUGIN_DIR . "/$plugin_page") && is_file(WPMU_PLUGIN_DIR . "/$plugin_page") ) )
wp_die(sprintf(__('Cannot load %s.'), htmlentities($plugin_page)));
do_action('load-' . $plugin_page);
- if (! isset($_GET['noheader']))
+ if ( !isset($_GET['noheader']))
require_once(ABSPATH . 'wp-admin/admin-header.php');
- include(WP_PLUGIN_DIR . "/$plugin_page");
+ if ( file_exists(WPMU_PLUGIN_DIR . "/$plugin_page") )
+ include(WPMU_PLUGIN_DIR . "/$plugin_page");
+ else
+ include(ABSPATH . PLUGINDIR . "/$plugin_page");
}
include(ABSPATH . 'wp-admin/admin-footer.php');
@@ -119,17 +165,13 @@ if (isset($plugin_page)) {
if ( ! current_user_can('import') )
wp_die(__('You are not allowed to import.'));
- if ( validate_file($importer) ) {
- wp_die(__('Invalid importer.'));
- }
+ if ( validate_file($importer) )
+ wp_redirect( admin_url( 'import.php?invalid=' . $importer ) );
// Allow plugins to define importers as well
- if ( !isset($wp_importers) || !isset($wp_importers[$importer]) || ! is_callable($wp_importers[$importer][2]))
- {
+ if ( !isset($wp_importers) || !isset($wp_importers[$importer]) || ! is_callable($wp_importers[$importer][2])) {
if (! file_exists(ABSPATH . "wp-admin/import/$importer.php"))
- {
- wp_die(__('Cannot load importer.'));
- }
+ wp_redirect( admin_url( 'import.php?invalid=' . $importer ) );
include(ABSPATH . "wp-admin/import/$importer.php");
}
@@ -144,6 +186,9 @@ if (isset($plugin_page)) {
define('WP_IMPORTING', true);
+ if ( is_multisite() )
+ kses_init_filters(); // Always filter imported data with kses.
+
call_user_func($wp_importers[$importer][2]);
include(ABSPATH . 'wp-admin/admin-footer.php');
diff --git a/wp-admin/async-upload.php b/wp-admin/async-upload.php
index a384453a..4210b0e0 100644
--- a/wp-admin/async-upload.php
+++ b/wp-admin/async-upload.php
@@ -21,7 +21,7 @@ elseif ( empty($_COOKIE[AUTH_COOKIE]) && !empty($_REQUEST['auth_cookie']) )
if ( empty($_COOKIE[LOGGED_IN_COOKIE]) && !empty($_REQUEST['logged_in_cookie']) )
$_COOKIE[LOGGED_IN_COOKIE] = $_REQUEST['logged_in_cookie'];
unset($current_user);
-require_once('admin.php');
+require_once('./admin.php');
header('Content-Type: text/plain; charset=' . get_option('blog_charset'));
@@ -43,16 +43,18 @@ if ( isset($_REQUEST['attachment_id']) && ($id = intval($_REQUEST['attachment_id
check_admin_referer('media-form');
$id = media_handle_upload('async-upload', $_REQUEST['post_id']);
-if (is_wp_error($id)) {
- echo '
'.esc_html($id->get_error_message()).'
';
+if ( is_wp_error($id) ) {
+ echo '
+
' . __('Dismiss') . '
+
' . sprintf(__('“%s” has failed to upload due to an error'), esc_html($_FILES['async-upload']['name']) ) . ' ' .
+ esc_html($id->get_error_message()) . '
';
exit;
}
if ( $_REQUEST['short'] ) {
// short form response - attachment ID only
echo $id;
-}
-else {
+} else {
// long form response - big chunk o html
$type = $_REQUEST['type'];
echo apply_filters("async_upload_{$type}", $id);
diff --git a/wp-admin/categories.php b/wp-admin/categories.php
deleted file mode 100644
index 9639281f..00000000
--- a/wp-admin/categories.php
+++ /dev/null
@@ -1,311 +0,0 @@
-%s category: this is the default one"), get_cat_name($cat_ID) ) );
-
- wp_delete_category($cat_ID);
-
- wp_safe_redirect( add_query_arg( 'message', 2, wp_get_referer() ) );
- exit;
-
-break;
-
-case 'bulk-delete':
- check_admin_referer('bulk-categories');
-
- if ( !current_user_can('manage_categories') )
- wp_die( __('You are not allowed to delete categories.') );
-
- $cats = (array) $_GET['delete'];
- $default_cat = get_option('default_category');
- foreach ( $cats as $cat_ID ) {
- $cat_ID = (int) $cat_ID;
-
- // Don't delete the default cat.
- if ( $cat_ID == $default_cat )
- wp_die( sprintf( __("Can’t delete the
%s category: this is the default one"), get_cat_name($cat_ID) ) );
-
- wp_delete_category($cat_ID);
- }
-
- wp_safe_redirect( wp_get_referer() );
- exit;
-
-break;
-case 'edit':
-
- $title = __('Edit Category');
-
- require_once ('admin-header.php');
- $cat_ID = (int) $_GET['cat_ID'];
- $category = get_category_to_edit($cat_ID);
- include('edit-category-form.php');
-
-break;
-
-case 'editedcat':
- $cat_ID = (int) $_POST['cat_ID'];
- check_admin_referer('update-category_' . $cat_ID);
-
- if ( !current_user_can('manage_categories') )
- wp_die(__('Cheatin’ uh?'));
-
- $location = 'categories.php';
- if ( $referer = wp_get_original_referer() ) {
- if ( false !== strpos($referer, 'categories.php') )
- $location = $referer;
- }
-
- if ( wp_update_category($_POST) )
- $location = add_query_arg('message', 3, $location);
- else
- $location = add_query_arg('message', 5, $location);
-
- wp_redirect($location);
-
- exit;
-break;
-
-default:
-
-if ( isset($_GET['_wp_http_referer']) && ! empty($_GET['_wp_http_referer']) ) {
- wp_redirect( remove_query_arg( array('_wp_http_referer', '_wpnonce'), stripslashes($_SERVER['REQUEST_URI']) ) );
- exit;
-}
-
-wp_enqueue_script('admin-categories');
-if ( current_user_can('manage_categories') )
- wp_enqueue_script('inline-edit-tax');
-
-require_once ('admin-header.php');
-
-$messages[1] = __('Category added.');
-$messages[2] = __('Category deleted.');
-$messages[3] = __('Category updated.');
-$messages[4] = __('Category not added.');
-$messages[5] = __('Category not updated.');
-?>
-
-
-
-
' . __('Search results for “%s”') . '', esc_html( stripslashes($_GET['s']) ) ); ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-parent = 0; do_action('add_category_form_pre', $category); ?>
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/wp-admin/comment.php b/wp-admin/comment.php
index 8b63a57a..58d6e326 100644
--- a/wp-admin/comment.php
+++ b/wp-admin/comment.php
@@ -7,7 +7,7 @@
*/
/** Load WordPress Bootstrap */
-require_once('admin.php');
+require_once('./admin.php');
$parent_file = 'edit-comments.php';
$submenu_file = 'edit-comments.php';
@@ -36,7 +36,7 @@ if ( isset( $_GET['dt'] ) ) {
*/
function comment_footer_die( $msg ) {
echo "
";
- include('admin-footer.php');
+ include('./admin-footer.php');
die;
}
@@ -45,8 +45,15 @@ switch( $action ) {
case 'editcomment' :
$title = __('Edit Comment');
+ add_contextual_help( $current_screen, '
' . __( 'You can edit the information left in a comment if needed. This is often useful when you notice that a commenter has made a typographical error.' ) . '
' .
+ '
' . __( 'You can also moderate the comment from this screen using the Status box, where you can also change the timestamp of the comment.' ) . '
' .
+ '
' . __( 'For more information:' ) . '
' .
+ '
' . __( 'Comments Documentation ' ) . '
' .
+ '
' . __( 'Support Forums ' ) . '
'
+ );
+
wp_enqueue_script('comment');
- require_once('admin-header.php');
+ require_once('./admin-header.php');
$comment_id = absint( $_GET['c'] );
@@ -61,7 +68,7 @@ case 'editcomment' :
$comment = get_comment_to_edit( $comment_id );
- include('edit-form-comment.php');
+ include('./edit-form-comment.php');
break;
@@ -70,22 +77,38 @@ case 'approve' :
case 'trash' :
case 'spam' :
- require_once('admin-header.php');
-
$comment_id = absint( $_GET['c'] );
+
+ if ( !$comment = get_comment_to_edit( $comment_id ) ) {
+ wp_redirect( admin_url('edit-comments.php?error=1') );
+ die();
+ }
+
+ if ( !current_user_can( 'edit_post', $comment->comment_post_ID ) ) {
+ wp_redirect( admin_url('edit-comments.php?error=2') );
+ die();
+ }
+
+ // No need to re-approve/re-trash/re-spam a comment.
+ if ( $action == str_replace( '1', 'approve', $comment->comment_approved ) ) {
+ wp_redirect( admin_url( 'edit-comments.php?same=' . $comment_id ) );
+ die();
+ }
+
+ require_once('./admin-header.php');
+
$formaction = $action . 'comment';
$nonce_action = 'approve' == $action ? 'approve-comment_' : 'delete-comment_';
$nonce_action .= $comment_id;
- if ( !$comment = get_comment_to_edit( $comment_id ) )
- comment_footer_die( __('Oops, no comment with this ID.') . sprintf('
'.__('Go back').' !', 'edit.php') );
-
- if ( !current_user_can( 'edit_post', $comment->comment_post_ID ) )
- comment_footer_die( 'approve' != $action ? __('You are not allowed to delete comments on this post.') : __('You are not allowed to edit comments on this post, so you cannot approve this comment.') );
?>
+
+
+
+
+if ( $comment->comment_approved != '0' ) { // if not unapproved
+ $message = '';
+ switch ( $comment->comment_approved ) {
+ case '1' :
+ $message = __('This comment is currently approved.');
+ break;
+ case 'spam' :
+ $message = __('This comment is currently marked as spam.');
+ break;
+ case 'trash' :
+ $message = __('This comment is currently in the Trash.');
+ break;
+ }
+ if ( $message )
+ echo '
';
+}
+?>
-
+
@@ -155,13 +194,19 @@ switch ( $action ) {
comment_post_ID ) )
comment_footer_die( __('You are not allowed to edit comments on this post.') );
- if ( '' != wp_get_referer() && false == $noredir && false === strpos(wp_get_referer(), 'comment.php') )
+ if ( '' != wp_get_referer() && ! $noredir && false === strpos(wp_get_referer(), 'comment.php') )
$redir = wp_get_referer();
- elseif ( '' != wp_get_original_referer() && false == $noredir )
+ elseif ( '' != wp_get_original_referer() && ! $noredir )
$redir = wp_get_original_referer();
+ elseif ( in_array( $action, array( 'approvecomment', 'unapprovecomment' ) ) )
+ $redir = admin_url('edit-comments.php?p=' . absint( $comment->comment_post_ID ) );
else
$redir = admin_url('edit-comments.php');
- $redir = remove_query_arg( array('spammed', 'unspammed', 'trashed', 'untrashed', 'deleted', 'ids'), $redir );
+ $redir = remove_query_arg( array('spammed', 'unspammed', 'trashed', 'untrashed', 'deleted', 'ids', 'approved', 'unapproved'), $redir );
switch ( $action ) {
case 'deletecomment' :
@@ -200,48 +247,20 @@ case 'unspamcomment' :
wp_unspam_comment($comment_id);
$redir = add_query_arg( array('unspammed' => '1'), $redir );
break;
+ case 'approvecomment' :
+ wp_set_comment_status( $comment_id, 'approve' );
+ $redir = add_query_arg( array( 'approved' => 1 ), $redir );
+ break;
+ case 'unapprovecomment' :
+ wp_set_comment_status( $comment_id, 'hold' );
+ $redir = add_query_arg( array( 'unapproved' => 1 ), $redir );
+ break;
}
wp_redirect( $redir );
-
die;
break;
-case 'approvecomment' :
-case 'unapprovecomment' :
- $comment_id = absint( $_GET['c'] );
- check_admin_referer( 'approve-comment_' . $comment_id );
-
- $noredir = isset( $_GET['noredir'] );
-
- if ( !$comment = get_comment( $comment_id ) )
- comment_footer_die( __('Oops, no comment with this ID.') . sprintf(' '.__('Go back').' !', 'edit.php') );
-
- if ( !current_user_can( 'edit_post', $comment->comment_post_ID ) ) {
- if ( 'approvecomment' == $action )
- comment_footer_die( __('You are not allowed to edit comments on this post, so you cannot approve this comment.') );
- else
- comment_footer_die( __('You are not allowed to edit comments on this post, so you cannot disapprove this comment.') );
- }
-
- if ( '' != wp_get_referer() && false == $noredir )
- $redir = remove_query_arg( array('approved', 'unapproved'), wp_get_referer() );
- else
- $redir = admin_url('edit-comments.php?p=' . absint( $comment->comment_post_ID ) );
-
- if ( 'approvecomment' == $action ) {
- wp_set_comment_status( $comment_id, 'approve' );
- $redir = add_query_arg( array( 'approved' => 1 ), $redir );
- } else {
- wp_set_comment_status( $comment_id, 'hold' );
- $redir = add_query_arg( array( 'unapproved' => 1 ), $redir );
- }
-
- wp_redirect( $redir );
-
- exit();
- break;
-
case 'editedcomment' :
$comment_id = absint( $_POST['comment_ID'] );
@@ -264,6 +283,6 @@ default:
} // end switch
-include('admin-footer.php');
+include('./admin-footer.php');
?>
diff --git a/wp-admin/css/colors-classic-rtl.css b/wp-admin/css/colors-classic-rtl.css
index 99239be4..8cd8ec83 100644
--- a/wp-admin/css/colors-classic-rtl.css
+++ b/wp-admin/css/colors-classic-rtl.css
@@ -1,80 +1 @@
-.bar {
- border-right-color: transparent;
- border-left-color: #99d;
-}
-
-.plugins .togl {
- border-right-color: transparent;
- border-left-color: #ccc;
-}
-
-.post-com-count {
- background-image: url(../images/bubble_bg-rtl.gif);
-}
-.tablenav .tablenav-pages a {
- background: #eee url('../images/menu-bits-rtl-vs.gif') repeat-x scroll right -379px;
-}
-#upload-menu li.current {
- border-right-color: transparent;
- border-left-color: #448abd;
-}
-
-#adminmenu .wp-submenu .current a.current {
- background: transparent url(../images/menu-bits-rtl-vs.gif) no-repeat scroll right -289px;
-}
-
-#adminmenu li.wp-menu-separator {
- background: transparent url(../images/menu-arrows.gif) no-repeat scroll right -34px;
-}
-
-.folded #adminmenu li.wp-menu-separator {
- background: transparent url(../images/menu-arrows.gif) no-repeat scroll left 5px;
-}
-
-#adminmenu li.wp-has-current-submenu .wp-menu-toggle,
-#adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle {
- background: transparent url(../images/menu-bits-rtl-vs.gif) repeat-x scroll right -207px;
-}
-
-#adminmenu .wp-has-current-submenu ul li a.current {
- background: url(../images/menu-dark-rtl.gif) top right no-repeat !important;
-}
-
-#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,
-#adminmenu .menu-top .current {
- background: url(../images/menu-bits-rtl-vs.gif) top right repeat-x;
-}
-
-#adminmenu li.wp-has-current-submenu ul li a {
- background: url(../images/menu-dark-rtl.gif) bottom right no-repeat !important;
-}
-
-#adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle, #adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle {
- background: transparent url(../images/menu-bits-rtl-vs.gif) no-repeat right -207px;
-}
-
-#adminmenu .wp-has-submenu:hover .wp-menu-toggle,
-#adminmenu .wp-menu-open .wp-menu-toggle {
- background: transparent url(../images/menu-bits-rtl-vs.gif) repeat-x scroll right -109px;
-}
-
-#adminmenu a.wp-has-submenu {
- background: #f1f1f1 url(../images/menu-bits-rtl-vs.gif) repeat-x scroll right -379px;
-}
-
-#adminmenu .wp-submenu a {
- background: #FFFFFF url(../images/menu-bits-rtl-vs.gif) no-repeat scroll right -310px;
-}
-
-#adminmenu li.current a,
-#adminmenu .wp-submenu a:hover {
- background: transparent url(../images/menu-bits-rtl-vs.gif) no-repeat scroll right -289px;
-}
-
-#adminmenu li.wp-has-current-submenu a.wp-has-submenu {
- background: #b5b5b5 url(../images/menu-bits-rtl-vs.gif) repeat-x scroll right top;
-}
-
-.meta-box-sortables .postbox:hover .handlediv {
- background: transparent url(../images/menu-bits-rtl-vs.gif) no-repeat scroll right -111px;
-}
+.bar{border-right-color:transparent;border-left-color:#99d;}.plugins .togl{border-right-color:transparent;border-left-color:#ccc;}.post-com-count{background-image:url(../images/bubble_bg-rtl.gif);}.tablenav .tablenav-pages a{background:#eee url('../images/menu-bits-rtl-vs.gif') repeat-x scroll right -379px;}#upload-menu li.current{border-right-color:transparent;border-left-color:#448abd;}#adminmenu .wp-submenu .current a.current{background:transparent url(../images/menu-bits-rtl-vs.gif) no-repeat scroll right -289px;}#adminmenu li.wp-menu-separator{background:transparent url(../images/menu-arrows.gif) no-repeat scroll right -34px;}.folded #adminmenu li.wp-menu-separator{background:transparent url(../images/menu-arrows.gif) no-repeat scroll left 5px;}#adminmenu li.wp-has-current-submenu .wp-menu-toggle,#adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle{background:transparent url(../images/menu-bits-rtl-vs.gif) repeat-x scroll right -207px;}#adminmenu .wp-has-current-submenu ul li a.current{background:url(../images/menu-dark-rtl.gif) top right no-repeat!important;}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu .menu-top .current{background:url(../images/menu-bits-rtl-vs.gif) top right repeat-x;}#adminmenu li.wp-has-current-submenu ul li a{background:url(../images/menu-dark-rtl.gif) bottom right no-repeat!important;}#adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle,#adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle{background:transparent url(../images/menu-bits-rtl-vs.gif) no-repeat right -207px;}#adminmenu .wp-has-submenu:hover .wp-menu-toggle,#adminmenu .wp-menu-open .wp-menu-toggle{background:transparent url(../images/menu-bits-rtl-vs.gif) repeat-x scroll right -109px;}#adminmenu a.wp-has-submenu{background:#f1f1f1 url(../images/menu-bits-rtl-vs.gif) repeat-x scroll right -379px;}#adminmenu .wp-submenu a{background:#fff url(../images/menu-bits-rtl-vs.gif) no-repeat scroll right -310px;}#adminmenu li.wp-has-current-submenu a.wp-has-submenu{background:#b5b5b5 url(../images/menu-bits-rtl-vs.gif) repeat-x scroll right top;}.meta-box-sortables .postbox:hover .handlediv{background:transparent url(../images/menu-bits-rtl-vs.gif) no-repeat scroll right -111px;}#favorite-toggle{background:transparent url(../images/fav-arrow-vs-rtl.gif?ver=20100531) no-repeat right -4px;}
\ No newline at end of file
diff --git a/wp-admin/css/colors-classic-rtl.dev.css b/wp-admin/css/colors-classic-rtl.dev.css
new file mode 100644
index 00000000..38b070cd
--- /dev/null
+++ b/wp-admin/css/colors-classic-rtl.dev.css
@@ -0,0 +1,79 @@
+.bar {
+ border-right-color: transparent;
+ border-left-color: #99d;
+}
+
+.plugins .togl {
+ border-right-color: transparent;
+ border-left-color: #ccc;
+}
+
+.post-com-count {
+ background-image: url(../images/bubble_bg-rtl.gif);
+}
+.tablenav .tablenav-pages a {
+ background: #eee url('../images/menu-bits-rtl-vs.gif') repeat-x scroll right -379px;
+}
+#upload-menu li.current {
+ border-right-color: transparent;
+ border-left-color: #448abd;
+}
+
+#adminmenu .wp-submenu .current a.current {
+ background: transparent url(../images/menu-bits-rtl-vs.gif) no-repeat scroll right -289px;
+}
+
+#adminmenu li.wp-menu-separator {
+ background: transparent url(../images/menu-arrows.gif) no-repeat scroll right -34px;
+}
+
+.folded #adminmenu li.wp-menu-separator {
+ background: transparent url(../images/menu-arrows.gif) no-repeat scroll left 5px;
+}
+
+#adminmenu li.wp-has-current-submenu .wp-menu-toggle,
+#adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle {
+ background: transparent url(../images/menu-bits-rtl-vs.gif) repeat-x scroll right -207px;
+}
+
+#adminmenu .wp-has-current-submenu ul li a.current {
+ background: url(../images/menu-dark-rtl.gif) top right no-repeat !important;
+}
+
+#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,
+#adminmenu .menu-top .current {
+ background: url(../images/menu-bits-rtl-vs.gif) top right repeat-x;
+}
+
+#adminmenu li.wp-has-current-submenu ul li a {
+ background: url(../images/menu-dark-rtl.gif) bottom right no-repeat !important;
+}
+
+#adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle, #adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle {
+ background: transparent url(../images/menu-bits-rtl-vs.gif) no-repeat right -207px;
+}
+
+#adminmenu .wp-has-submenu:hover .wp-menu-toggle,
+#adminmenu .wp-menu-open .wp-menu-toggle {
+ background: transparent url(../images/menu-bits-rtl-vs.gif) repeat-x scroll right -109px;
+}
+
+#adminmenu a.wp-has-submenu {
+ background: #f1f1f1 url(../images/menu-bits-rtl-vs.gif) repeat-x scroll right -379px;
+}
+
+#adminmenu .wp-submenu a {
+ background: #fff url(../images/menu-bits-rtl-vs.gif) no-repeat scroll right -310px;
+}
+
+#adminmenu li.wp-has-current-submenu a.wp-has-submenu {
+ background: #b5b5b5 url(../images/menu-bits-rtl-vs.gif) repeat-x scroll right top;
+}
+
+.meta-box-sortables .postbox:hover .handlediv {
+ background: transparent url(../images/menu-bits-rtl-vs.gif) no-repeat scroll right -111px;
+}
+
+#favorite-toggle {
+ background: transparent url(../images/fav-arrow-vs-rtl.gif?ver=20100531) no-repeat right -4px;
+}
\ No newline at end of file
diff --git a/wp-admin/css/colors-classic.css b/wp-admin/css/colors-classic.css
index 427f262b..abacd39f 100644
--- a/wp-admin/css/colors-classic.css
+++ b/wp-admin/css/colors-classic.css
@@ -1 +1 @@
-html{background-color:#f7f6f1;}* html input,* html .widget{border-color:#8cbdd5;}textarea,input[type="text"],input[type="password"],input[type="file"],input[type="button"],input[type="submit"],input[type="reset"],select{border-color:#dfdfdf;background-color:#fff;}kbd,code{background:#eaeaea;}input[readonly]{background-color:#eee;}.find-box-search{border-color:#dfdfdf;background-color:#f1f1f1;}.find-box{background-color:#f1f1f1;}.find-box-inside{background-color:#fff;}a.page-numbers:hover{border-color:#999;}body,#wpbody,.form-table .pre{color:#333;}body>#upload-menu{border-bottom-color:#fff;}#postcustomstuff table,#your-profile fieldset,#rightnow,div.dashboard-widget,#dashboard-widgets p.dashboard-widget-links,#replyrow #ed_reply_toolbar input{border-color:#ccc;}#poststuff .inside label.spam,#poststuff .inside label.deleted{color:red;}#poststuff .inside label.waiting{color:orange;}#poststuff .inside label.approved{color:green;}#postcustomstuff table{border-color:#dfdfdf;background-color:#f9f9f9;}#postcustomstuff thead th{background-color:#f1f1f1;}#postcustomstuff table input,#postcustomstuff table textarea{border-color:#dfdfdf;background-color:#fff;}.widefat{border-color:#dfdfdf;background-color:#fff;}div.dashboard-widget-error{background-color:#c43;}div.dashboard-widget-notice{background-color:#cfe1ef;}div.dashboard-widget-submit{border-top-color:#ccc;}div.tabs-panel,ul#category-tabs li.tabs{border-color:#dfdfdf;}ul#category-tabs li.tabs{background-color:#f1f1f1;}input.disabled,textarea.disabled{background-color:#ccc;}.login #backtoblog a:hover,#plugin-information .action-button a,#plugin-information .action-button a:hover,#plugin-information .action-button a:visited{color:#fff;}.widget .widget-top,.postbox h3,.stuffbox h3{background:#d5e6f2 url("../images/blue-grad.png") repeat-x left top;text-shadow:#fff 0 1px 0;}.form-table th,.form-wrap label{color:#222;text-shadow:#fff 0 1px 0;}.description,.form-wrap p{color:#666;}strong .post-com-count span{background-color:#21759b;}.sorthelper{background-color:#ccf3fa;}.ac_match,.subsubsub a.current{color:#000;}.wrap h2{color:#093e56;}.ac_over{background-color:#f0f0b8;}.ac_results{background-color:#fff;border-color:#808080;}.ac_results li{color:#101010;}.alt .alternate{background-color:#edfbfc;}.available-theme a.screenshot{background-color:#f1f1f1;border-color:#ddd;}.bar{background-color:#e8e8e8;border-right-color:#99d;}#media-upload,#media-upload .media-item .slidetoggle{background:#fff;}#media-upload .slidetoggle{border-top-color:#dfdfdf;}.error,.login #login_error{background-color:#ffebe8;border-color:#c00;}.error a{color:#c00;}.form-invalid{background-color:#ffebe8!important;}.form-invalid input,.form-invalid select{border-color:#c00!important;}.submit{border-color:#8cbdd5;}.highlight{background-color:#e4f2fd;color:#d54e21;}.howto,.nonessential,#edit-slug-box,.form-input-tip,.rss-widget span.rss-date,.subsubsub{color:#666;}.media-item{border-bottom-color:#dfdfdf;}#wpbody-content #media-items .describe{border-top-color:#dfdfdf;}.media-upload-form label.form-help,td.help{color:#9a9a9a;}.post-com-count{background-image:url(../images/bubble_bg.gif);color:#fff;}.post-com-count span{background-color:#bbb;color:#fff;}.post-com-count:hover span{background-color:#d54e21;}.quicktags,.search{background-color:#ccc;color:#000;}.side-info h5{border-bottom-color:#dadada;}.side-info ul{color:#666;}.button,.button-secondary,.submit input,input[type=button],input[type=submit]{border-color:#dfdfdf;color:#464646;}.button:hover,.button-secondary:hover,.submit input:hover,input[type=button]:hover,input[type=submit]:hover{color:#000;border-color:#adaca7;}.button,.submit input,.button-secondary{background:#f2f2f2 url(../images/white-grad.png) repeat-x scroll left top;text-shadow:rgba(255,255,255,1) 0 1px 0;}.button:active,.submit input:active,.button-secondary:active{background:#eee url(../images/white-grad-active.png) repeat-x scroll left top;}input.button-primary,button.button-primary,a.button-primary{border-color:#5b86ab;font-weight:bold;color:#fff;background:#5580a6 url(../images/button-grad-vs.png) repeat-x scroll left top;text-shadow:rgba(0,0,0,0.3) 0 -1px 0;}input.button-primary:active,button.button-primary:active,a.button-primary:active{background:#21759b url(../images/button-grad-active-vs.png) repeat-x scroll left top;color:#eaf2fa;}input.button-primary:hover,button.button-primary:hover,a.button-primary:hover,a.button-primary:focus,a.button-primary:active{border-color:#2e5475;color:#eaf2fa;}.button-disabled,.button[disabled],.button:disabled,.button-secondary[disabled],.button-secondary:disabled,a.button.disabled{color:#aaa!important;border-color:#ddd!important;}.button-primary-disabled,.button-primary[disabled],.button-primary:disabled{color:#B0C3E2!important;background:#6590A6!important;}a:hover,a:active,a:focus{color:#d54e21;}#wphead #viewsite a:hover,#adminmenu a:hover,#adminmenu ul.wp-submenu a:hover,#the-comment-list .comment a:hover,#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover,.plugins .inactive a:hover,#all-plugins-table .plugins .inactive a:hover,#search-plugins-table .plugins .inactive a:hover{color:#d54e21;}#the-comment-list .comment-item,#dashboard-widgets #dashboard_quick_press form p.submit{border-color:#dfdfdf;}#dashboard_right_now .table{background:#faf9f7!important;}#side-sortables #category-tabs .tabs a{color:#333;}#rightnow .rbutton{background-color:#ebebeb;color:#264761;}.submitbox .submit{background-color:#464646;color:#ccc;}.plugins a.delete:hover,#all-plugins-table .plugins a.delete:hover,#search-plugins-table .plugins a.delete:hover,.submitbox .submitdelete{color:#f00;border-bottom-color:#f00;}.submitbox .submitdelete:hover,#media-items a.delete:hover{color:#fff;background-color:#f00;border-bottom-color:#f00;}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:#f00;border-bottom-color:#f00;}.tablenav .dots{border-color:transparent;}.tablenav .next,.tablenav .prev{border-color:transparent;color:#21759b;}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#d54e21;}.updated,.login .message{background-color:#ffffe0;border-color:#e6db55;}.update-message{color:#000;}a.page-numbers{border-bottom-color:#b8d3e2;}.commentlist li{border-bottom-color:#ccc;}.widefat td,.widefat th,#install-plugins .plugins td,#install-plugins .plugins th{border-color:#dfdfdf;}.widefat th{text-shadow:rgba(255,255,255,0.8) 0 1px 0;}.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small,.find-box-head{color:#333;background:#d5e6f2 url(../images/blue-grad.png) repeat-x scroll left top;}h3.dashboard-widget-title small a{color:#d7d7d7;}h3.dashboard-widget-title small a:hover{color:#fff;}a,#adminmenu a,#poststuff #edButtonPreview,#poststuff #edButtonHTML,#the-comment-list p.comment-author strong a,#media-upload a.del-link,#media-items a.delete,.plugins a.delete,.ui-tabs-nav a{color:#1c6280;}body.press-this .tabs a,body.press-this .tabs a:hover{background-color:#fff;border-color:#c6d9e9;border-bottom-color:#fff;color:#d54e21;}#adminmenu #awaiting-mod,#adminmenu .update-plugins,#sidemenu a .update-plugins,#rightnow .reallynow,#plugin-information .action-button{background-color:#d54e21;color:#fff;}#adminmenu li a:hover #awaiting-mod,#adminmenu li a:hover .update-plugins,#sidemenu li a:hover .update-plugins{background-color:#264761;color:#fff;}#adminmenu li.current a #awaiting-mod,#adminmenu li.current a .update-plugins,#adminmenu li.wp-has-current-submenu a .update-plugins,#adminmenu li.wp-has-current-submenu a .update-plugins{background-color:#ddd;color:#000;text-shadow:none;-moz-box-shadow:rgba(0,0,0,0.2) 0 -1px 0;-khtml-box-shadow:rgba(0,0,0,0.2) 0 -1px 0;-webkit-box-shadow:rgba(0,0,0,0.2) 0 -1px 0;box-shadow:rgba(0,0,0,0.2) 0 -1px 0;}#adminmenu li.current a:hover #awaiting-mod,#adminmenu li.current a:hover .update-plugins,#adminmenu li.wp-has-current-submenu a:hover #awaiting-mod,#adminmenu li.wp-has-current-submenu a:hover .update-plugins{background-color:#264761;color:#fff;}div#media-upload-header,div#plugin-information-header{background-color:#f9f9f9;border-bottom-color:#dfdfdf;}#currenttheme img{border-color:#666;}#dashboard_secondary div.dashboard-widget-content ul li a{background-color:#f9f9f9;}input.readonly,textarea.readonly{background-color:#ddd;}#ed_toolbar input,#ed_reply_toolbar input{background:#fff url("../images/fade-butt.png") repeat-x 0 -2px;}#editable-post-name{background-color:#fffbcc;}#edit-slug-box strong,.tablenav .displaying-num,#submitted-on{color:#777;}.login #nav a{color:#21759b!important;}.login #nav a:hover{color:#d54e21!important;}#footer,#footer-upgrade{background:#1d507d;color:#b6d1e4;}#media-items,.imgedit-group{border-color:#dfdfdf;}.checkbox,.side-info,.plugins tr,.postbox,#your-profile #rich_editing{background-color:#fff;}.plugins .inactive,.plugins .inactive th,.plugins .inactive td,tr.inactive+tr.plugin-update-tr .plugin-update{background-color:#ebeeef;}.plugin-update-tr .update-message{background-color:#fffbe4;border-color:#dfdfdf;}.plugins .active,.plugins .active th,.plugins .active td{color:#000;}.plugins .inactive a{color:#579;}#the-comment-list tr.undo,#the-comment-list div.undo{background-color:#f4f4f4;}#the-comment-list .unapproved{background-color:#ffffe0;}#the-comment-list .approve a{color:#006505;}#the-comment-list .unapprove a{color:#d98500;}table.widefat span.delete a,table.widefat span.trash a,table.widefat span.spam a,#dashboard_recent_comments .delete a,#dashboard_recent_comments .trash a,#dashboard_recent_comments .spam a{color:#bc0b0b;}.widget,#widget-list .widget-top,.postbox,#titlediv,#poststuff .postarea,.stuffbox{border-color:#dfdfdf;}.widget,.postbox{background-color:#fff;}.ui-sortable .postbox h3{color:#093e56;}.widget .widget-top,.ui-sortable .postbox h3:hover{color:#000;}.curtime #timestamp{background-image:url(../images/date-button.gif);}#quicktags #ed_link{color:#00f;}#rightnow .youhave{background-color:#f0f6fb;}#rightnow a{color:#448abd;}.tagchecklist span a,#bulk-titles div a{background:url(../images/xit.gif) no-repeat;}.tagchecklist span a:hover,#bulk-titles div a:hover{background:url(../images/xit.gif) no-repeat -10px 0;}#update-nag{background-color:#fffeeb;border-color:#ccc;color:#555;}.login #backtoblog a{color:#ccc;}#wphead{background-color:#1d507d;}body.login{border-top-color:#093e56;}#wphead h1 a{color:#fff;}#user_info{color:#b6d1e4;}#user_info a:link,#user_info a:visited,#footer a:link,#footer a:visited{color:#fff;text-decoration:none;}#user_info a:hover,#user_info a:active,#footer a:hover,#footer a:active{text-decoration:underline;}div#media-upload-error,.file-error,abbr.required,.widget-control-remove:hover,table.widefat .delete a:hover,table.widefat .trash a:hover,table.widefat .spam a:hover,#dashboard_recent_comments .delete a:hover,#dashboard_recent_comments .trash a:hover,#dashboard_recent_comments .spam a:hover{color:#f00;}#pass-strength-result{background-color:#eee;border-color:#ddd!important;}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c!important;}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0!important;}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040!important;}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c!important;}#quicktags{border-color:#dfdfdf;background-color:#dfdfdf;}#ed_toolbar input{border-color:#c3c3c3;}#ed_toolbar input:hover{border-color:#aaa;background:#ddd;}#poststuff .wp_themeSkin .mceStatusbar{border-color:#ededed;}#poststuff #edButtonPreview,#poststuff #edButtonHTML{background-color:#f2f1eb;border-color:#dfdfdf;color:#999;}#poststuff #editor-toolbar .active{border-bottom-color:#e3eef7;background-color:#e3eef7;color:#333;}#post-status-info{background-color:#ededed;}.wp_themeSkin *,.wp_themeSkin a:hover,.wp_themeSkin a:link,.wp_themeSkin a:visited,.wp_themeSkin a:active{color:#000;}.wp_themeSkin iframe{background:#fff;}.wp_themeSkin .mceStatusbar{color:#000;background-color:#f5f5f5;}.wp_themeSkin .mceButton{background-color:#e9e8e8;border-color:#b2b2b2;}.wp_themeSkin a.mceButtonEnabled:hover,.wp_themeSkin a.mceButtonActive,.wp_themeSkin a.mceButtonSelected{background-color:#d5d5d5;border-color:#777!important;}.wp_themeSkin .mceButtonDisabled{border-color:#ccc!important;}.wp_themeSkin .mceListBox .mceText,.wp_themeSkin .mceListBox .mceOpen{border-color:#b2b2b2;background-color:#d5d5d5;}.wp_themeSkin table.mceListBoxEnabled:hover .mceOpen,.wp_themeSkin .mceListBoxHover .mceOpen,.wp_themeSkin .mceListBoxSelected .mceOpen,.wp_themeSkin .mceListBoxSelected .mceText{border-color:#777!important;background-color:#d5d5d5;}.wp_themeSkin table.mceListBoxEnabled:hover .mceText,.wp_themeSkin .mceListBoxHover .mceText{border-color:#777!important;}.wp_themeSkin select.mceListBox{border-color:#b2b2b2;background-color:#fff;}.wp_themeSkin .mceSplitButton a.mceAction,.wp_themeSkin .mceSplitButton a.mceOpen{border-color:#b2b2b2;}.wp_themeSkin .mceSplitButton a.mceOpen:hover,.wp_themeSkin .mceSplitButtonSelected a.mceOpen,.wp_themeSkin table.mceSplitButtonEnabled:hover a.mceAction,.wp_themeSkin .mceSplitButton a.mceAction:hover{background-color:#d5d5d5;border-color:#777!important;}.wp_themeSkin .mceSplitButtonActive{background-color:#b2b2b2;}.wp_themeSkin div.mceColorSplitMenu table{background-color:#ebebeb;border-color:#b2b2b2;}.wp_themeSkin .mceColorSplitMenu a{border-color:#b2b2b2;}.wp_themeSkin .mceColorSplitMenu a.mceMoreColors{border-color:#fff;}.wp_themeSkin .mceColorSplitMenu a.mceMoreColors:hover{border-color:#0a246a;background-color:#b6bdd2;}.wp_themeSkin a.mceMoreColors:hover{border-color:#0a246a;}.wp_themeSkin .mceMenu{border-color:#ddd;}.wp_themeSkin .mceMenu table{background-color:#ebeaeb;}.wp_themeSkin .mceMenu .mceText{color:#000;}.wp_themeSkin .mceMenu .mceMenuItemEnabled a:hover,.wp_themeSkin .mceMenu .mceMenuItemActive{background-color:#f5f5f5;}.wp_themeSkin td.mceMenuItemSeparator{background-color:#aaa;}.wp_themeSkin .mceMenuItemTitle a{background-color:#ccc;border-bottom-color:#aaa;}.wp_themeSkin .mceMenuItemTitle span.mceText{color:#000;}.wp_themeSkin .mceMenuItemDisabled .mceText{color:#888;}#quicktags,.wp_themeSkin tr.mceFirst td.mceToolbar{background:#e3eef7 url("../images/ed-bg-vs.gif") repeat-x scroll left top;}.wp_themeSkin tr.mceFirst td.mceToolbar{border-color:#dfdfdf;}.wp-admin #mceModalBlocker{background:#000;}.wp-admin .clearlooks2 .mceFocus .mceTop .mceLeft{background:#444;border-left:1px solid #999;border-top:1px solid #999;-moz-border-radius:4px 0 0 0;-webkit-border-top-left-radius:4px;-khtml-border-top-left-radius:4px;border-top-left-radius:4px;}.wp-admin .clearlooks2 .mceFocus .mceTop .mceRight{background:#444;border-right:1px solid #999;border-top:1px solid #999;border-top-right-radius:4px;-khtml-border-top-right-radius:4px;-webkit-border-top-right-radius:4px;-moz-border-radius:0 4px 0 0;}.wp-admin .clearlooks2 .mceMiddle .mceLeft{background:#f1f1f1;border-left:1px solid #999;}.wp-admin .clearlooks2 .mceMiddle .mceRight{background:#f1f1f1;border-right:1px solid #999;}.wp-admin .clearlooks2 .mceBottom{background:#f1f1f1;border-bottom:1px solid #999;}.wp-admin .clearlooks2 .mceBottom .mceLeft{background:#f1f1f1;border-bottom:1px solid #999;border-left:1px solid #999;}.wp-admin .clearlooks2 .mceBottom .mceCenter{background:#f1f1f1;border-bottom:1px solid #999;}.wp-admin .clearlooks2 .mceBottom .mceRight{background:#f1f1f1;border-bottom:1px solid #999;border-right:1px solid #999;}.wp-admin .clearlooks2 .mceFocus .mceTop span{color:#e5e5e5;}#editorcontainer,#post-status-info,#titlediv #title,.editwidget .widget-inside{border-color:#dfdfdf;}#titlediv #title{background-color:#fff;}#tTips p#tTips_inside{background-color:#ddd;color:#333;}#timestampdiv input,#namediv input,#poststuff .inside .the-tagcloud{border-color:#dfdfdf;}#adminmenu *{border-color:#dfdfdf;}#adminmenu li.wp-menu-separator{background:transparent url(../images/menu-arrows.gif) no-repeat scroll left 5px;}.folded #adminmenu li.wp-menu-separator{background:transparent url(../images/menu-arrows.gif) no-repeat scroll right -34px;}#adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle,#adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle{background:transparent url(../images/menu-bits-vs.gif) no-repeat scroll left -207px;}#adminmenu .wp-has-submenu:hover .wp-menu-toggle,#adminmenu .wp-menu-open .wp-menu-toggle{background:transparent url(../images/menu-bits-vs.gif) no-repeat scroll left -109px;}#adminmenu a.menu-top{background:#eaf3fa url(../images/menu-bits-vs.gif) repeat-x scroll left -379px;}#adminmenu .wp-submenu a{background:#fff url(../images/menu-bits-vs.gif) no-repeat scroll 0 -310px;}#adminmenu .wp-has-current-submenu ul li a{background:none;}#adminmenu .wp-has-current-submenu ul li a.current{background:url(../images/menu-dark.gif) top left no-repeat!important;}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu .menu-top .current{background:#3c6b95 url(../images/menu-bits-vs.gif) top left repeat-x;border-color:#1d507d;color:#fff;text-shadow:rgba(0,0,0,0.4) 0 -1px 0;}#adminmenu li.wp-has-current-submenu .wp-submenu,#adminmenu li.wp-has-current-submenu ul li a{border-color:#aaa!important;}#adminmenu li.wp-has-current-submenu ul li a{background:url(../images/menu-dark.gif) bottom left no-repeat!important;}#adminmenu li.wp-has-current-submenu ul{border-bottom-color:#aaa;}#adminmenu li.menu-top .current:hover{border-color:#6583c0;}#adminmenu .wp-submenu .current a.current{background:transparent url(../images/menu-bits-vs.gif) no-repeat scroll 0 -289px;}#adminmenu .wp-submenu a:hover{background-color:#eaf2fa!important;color:#333!important;}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover{color:#333;background-color:#f5f5f5;background-image:none;border-color:#e3e3e3;text-shadow:rgba(255,255,255,1) 0 1px 0;}#adminmenu .wp-submenu ul{background-color:#fff;}.folded #adminmenu li.menu-top,#adminmenu .wp-submenu .wp-submenu-head{background-color:#eaf2fa;}.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.menu-top.current{background-color:#bbd8e7;}#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{background-color:#bbd8e7;border-color:#8cbdd5;}#adminmenu div.wp-submenu{background-color:transparent;}#adminmenu #menu-dashboard div.wp-menu-image{background:transparent url("../images/menu-vs.png") no-repeat scroll -61px -33px;}#adminmenu #menu-dashboard:hover div.wp-menu-image,#adminmenu #menu-dashboard.wp-has-current-submenu div.wp-menu-image,#adminmenu #menu-dashboard.current div.wp-menu-image{background:transparent url("../images/menu-vs.png") no-repeat scroll -61px -1px;}#adminmenu #menu-posts div.wp-menu-image{background:transparent url("../images/menu-vs.png") no-repeat scroll -272px -33px;}#adminmenu #menu-posts:hover div.wp-menu-image,#adminmenu #menu-posts.wp-has-current-submenu div.wp-menu-image{background:transparent url("../images/menu-vs.png") no-repeat scroll -272px -1px;}#adminmenu #menu-media div.wp-menu-image{background:transparent url("../images/menu-vs.png") no-repeat scroll -121px -33px;}#adminmenu #menu-media:hover div.wp-menu-image,#adminmenu #menu-media.wp-has-current-submenu div.wp-menu-image{background:transparent url("../images/menu-vs.png") no-repeat scroll -121px -1px;}#adminmenu #menu-links div.wp-menu-image{background:transparent url("../images/menu-vs.png") no-repeat scroll -91px -33px;}#adminmenu #menu-links:hover div.wp-menu-image,#adminmenu #menu-links.wp-has-current-submenu div.wp-menu-image{background:transparent url("../images/menu-vs.png") no-repeat scroll -91px -1px;}#adminmenu #menu-pages div.wp-menu-image{background:transparent url("../images/menu-vs.png") no-repeat scroll -151px -33px;}#adminmenu #menu-pages:hover div.wp-menu-image,#adminmenu #menu-pages.wp-has-current-submenu div.wp-menu-image{background:transparent url("../images/menu-vs.png") no-repeat scroll -151px -1px;}#adminmenu #menu-comments div.wp-menu-image{background:transparent url("../images/menu-vs.png") no-repeat scroll -31px -33px;}#adminmenu #menu-comments:hover div.wp-menu-image,#adminmenu #menu-comments.wp-has-current-submenu div.wp-menu-image,#adminmenu #menu-comments.current div.wp-menu-image{background:transparent url("../images/menu-vs.png") no-repeat scroll -31px -1px;}#adminmenu #menu-appearance div.wp-menu-image{background:transparent url("../images/menu-vs.png") no-repeat scroll -1px -33px;}#adminmenu #menu-appearance:hover div.wp-menu-image,#adminmenu #menu-appearance.wp-has-current-submenu div.wp-menu-image{background:transparent url("../images/menu-vs.png") no-repeat scroll -1px -1px;}#adminmenu #menu-plugins div.wp-menu-image{background:transparent url("../images/menu-vs.png") no-repeat scroll -181px -33px;}#adminmenu #menu-plugins:hover div.wp-menu-image,#adminmenu #menu-plugins.wp-has-current-submenu div.wp-menu-image{background:transparent url("../images/menu-vs.png") no-repeat scroll -181px -1px;}#adminmenu #menu-users div.wp-menu-image{background:transparent url("../images/menu-vs.png") no-repeat scroll -301px -33px;}#adminmenu #menu-users:hover div.wp-menu-image,#adminmenu #menu-users.wp-has-current-submenu div.wp-menu-image{background:transparent url("../images/menu-vs.png") no-repeat scroll -301px -1px;}#adminmenu #menu-tools div.wp-menu-image{background:transparent url("../images/menu-vs.png") no-repeat scroll -211px -33px;}#adminmenu #menu-tools:hover div.wp-menu-image,#adminmenu #menu-tools.wp-has-current-submenu div.wp-menu-image{background:transparent url("../images/menu-vs.png") no-repeat scroll -211px -1px;}#adminmenu #menu-settings div.wp-menu-image{background:transparent url("../images/menu-vs.png") no-repeat scroll -241px -33px;}#adminmenu #menu-settings:hover div.wp-menu-image,#adminmenu #menu-settings.wp-has-current-submenu div.wp-menu-image{background:transparent url("../images/menu-vs.png") no-repeat scroll -241px -1px;}table.diff .diff-deletedline{background-color:#fdd;}table.diff .diff-deletedline del{background-color:#f99;}table.diff .diff-addedline{background-color:#dfd;}table.diff .diff-addedline ins{background-color:#9f9;}#att-info{background-color:#e4f2fd;}#sidemenu a{background-color:#f9f9f9;border-color:#f9f9f9;border-bottom-color:#dfdfdf;}#sidemenu a.current{background-color:#fff;border-color:#dfdfdf #dfdfdf #fff;color:#d54e21;}#screen-options-wrap,#contextual-help-wrap{background-color:#eae9e4;border-color:#dfdfdf;}#screen-meta-links a.show-settings{color:#606060;}#screen-meta-links a.show-settings:hover{color:#000;}#replysubmit{background-color:#f1f1f1;border-top-color:#ddd;}#replyerror{border-color:#ddd;background-color:#f9f9f9;}#edithead,#replyhead{background-color:#f1f1f1;}#ed_reply_toolbar{background-color:#e9e9e9;}.vim-current,.vim-current th,.vim-current td{background-color:#e4f2fd!important;}.star-average,.star.star-rating{background-color:#fc0;}div.star.select:hover{background-color:#d00;}#plugin-information .fyi ul{background-color:#eaf3fa;}#plugin-information .fyi h2.mainheader{background-color:#cee1ef;}#plugin-information pre,#plugin-information code{background-color:#ededff;}#plugin-information pre{border:1px solid #ccc;}.inline-edit-row fieldset input[type="text"],.inline-edit-row fieldset textarea,#bulk-titles,#replyrow input{border-color:#ddd;}.inline-editor div.title{background-color:#eaf3fa;}.inline-editor ul.cat-checklist{background-color:#fff;border-color:#ddd;}.inline-editor .categories .catshow,.inline-editor .categories .cathide{color:#21759b;}.inline-editor .quick-edit-save{background-color:#f1f1f1;}#replyrow #ed_reply_toolbar input:hover{border-color:#aaa;background:#ddd;}fieldset.inline-edit-col-right .inline-edit-col{border-color:#dfdfdf;}.attention{color:#d54e21;}.meta-box-sortables .postbox:hover .handlediv{background:transparent url(../images/menu-bits-vs.gif) no-repeat scroll left -111px;}#major-publishing-actions{background:#eaf2fa;}.tablenav .tablenav-pages{color:#555;}.tablenav .tablenav-pages a{border-color:#e3e3e3;background:#eee url('../images/menu-bits-vs.gif') repeat-x scroll left -379px;}.tablenav .tablenav-pages a:hover{color:#d54e21;border-color:#d54321;}.tablenav .tablenav-pages a:active{color:#fff!important;}.tablenav .tablenav-pages .current{background:#dfdfdf;border-color:#d3d3d3;}#availablethemes,#availablethemes td{border-color:#ddd;}#current-theme img{border-color:#999;}#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{color:#999;}#TB_window #TB_title a.tb-theme-preview-link:hover,#TB_window #TB_title a.tb-theme-preview-link:focus{color:#ccc;}.misc-pub-section{border-bottom-color:#eee;}#minor-publishing{border-bottom-color:#ddd;}#post-body .misc-pub-section{border-right-color:#eee;}.post-com-count span{background-color:#bbb;}.form-table .color-palette td{border-color:#fff;}.sortable-placeholder{border-color:#bbb;background-color:#f5f5f5;}#post-body ul#category-tabs li.tabs a{color:#333;}#wp_editimgbtn,#wp_delimgbtn,#wp_editgallery,#wp_delgallery{border-color:#999;background-color:#eee;}#wp_editimgbtn:hover,#wp_delimgbtn:hover,#wp_editgallery:hover,#wp_delgallery:hover{border-color:#555;background-color:#ccc;}#favorite-first{background:#5580a6 url(../images/fav-vs.png) repeat-x 0 center;border-color:#517ea5!important;border-bottom-color:#416686!important;}#favorite-actions .slide-down{background-image:url(../images/fav-top-vs.gif);background-position:0 0;background-repeat:repeat-x;}#favorite-inside{border-color:#5b86ac;background-color:#5580a6;}#favorite-toggle{background:transparent url(../images/fav-arrow-vs.gif) no-repeat 0 -4px;}#favorite-actions a{color:#ddd;}#favorite-actions a:hover{color:#fff;}#favorite-inside a:hover{text-decoration:underline;}#favorite-actions .slide-down{border-bottom-color:#626262;}#screen-meta a.show-settings{background-color:transparent;text-shadow:rgba(255,255,255,0.7) 0 1px 0;}#icon-edit,#icon-post{background:transparent url(../images/icons32-vs.png) no-repeat -552px -5px;}#icon-index{background:transparent url(../images/icons32-vs.png) no-repeat -137px -5px;}#icon-upload{background:transparent url(../images/icons32-vs.png) no-repeat -251px -5px;}#icon-link-manager,#icon-link,#icon-link-category{background:transparent url(../images/icons32-vs.png) no-repeat -190px -5px;}#icon-edit-pages,#icon-page{background:transparent url(../images/icons32-vs.png) no-repeat -312px -5px;}#icon-edit-comments{background:transparent url(../images/icons32-vs.png) no-repeat -72px -5px;}#icon-themes{background:transparent url(../images/icons32-vs.png) no-repeat -11px -5px;}#icon-plugins{background:transparent url(../images/icons32-vs.png) no-repeat -370px -5px;}#icon-users,#icon-profile,#icon-user-edit{background:transparent url(../images/icons32-vs.png) no-repeat -600px -5px;}#icon-tools,#icon-admin{background:transparent url(../images/icons32-vs.png) no-repeat -432px -5px;}#icon-options-general{background:transparent url(../images/icons32-vs.png) no-repeat -492px -5px;}.view-switch #view-switch-list{background:transparent url(../images/list-vs.png) no-repeat 0 0;}.view-switch #view-switch-list.current{background:transparent url(../images/list-vs.png) no-repeat -40px 0;}.view-switch #view-switch-excerpt{background:transparent url(../images/list-vs.png) no-repeat -20px 0;}.view-switch #view-switch-excerpt.current{background:transparent url(../images/list-vs.png) no-repeat -60px 0;}#header-logo{background:transparent url(../images/wp-logo-vs.gif) no-repeat scroll center center;}#wphead #site-visit-button{background-color:#3c6b95;background-image:url(../images/visit-site-button-grad-vs.gif);color:#b6d1e4;text-shadow:#3f3f3f 0 -1px 0;}#wphead a:hover #site-visit-button{color:#fff;}#wphead a:focus #site-visit-button,#wphead a:active #site-visit-button{background-position:0 -27px;}.popular-tags,.feature-filter{background-color:#fff;border-color:#dfdfdf;}#theme-information .action-button{border-top-color:#dfdfdf;}.theme-listing br.line{border-bottom-color:#ccc;}div.widgets-sortables,#widgets-left .inactive{background-color:#f1f1f1;border-color:#ddd;}#available-widgets .widget-holder{background-color:#fff;border-color:#ddd;}#widgets-left .sidebar-name{background-color:#aaa;background-image:url(../images/ed-bg-vs.gif);text-shadow:#FFF 0 1px 0;border-color:#dfdfdf;}#widgets-right .sidebar-name{background-image:url(../images/fav-vs.png);text-shadow:#3f3f3f 0 -1px 0;background-color:#636363;border-color:#636363;color:#fff;}.sidebar-name:hover,#removing-widget{color:#d54e21;}#removing-widget span{color:black;}#widgets-left .sidebar-name-arrow{background:transparent url(../images/menu-bits-vs.gif) no-repeat scroll left -109px;}#widgets-right .sidebar-name-arrow{background:transparent url(../images/fav-arrow-vs.gif) no-repeat scroll 0 -1px;}.in-widget-title{color:#606060;}.deleting .widget-title *{color:#aaa;}.imgedit-menu div{border-color:#d5d5d5;background-color:#f1f1f1;}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea;}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;filter:alpha(opacity=50);opacity:.5;}#dashboard_recent_comments div.undo{border-top-color:#dfdfdf;}.comment-ays,.comment-ays th{border-color:#ddd;}.comment-ays th{background-color:#f1f1f1;}
\ No newline at end of file
+html{background-color:#f7f6f1;}* html input,* html .widget{border-color:#8cbdd5;}textarea,input[type="text"],input[type="password"],input[type="file"],input[type="button"],input[type="submit"],input[type="reset"],select{border-color:#dfdfdf;background-color:#fff;}kbd,code{background:#eaeaea;}input[readonly]{background-color:#eee;}.find-box-search{border-color:#dfdfdf;background-color:#f1f1f1;}.find-box{background-color:#f1f1f1;}.find-box-inside{background-color:#fff;}a.page-numbers:hover{border-color:#999;}body,#wpbody,.form-table .pre{color:#333;}body>#upload-menu{border-bottom-color:#fff;}#postcustomstuff table,#your-profile fieldset,#rightnow,div.dashboard-widget,#dashboard-widgets p.dashboard-widget-links,#replyrow #ed_reply_toolbar input{border-color:#ccc;}#poststuff .inside label.spam,#poststuff .inside label.deleted{color:red;}#poststuff .inside label.waiting{color:orange;}#poststuff .inside label.approved{color:green;}#postcustomstuff table{border-color:#dfdfdf;background-color:#f9f9f9;}#postcustomstuff thead th{background-color:#f1f1f1;}#postcustomstuff table input,#postcustomstuff table textarea{border-color:#dfdfdf;background-color:#fff;}.widefat{border-color:#dfdfdf;background-color:#fff;}div.dashboard-widget-error{background-color:#c43;}div.dashboard-widget-notice{background-color:#cfe1ef;}div.dashboard-widget-submit{border-top-color:#ccc;}div.tabs-panel,ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs{border-color:#dfdfdf;}ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs{background-color:#f1f1f1;}input.disabled,textarea.disabled{background-color:#ccc;}.login #backtoblog a:hover,#plugin-information .action-button a,#plugin-information .action-button a:hover,#plugin-information .action-button a:visited{color:#fff;}.widget .widget-top,.postbox h3,.stuffbox h3{background:#d5e6f2 url("../images/blue-grad.png") repeat-x left top;text-shadow:#fff 0 1px 0;}.form-table th,.form-wrap label{color:#222;text-shadow:#fff 0 1px 0;}.description,.form-wrap p{color:#666;}strong .post-com-count span{background-color:#21759b;}.sorthelper{background-color:#ccf3fa;}.ac_match,.subsubsub a.current{color:#000;}.wrap h2{color:#093e56;}.ac_over{background-color:#f0f0b8;}.ac_results{background-color:#fff;border-color:#808080;}.ac_results li{color:#101010;}.alt .alternate{background-color:#edfbfc;}.available-theme a.screenshot{background-color:#f1f1f1;border-color:#ddd;}.bar{background-color:#e8e8e8;border-right-color:#99d;}#media-upload,#media-upload .media-item .slidetoggle{background:#fff;}#media-upload .slidetoggle{border-top-color:#dfdfdf;}.error,.login #login_error{background-color:#ffebe8;border-color:#c00;}.error a{color:#c00;}.form-invalid{background-color:#ffebe8!important;}.form-invalid input,.form-invalid select{border-color:#c00!important;}.submit{border-color:#8cbdd5;}.highlight{background-color:#e4f2fd;color:#d54e21;}.howto,.nonessential,#edit-slug-box,.form-input-tip,.rss-widget span.rss-date,.subsubsub{color:#666;}.media-item{border-bottom-color:#dfdfdf;}#wpbody-content #media-items .describe{border-top-color:#dfdfdf;}.media-upload-form label.form-help,td.help{color:#9a9a9a;}.post-com-count{background-image:url(../images/bubble_bg.gif);color:#fff;}.post-com-count span{background-color:#bbb;color:#fff;}.post-com-count:hover span{background-color:#d54e21;}.quicktags,.search{background-color:#ccc;color:#000;}.side-info h5{border-bottom-color:#dadada;}.side-info ul{color:#666;}.button,.button-secondary,.submit input,input[type=button],input[type=submit]{border-color:#dfdfdf;color:#464646;}.button:hover,.button-secondary:hover,.submit input:hover,input[type=button]:hover,input[type=submit]:hover{color:#000;border-color:#adaca7;}.button,.submit input,.button-secondary{background:#f2f2f2 url(../images/white-grad.png) repeat-x scroll left top;text-shadow:rgba(255,255,255,1) 0 1px 0;}.button:active,.submit input:active,.button-secondary:active{background:#eee url(../images/white-grad-active.png) repeat-x scroll left top;}input.button-primary,button.button-primary,a.button-primary{border-color:#5b86ab;font-weight:bold;color:#fff;background:#5580a6 url(../images/button-grad-vs.png) repeat-x scroll left top;text-shadow:rgba(0,0,0,0.3) 0 -1px 0;}input.button-primary:active,button.button-primary:active,a.button-primary:active{background:#21759b url(../images/button-grad-active-vs.png) repeat-x scroll left top;color:#eaf2fa;}input.button-primary:hover,button.button-primary:hover,a.button-primary:hover,a.button-primary:focus,a.button-primary:active{border-color:#2e5475;color:#eaf2fa;}.button-disabled,.button[disabled],.button:disabled,.button-secondary[disabled],.button-secondary:disabled,a.button.disabled{color:#aaa!important;border-color:#ddd!important;}.button-primary-disabled,.button-primary[disabled],.button-primary:disabled{color:#B0C3E2!important;background:#6590A6!important;}a:hover,a:active,a:focus{color:#d54e21;}#wphead #viewsite a:hover,#adminmenu a:hover,#adminmenu ul.wp-submenu a:hover,#the-comment-list .comment a:hover,#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover,.plugins .inactive a:hover,#all-plugins-table .plugins .inactive a:hover,#search-plugins-table .plugins .inactive a:hover{color:#d54e21;}#the-comment-list .comment-item,#dashboard-widgets #dashboard_quick_press form p.submit{border-color:#dfdfdf;}#side-sortables .category-tabs .tabs a,#side-sortables .add-menu-item-tabs .tabs a{color:#333;}#rightnow .rbutton{background-color:#ebebeb;color:#264761;}.submitbox .submit{background-color:#464646;color:#ccc;}.plugins a.delete:hover,#all-plugins-table .plugins a.delete:hover,#search-plugins-table .plugins a.delete:hover,.submitbox .submitdelete{color:#f00;border-bottom-color:#f00;}.submitbox .submitdelete:hover,#media-items a.delete:hover{color:#fff;background-color:#f00;border-bottom-color:#f00;}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:#f00;border-bottom-color:#f00;}.tablenav .dots{border-color:transparent;}.tablenav .next,.tablenav .prev{border-color:transparent;color:#21759b;}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#d54e21;}.updated,.login .message{background-color:#ffffe0;border-color:#e6db55;}.update-message{color:#000;}a.page-numbers{border-bottom-color:#b8d3e2;}.commentlist li{border-bottom-color:#ccc;}.widefat td,.widefat th,#install-plugins .plugins td,#install-plugins .plugins th{border-color:#dfdfdf;}.widefat th{text-shadow:rgba(255,255,255,0.8) 0 1px 0;}.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small,.find-box-head{color:#333;background:#d5e6f2 url(../images/blue-grad.png) repeat-x scroll left top;}h3.dashboard-widget-title small a{color:#d7d7d7;}h3.dashboard-widget-title small a:hover{color:#fff;}a,#adminmenu a,#poststuff #edButtonPreview,#poststuff #edButtonHTML,#the-comment-list p.comment-author strong a,#media-upload a.del-link,#media-items a.delete,.plugins a.delete,.ui-tabs-nav a{color:#1c6280;}body.press-this .tabs a,body.press-this .tabs a:hover{border-color:#c6d9e9;border-bottom-color:#fff;color:#d54e21;}#adminmenu #awaiting-mod,#adminmenu .update-plugins,#sidemenu a .update-plugins,#rightnow .reallynow,#plugin-information .action-button{background-color:#d54e21;color:#fff;}#adminmenu li a:hover #awaiting-mod,#adminmenu li a:hover .update-plugins,#sidemenu li a:hover .update-plugins{background-color:#264761;color:#fff;}#adminmenu li.current a #awaiting-mod,#adminmenu li.current a .update-plugins,#adminmenu li.wp-has-current-submenu a .update-plugins,#adminmenu li.wp-has-current-submenu a .update-plugins{background-color:#ddd;color:#000;text-shadow:none;-moz-box-shadow:rgba(0,0,0,0.2) 0 -1px 0;-khtml-box-shadow:rgba(0,0,0,0.2) 0 -1px 0;-webkit-box-shadow:rgba(0,0,0,0.2) 0 -1px 0;box-shadow:rgba(0,0,0,0.2) 0 -1px 0;}#adminmenu li.current a:hover #awaiting-mod,#adminmenu li.current a:hover .update-plugins,#adminmenu li.wp-has-current-submenu a:hover #awaiting-mod,#adminmenu li.wp-has-current-submenu a:hover .update-plugins{background-color:#264761;color:#fff;}div#media-upload-header,div#plugin-information-header{background-color:#f9f9f9;border-bottom-color:#dfdfdf;}#currenttheme img{border-color:#666;}#dashboard_secondary div.dashboard-widget-content ul li a{background-color:#f9f9f9;}input.readonly,textarea.readonly{background-color:#ddd;}#ed_toolbar input,#ed_reply_toolbar input{background:#fff url("../images/fade-butt.png") repeat-x 0 -2px;}#editable-post-name{background-color:#fffbcc;}#edit-slug-box strong,.tablenav .displaying-num,#submitted-on{color:#777;}.login #nav a{color:#21759b!important;}.login #nav a:hover{color:#d54e21!important;}#footer,#footer-upgrade{background:#1d507d;color:#b6d1e4;}#media-items,.imgedit-group{border-color:#dfdfdf;}.checkbox,.side-info,.plugins tr,.postbox,#your-profile #rich_editing{background-color:#fff;}.plugins .inactive,.plugins .inactive th,.plugins .inactive td,tr.inactive+tr.plugin-update-tr .plugin-update{background-color:#ebeeef;}.plugin-update-tr .update-message{background-color:#fffbe4;border-color:#dfdfdf;}.plugins .active,.plugins .active th,.plugins .active td{color:#000;}.plugins .inactive a{color:#579;}#the-comment-list tr.undo,#the-comment-list div.undo{background-color:#f4f4f4;}#the-comment-list .unapproved{background-color:#ffffe0;}#the-comment-list .approve a{color:#006505;}#the-comment-list .unapprove a{color:#d98500;}table.widefat span.delete a,table.widefat span.trash a,table.widefat span.spam a,#dashboard_recent_comments .delete a,#dashboard_recent_comments .trash a,#dashboard_recent_comments .spam a{color:#bc0b0b;}.widget,#widget-list .widget-top,.postbox,#titlediv,#poststuff .postarea,.stuffbox{border-color:#dfdfdf;}.widget,.postbox{background-color:#fff;}.ui-sortable .postbox h3{color:#093e56;}.widget .widget-top,.ui-sortable .postbox h3:hover{color:#000;}.curtime #timestamp{background-image:url(../images/date-button.gif);}#quicktags #ed_link{color:#00f;}#rightnow .youhave{background-color:#f0f6fb;}#rightnow a{color:#448abd;}.tagchecklist span a,#bulk-titles div a{background:url(../images/xit.gif) no-repeat;}.tagchecklist span a:hover,#bulk-titles div a:hover{background:url(../images/xit.gif) no-repeat -10px 0;}#update-nag,.update-nag{background-color:#FFFBCC;border-color:#E6DB55;color:#555;}.login #backtoblog a{color:#ccc;}#wphead{background-color:#1d507d;}body.login{border-top-color:#093e56;}#wphead h1 a{color:#fff;}#user_info{color:#b6d1e4;}#user_info a:link,#user_info a:visited,#footer a:link,#footer a:visited{color:#fff;text-decoration:none;}#user_info a:hover,#user_info a:active,#footer a:hover,#footer a:active{text-decoration:underline;}div#media-upload-error,.file-error,abbr.required,.widget-control-remove:hover,table.widefat .delete a:hover,table.widefat .trash a:hover,table.widefat .spam a:hover,#dashboard_recent_comments .delete a:hover,#dashboard_recent_comments .trash a:hover,#dashboard_recent_comments .spam a:hover{color:#f00;}#pass-strength-result{background-color:#eee;border-color:#ddd!important;}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c!important;}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0!important;}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040!important;}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c!important;}#quicktags{border-color:#dfdfdf;background-color:#dfdfdf;}#ed_toolbar input{border-color:#c3c3c3;}#ed_toolbar input:hover{border-color:#aaa;background:#ddd;}#poststuff .wp_themeSkin .mceStatusbar{border-color:#ededed;}#poststuff #edButtonPreview,#poststuff #edButtonHTML{background-color:#f2f1eb;border-color:#dfdfdf;color:#999;}#poststuff #editor-toolbar .active{border-bottom-color:#e3eef7;background-color:#e3eef7;color:#333;}#post-status-info{background-color:#ededed;}.wp_themeSkin *,.wp_themeSkin a:hover,.wp_themeSkin a:link,.wp_themeSkin a:visited,.wp_themeSkin a:active{color:#000;}.wp_themeSkin iframe{background:#fff;}.wp_themeSkin .mceStatusbar{color:#000;background-color:#f5f5f5;}.wp_themeSkin .mceButton{background-color:#e9e8e8;border-color:#b2b2b2;}.wp_themeSkin a.mceButtonEnabled:hover,.wp_themeSkin a.mceButtonActive,.wp_themeSkin a.mceButtonSelected{background-color:#d5d5d5;border-color:#777!important;}.wp_themeSkin .mceButtonDisabled{border-color:#ccc!important;}.wp_themeSkin .mceListBox .mceText,.wp_themeSkin .mceListBox .mceOpen{border-color:#b2b2b2;background-color:#d5d5d5;}.wp_themeSkin table.mceListBoxEnabled:hover .mceOpen,.wp_themeSkin .mceListBoxHover .mceOpen,.wp_themeSkin .mceListBoxSelected .mceOpen,.wp_themeSkin .mceListBoxSelected .mceText{border-color:#777!important;background-color:#d5d5d5;}.wp_themeSkin table.mceListBoxEnabled:hover .mceText,.wp_themeSkin .mceListBoxHover .mceText{border-color:#777!important;}.wp_themeSkin select.mceListBox{border-color:#b2b2b2;background-color:#fff;}.wp_themeSkin .mceSplitButton a.mceAction,.wp_themeSkin .mceSplitButton a.mceOpen{border-color:#b2b2b2;}.wp_themeSkin .mceSplitButton a.mceOpen:hover,.wp_themeSkin .mceSplitButtonSelected a.mceOpen,.wp_themeSkin table.mceSplitButtonEnabled:hover a.mceAction,.wp_themeSkin .mceSplitButton a.mceAction:hover{background-color:#d5d5d5;border-color:#777!important;}.wp_themeSkin .mceSplitButtonActive{background-color:#b2b2b2;}.wp_themeSkin div.mceColorSplitMenu table{background-color:#ebebeb;border-color:#b2b2b2;}.wp_themeSkin .mceColorSplitMenu a{border-color:#b2b2b2;}.wp_themeSkin .mceColorSplitMenu a.mceMoreColors{border-color:#fff;}.wp_themeSkin .mceColorSplitMenu a.mceMoreColors:hover{border-color:#0a246a;background-color:#b6bdd2;}.wp_themeSkin a.mceMoreColors:hover{border-color:#0a246a;}.wp_themeSkin .mceMenu{border-color:#ddd;}.wp_themeSkin .mceMenu table{background-color:#ebeaeb;}.wp_themeSkin .mceMenu .mceText{color:#000;}.wp_themeSkin .mceMenu .mceMenuItemEnabled a:hover,.wp_themeSkin .mceMenu .mceMenuItemActive{background-color:#f5f5f5;}.wp_themeSkin td.mceMenuItemSeparator{background-color:#aaa;}.wp_themeSkin .mceMenuItemTitle a{background-color:#ccc;border-bottom-color:#aaa;}.wp_themeSkin .mceMenuItemTitle span.mceText{color:#000;}.wp_themeSkin .mceMenuItemDisabled .mceText{color:#888;}#quicktags,.wp_themeSkin tr.mceFirst td.mceToolbar{background:#d5e6f2 url("../images/ed-bg-vs.gif") repeat-x scroll left top;}.wp_themeSkin tr.mceFirst td.mceToolbar{border-color:#dfdfdf;}.wp-admin #mceModalBlocker{background:#000;}.wp-admin .clearlooks2 .mceFocus .mceTop .mceLeft{background:#444;border-left:1px solid #999;border-top:1px solid #999;-moz-border-radius:4px 0 0 0;-webkit-border-top-left-radius:4px;-khtml-border-top-left-radius:4px;border-top-left-radius:4px;}.wp-admin .clearlooks2 .mceFocus .mceTop .mceRight{background:#444;border-right:1px solid #999;border-top:1px solid #999;border-top-right-radius:4px;-khtml-border-top-right-radius:4px;-webkit-border-top-right-radius:4px;-moz-border-radius:0 4px 0 0;}.wp-admin .clearlooks2 .mceMiddle .mceLeft{background:#f1f1f1;border-left:1px solid #999;}.wp-admin .clearlooks2 .mceMiddle .mceRight{background:#f1f1f1;border-right:1px solid #999;}.wp-admin .clearlooks2 .mceBottom{background:#f1f1f1;border-bottom:1px solid #999;}.wp-admin .clearlooks2 .mceBottom .mceLeft{background:#f1f1f1;border-bottom:1px solid #999;border-left:1px solid #999;}.wp-admin .clearlooks2 .mceBottom .mceCenter{background:#f1f1f1;border-bottom:1px solid #999;}.wp-admin .clearlooks2 .mceBottom .mceRight{background:#f1f1f1;border-bottom:1px solid #999;border-right:1px solid #999;}.wp-admin .clearlooks2 .mceFocus .mceTop span{color:#e5e5e5;}#editorcontainer,#post-status-info,#titlediv #title,.editwidget .widget-inside{border-color:#dfdfdf;}#titlediv #title{background-color:#fff;}#tTips p#tTips_inside{background-color:#ddd;color:#333;}#timestampdiv input,#namediv input,#poststuff .inside .the-tagcloud{border-color:#dfdfdf;}#adminmenu *{border-color:#dfdfdf;}#adminmenu li.wp-menu-separator{background:transparent url(../images/menu-arrows.gif) no-repeat scroll left 5px;}.folded #adminmenu li.wp-menu-separator{background:transparent url(../images/menu-arrows.gif) no-repeat scroll right -34px;}#adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle,#adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle{background:transparent url(../images/menu-bits-vs.gif) no-repeat scroll left -207px;}#adminmenu .wp-has-submenu:hover .wp-menu-toggle,#adminmenu .wp-menu-open .wp-menu-toggle{background:transparent url(../images/menu-bits-vs.gif) no-repeat scroll left -109px;}#adminmenu a.menu-top{background:#eaf3fa url(../images/menu-bits-vs.gif) repeat-x scroll left -379px;}#adminmenu .wp-submenu a{background:#fff url(../images/menu-bits-vs.gif) no-repeat scroll 0 -310px;}#adminmenu .wp-has-current-submenu ul li a{background:none;}#adminmenu .wp-has-current-submenu ul li a.current{background:url(../images/menu-dark.gif) top left no-repeat!important;}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu .menu-top .current{background:#3c6b95 url(../images/menu-bits-vs.gif) top left repeat-x;border-color:#1d507d;color:#fff;text-shadow:rgba(0,0,0,0.4) 0 -1px 0;}#adminmenu li.wp-has-current-submenu .wp-submenu,#adminmenu li.wp-has-current-submenu ul li a{border-color:#aaa!important;}#adminmenu li.wp-has-current-submenu ul li a{background:url(../images/menu-dark.gif) bottom left no-repeat!important;}#adminmenu li.wp-has-current-submenu ul{border-bottom-color:#aaa;}#adminmenu li.menu-top .current:hover{border-color:#6583c0;}#adminmenu .wp-submenu .current a.current{background:transparent url(../images/menu-bits-vs.gif) no-repeat scroll 0 -289px;}#adminmenu .wp-submenu a:hover{background-color:#eaf2fa!important;color:#333!important;}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover{color:#333;background-color:#f5f5f5;background-image:none;border-color:#e3e3e3;text-shadow:rgba(255,255,255,1) 0 1px 0;}#adminmenu .wp-submenu ul{background-color:#fff;}.folded #adminmenu li.menu-top,#adminmenu .wp-submenu .wp-submenu-head{background-color:#eaf2fa;}.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.menu-top.current{background-color:#bbd8e7;}#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{background-color:#bbd8e7;border-color:#8cbdd5;}#adminmenu div.wp-submenu{background-color:transparent;}#adminmenu .menu-icon-dashboard div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -61px -33px;}#adminmenu .menu-icon-dashboard:hover div.wp-menu-image,#adminmenu .menu-icon-dashboard.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-dashboard.current div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -61px -1px;}#adminmenu .menu-icon-post div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -272px -33px;}#adminmenu .menu-icon-post:hover div.wp-menu-image,#adminmenu .menu-icon-post.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -272px -1px;}#adminmenu .menu-icon-media div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -121px -33px;}#adminmenu .menu-icon-media:hover div.wp-menu-image,#adminmenu .menu-icon-media.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -121px -1px;}#adminmenu .menu-icon-links div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -91px -33px;}#adminmenu .menu-icon-links:hover div.wp-menu-image,#adminmenu .menu-icon-links.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -91px -1px;}#adminmenu .menu-icon-page div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -151px -33px;}#adminmenu .menu-icon-page:hover div.wp-menu-image,#adminmenu .menu-icon-page.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -151px -1px;}#adminmenu .menu-icon-comments div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -31px -33px;}#adminmenu .menu-icon-comments:hover div.wp-menu-image,#adminmenu .menu-icon-comments.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-comments.current div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -31px -1px;}#adminmenu .menu-icon-appearance div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -1px -33px;}#adminmenu .menu-icon-appearance:hover div.wp-menu-image,#adminmenu .menu-icon-appearance.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -1px -1px;}#adminmenu .menu-icon-plugins div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -181px -33px;}#adminmenu .menu-icon-plugins:hover div.wp-menu-image,#adminmenu .menu-icon-plugins.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -181px -1px;}#adminmenu .menu-icon-users div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -301px -33px;}#adminmenu .menu-icon-users:hover div.wp-menu-image,#adminmenu .menu-icon-users.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -301px -1px;}#adminmenu .menu-icon-tools div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -211px -33px;}#adminmenu .menu-icon-tools:hover div.wp-menu-image,#adminmenu .menu-icon-tools.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -211px -1px;}#adminmenu .menu-icon-settings div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -241px -33px;}#adminmenu .menu-icon-settings:hover div.wp-menu-image,#adminmenu .menu-icon-settings.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -241px -1px;}#adminmenu .menu-icon-site div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -361px -33px;}#adminmenu .menu-icon-site:hover div.wp-menu-image,#adminmenu .menu-icon-site.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -361px -1px;}table.diff .diff-deletedline{background-color:#fdd;}table.diff .diff-deletedline del{background-color:#f99;}table.diff .diff-addedline{background-color:#dfd;}table.diff .diff-addedline ins{background-color:#9f9;}#att-info{background-color:#e4f2fd;}#sidemenu a{background-color:#f9f9f9;border-color:#f9f9f9;border-bottom-color:#dfdfdf;}#sidemenu a.current{background-color:#fff;border-color:#dfdfdf #dfdfdf #fff;color:#d54e21;}#screen-options-wrap,#contextual-help-wrap{background-color:#eae9e4;border-color:#dfdfdf;}#screen-meta-links a.show-settings{color:#606060;}#screen-meta-links a.show-settings:hover{color:#000;}#replysubmit{background-color:#f1f1f1;border-top-color:#ddd;}#replyerror{border-color:#ddd;background-color:#f9f9f9;}#edithead,#replyhead{background-color:#f1f1f1;}#ed_reply_toolbar{background-color:#e9e9e9;}.vim-current,.vim-current th,.vim-current td{background-color:#e4f2fd!important;}.star-average,.star.star-rating{background-color:#fc0;}div.star.select:hover{background-color:#d00;}#plugin-information .fyi ul{background-color:#eaf3fa;}#plugin-information .fyi h2.mainheader{background-color:#cee1ef;}#plugin-information pre,#plugin-information code{background-color:#ededff;}#plugin-information pre{border:1px solid #ccc;}.inline-edit-row fieldset input[type="text"],.inline-edit-row fieldset textarea,#bulk-titles,#replyrow input{border-color:#ddd;}.inline-editor div.title{background-color:#eaf3fa;}.inline-editor ul.cat-checklist{background-color:#fff;border-color:#ddd;}.inline-editor .categories .catshow,.inline-editor .categories .cathide{color:#21759b;}.inline-editor .quick-edit-save{background-color:#f1f1f1;}#replyrow #ed_reply_toolbar input:hover{border-color:#aaa;background:#ddd;}fieldset.inline-edit-col-right .inline-edit-col{border-color:#dfdfdf;}.attention{color:#d54e21;}.meta-box-sortables .postbox:hover .handlediv{background:transparent url(../images/menu-bits-vs.gif) no-repeat scroll left -111px;}#major-publishing-actions{background:#eaf2fa;}.tablenav .tablenav-pages{color:#555;}.tablenav .tablenav-pages a{border-color:#e3e3e3;background:#eee url('../images/menu-bits-vs.gif') repeat-x scroll left -379px;}.tablenav .tablenav-pages a:hover{color:#d54e21;border-color:#d54321;}.tablenav .tablenav-pages a:active{color:#fff!important;}.tablenav .tablenav-pages .current{background:#dfdfdf;border-color:#d3d3d3;}#availablethemes,#availablethemes td{border-color:#ddd;}#current-theme img{border-color:#999;}#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{color:#999;}#TB_window #TB_title a.tb-theme-preview-link:hover,#TB_window #TB_title a.tb-theme-preview-link:focus{color:#ccc;}.misc-pub-section{border-bottom-color:#eee;}#minor-publishing{border-bottom-color:#ddd;}#post-body .misc-pub-section{border-right-color:#eee;}.post-com-count span{background-color:#bbb;}.form-table .color-palette td{border-color:#fff;}.sortable-placeholder{border-color:#bbb;background-color:#f5f5f5;}#post-body ul.category-tabs li.tabs a,#post-body ul.add-menu-item-tabs li.tabs a{color:#333;}#wp_editimgbtn,#wp_delimgbtn,#wp_editgallery,#wp_delgallery{border-color:#999;background-color:#eee;}#wp_editimgbtn:hover,#wp_delimgbtn:hover,#wp_editgallery:hover,#wp_delgallery:hover{border-color:#555;background-color:#ccc;}#favorite-first{background:#5580a6 url(../images/fav-vs.png) repeat-x 0 center;border-color:#517ea5!important;border-bottom-color:#416686!important;}#favorite-actions .slide-down{background-image:url(../images/fav-top-vs.gif);background-position:0 0;background-repeat:repeat-x;}#favorite-inside{border-color:#5b86ac;background-color:#5580a6;}#favorite-toggle{background:transparent url(../images/fav-arrow-vs.gif) no-repeat 0 -4px;}#favorite-actions a{color:#ddd;}#favorite-actions a:hover{color:#fff;}#favorite-inside a:hover{text-decoration:underline;}#favorite-actions .slide-down{border-bottom-color:#626262;}#screen-meta a.show-settings{background-color:transparent;text-shadow:rgba(255,255,255,0.7) 0 1px 0;}#icon-edit,#icon-post{background:transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -552px -5px;}#icon-index{background:transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -137px -5px;}#icon-upload{background:transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -251px -5px;}#icon-link-manager,#icon-link,#icon-link-category{background:transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -190px -5px;}#icon-edit-pages,#icon-page{background:transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -312px -5px;}#icon-edit-comments{background:transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -72px -5px;}#icon-themes{background:transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -11px -5px;}#icon-plugins{background:transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -370px -5px;}#icon-users,#icon-profile,#icon-user-edit{background:transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -600px -5px;}#icon-tools,#icon-admin{background:transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -432px -5px;}#icon-options-general{background:transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -492px -5px;}#icon-ms-admin{background:transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -659px -5px;}.view-switch #view-switch-list{background:transparent url(../images/list-vs.png) no-repeat 0 0;}.view-switch #view-switch-list.current{background:transparent url(../images/list-vs.png) no-repeat -40px 0;}.view-switch #view-switch-excerpt{background:transparent url(../images/list-vs.png) no-repeat -20px 0;}.view-switch #view-switch-excerpt.current{background:transparent url(../images/list-vs.png) no-repeat -60px 0;}#header-logo{background:transparent url(../images/wp-logo-vs.png) no-repeat scroll center center;}#wphead #site-visit-button{background-color:#3c6b95;background-image:url(../images/visit-site-button-grad-vs.gif);color:#b6d1e4;text-shadow:#3f3f3f 0 -1px 0;}#wphead a:hover #site-visit-button{color:#fff;}#wphead a:focus #site-visit-button,#wphead a:active #site-visit-button{background-position:0 -27px;}.popular-tags,.feature-filter{background-color:#fff;border-color:#dfdfdf;}#theme-information .action-button{border-top-color:#dfdfdf;}.theme-listing br.line{border-bottom-color:#ccc;}div.widgets-sortables,#widgets-left .inactive{background-color:#f1f1f1;border-color:#ddd;}#available-widgets .widget-holder{background-color:#fff;border-color:#ddd;}#widgets-left .sidebar-name{background-color:#aaa;background-image:url(../images/ed-bg-vs.gif);text-shadow:#fff 0 1px 0;border-color:#dfdfdf;}#widgets-right .sidebar-name{background-image:url(../images/fav-vs.png);text-shadow:#3f3f3f 0 -1px 0;background-color:#636363;border-color:#636363;color:#fff;}.sidebar-name:hover,#removing-widget{color:#d54e21;}#removing-widget span{color:black;}#widgets-left .sidebar-name-arrow{background:transparent url(../images/menu-bits-vs.gif) no-repeat scroll left -109px;}#widgets-right .sidebar-name-arrow{background:transparent url(../images/fav-arrow-vs.gif) no-repeat scroll 0 -1px;}.in-widget-title{color:#606060;}.deleting .widget-title *{color:#aaa;}.imgedit-menu div{border-color:#d5d5d5;background-color:#f1f1f1;}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea;}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;filter:alpha(opacity=50);opacity:.5;}#dashboard_recent_comments div.undo{border-top-color:#dfdfdf;}.comment-ays,.comment-ays th{border-color:#ddd;}.comment-ays th{background-color:#f1f1f1;}#nav-menu-header,.menu-item-handle{background:url("../images/blue-grad.png") repeat-x scroll left top #d5e6f2;}#menu-management .nav-tab-active{background:#eaf3fa;border-bottom-color:#eaf3fa;}
\ No newline at end of file
diff --git a/wp-admin/css/colors-classic.dev.css b/wp-admin/css/colors-classic.dev.css
index 9f244186..3d9924f7 100644
--- a/wp-admin/css/colors-classic.dev.css
+++ b/wp-admin/css/colors-classic.dev.css
@@ -4,7 +4,7 @@ html {
* html input,
* html .widget {
- border-color: #8cbdd5;
+ border-color: #8cbdd5;
}
textarea,
@@ -110,11 +110,13 @@ div.dashboard-widget-submit {
}
div.tabs-panel,
-ul#category-tabs li.tabs {
+ul.category-tabs li.tabs,
+ul.add-menu-item-tabs li.tabs {
border-color: #dfdfdf;
}
-ul#category-tabs li.tabs {
+ul.category-tabs li.tabs,
+ul.add-menu-item-tabs li.tabs {
background-color: #f1f1f1;
}
@@ -380,11 +382,8 @@ div.dashboard-widget-submit input:hover,
border-color: #dfdfdf;
}
-#dashboard_right_now .table {
- background:#faf9f7 !important;
-}
-
-#side-sortables #category-tabs .tabs a {
+#side-sortables .category-tabs .tabs a,
+#side-sortables .add-menu-item-tabs .tabs a {
color: #333;
}
@@ -442,7 +441,7 @@ div.dashboard-widget-submit input:hover,
}
.update-message {
- color: #000000;
+ color: #000;
}
a.page-numbers {
@@ -497,7 +496,6 @@ a,
/* Because we don't want visited on these links */
body.press-this .tabs a,
body.press-this .tabs a:hover {
- background-color: #fff;
border-color: #c6d9e9;
border-bottom-color: #fff;
color: #d54e21;
@@ -697,9 +695,9 @@ table.widefat span.spam a,
background: url(../images/xit.gif) no-repeat -10px 0;
}
-#update-nag {
- background-color: #fffeeb;
- border-color: #ccc;
+#update-nag, .update-nag {
+ background-color: #FFFBCC;
+ border-color: #E6DB55;
color: #555;
}
@@ -949,7 +947,7 @@ table.widefat .spam a:hover,
#quicktags,
.wp_themeSkin tr.mceFirst td.mceToolbar {
- background: #e3eef7 url("../images/ed-bg-vs.gif") repeat-x scroll left top;
+ background: #d5e6f2 url("../images/ed-bg-vs.gif") repeat-x scroll left top;
}
.wp_themeSkin tr.mceFirst td.mceToolbar {
border-color: #dfdfdf;
@@ -1145,105 +1143,114 @@ table.widefat .spam a:hover,
}
/* menu icons */
-#adminmenu #menu-dashboard div.wp-menu-image {
- background: transparent url("../images/menu-vs.png") no-repeat scroll -61px -33px;
+#adminmenu .menu-icon-dashboard div.wp-menu-image {
+ background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -61px -33px;
+}
+
+#adminmenu .menu-icon-dashboard:hover div.wp-menu-image,
+#adminmenu .menu-icon-dashboard.wp-has-current-submenu div.wp-menu-image,
+#adminmenu .menu-icon-dashboard.current div.wp-menu-image {
+ background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -61px -1px;
+}
+
+#adminmenu .menu-icon-post div.wp-menu-image {
+ background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -272px -33px;
}
-#adminmenu #menu-dashboard:hover div.wp-menu-image,
-#adminmenu #menu-dashboard.wp-has-current-submenu div.wp-menu-image,
-#adminmenu #menu-dashboard.current div.wp-menu-image {
- background: transparent url("../images/menu-vs.png") no-repeat scroll -61px -1px;
+#adminmenu .menu-icon-post:hover div.wp-menu-image,
+#adminmenu .menu-icon-post.wp-has-current-submenu div.wp-menu-image {
+ background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -272px -1px;
}
-#adminmenu #menu-posts div.wp-menu-image {
- background: transparent url("../images/menu-vs.png") no-repeat scroll -272px -33px;
+#adminmenu .menu-icon-media div.wp-menu-image {
+ background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -121px -33px;
}
-#adminmenu #menu-posts:hover div.wp-menu-image,
-#adminmenu #menu-posts.wp-has-current-submenu div.wp-menu-image {
- background: transparent url("../images/menu-vs.png") no-repeat scroll -272px -1px;
+#adminmenu .menu-icon-media:hover div.wp-menu-image,
+#adminmenu .menu-icon-media.wp-has-current-submenu div.wp-menu-image {
+ background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -121px -1px;
}
-#adminmenu #menu-media div.wp-menu-image {
- background: transparent url("../images/menu-vs.png") no-repeat scroll -121px -33px;
+#adminmenu .menu-icon-links div.wp-menu-image {
+ background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -91px -33px;
}
-#adminmenu #menu-media:hover div.wp-menu-image,
-#adminmenu #menu-media.wp-has-current-submenu div.wp-menu-image {
- background: transparent url("../images/menu-vs.png") no-repeat scroll -121px -1px;
+#adminmenu .menu-icon-links:hover div.wp-menu-image,
+#adminmenu .menu-icon-links.wp-has-current-submenu div.wp-menu-image {
+ background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -91px -1px;
}
-#adminmenu #menu-links div.wp-menu-image {
- background: transparent url("../images/menu-vs.png") no-repeat scroll -91px -33px;
+#adminmenu .menu-icon-page div.wp-menu-image {
+ background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -151px -33px;
}
-#adminmenu #menu-links:hover div.wp-menu-image,
-#adminmenu #menu-links.wp-has-current-submenu div.wp-menu-image {
- background: transparent url("../images/menu-vs.png") no-repeat scroll -91px -1px;
+#adminmenu .menu-icon-page:hover div.wp-menu-image,
+#adminmenu .menu-icon-page.wp-has-current-submenu div.wp-menu-image {
+ background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -151px -1px;
}
-#adminmenu #menu-pages div.wp-menu-image {
- background: transparent url("../images/menu-vs.png") no-repeat scroll -151px -33px;
+#adminmenu .menu-icon-comments div.wp-menu-image {
+ background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -31px -33px;
}
-#adminmenu #menu-pages:hover div.wp-menu-image,
-#adminmenu #menu-pages.wp-has-current-submenu div.wp-menu-image {
- background: transparent url("../images/menu-vs.png") no-repeat scroll -151px -1px;
+#adminmenu .menu-icon-comments:hover div.wp-menu-image,
+#adminmenu .menu-icon-comments.wp-has-current-submenu div.wp-menu-image,
+#adminmenu .menu-icon-comments.current div.wp-menu-image {
+ background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -31px -1px;
}
-#adminmenu #menu-comments div.wp-menu-image {
- background: transparent url("../images/menu-vs.png") no-repeat scroll -31px -33px;
+#adminmenu .menu-icon-appearance div.wp-menu-image {
+ background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -1px -33px;
}
-#adminmenu #menu-comments:hover div.wp-menu-image,
-#adminmenu #menu-comments.wp-has-current-submenu div.wp-menu-image,
-#adminmenu #menu-comments.current div.wp-menu-image {
- background: transparent url("../images/menu-vs.png") no-repeat scroll -31px -1px;
+#adminmenu .menu-icon-appearance:hover div.wp-menu-image,
+#adminmenu .menu-icon-appearance.wp-has-current-submenu div.wp-menu-image {
+ background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -1px -1px;
}
-#adminmenu #menu-appearance div.wp-menu-image {
- background: transparent url("../images/menu-vs.png") no-repeat scroll -1px -33px;
+#adminmenu .menu-icon-plugins div.wp-menu-image {
+ background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -181px -33px;
}
-#adminmenu #menu-appearance:hover div.wp-menu-image,
-#adminmenu #menu-appearance.wp-has-current-submenu div.wp-menu-image {
- background: transparent url("../images/menu-vs.png") no-repeat scroll -1px -1px;
+#adminmenu .menu-icon-plugins:hover div.wp-menu-image,
+#adminmenu .menu-icon-plugins.wp-has-current-submenu div.wp-menu-image {
+ background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -181px -1px;
}
-#adminmenu #menu-plugins div.wp-menu-image {
- background: transparent url("../images/menu-vs.png") no-repeat scroll -181px -33px;
+#adminmenu .menu-icon-users div.wp-menu-image {
+ background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -301px -33px;
}
-#adminmenu #menu-plugins:hover div.wp-menu-image,
-#adminmenu #menu-plugins.wp-has-current-submenu div.wp-menu-image {
- background: transparent url("../images/menu-vs.png") no-repeat scroll -181px -1px;
+#adminmenu .menu-icon-users:hover div.wp-menu-image,
+#adminmenu .menu-icon-users.wp-has-current-submenu div.wp-menu-image {
+ background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -301px -1px;
}
-#adminmenu #menu-users div.wp-menu-image {
- background: transparent url("../images/menu-vs.png") no-repeat scroll -301px -33px;
+#adminmenu .menu-icon-tools div.wp-menu-image {
+ background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -211px -33px;
}
-#adminmenu #menu-users:hover div.wp-menu-image,
-#adminmenu #menu-users.wp-has-current-submenu div.wp-menu-image {
- background: transparent url("../images/menu-vs.png") no-repeat scroll -301px -1px;
+#adminmenu .menu-icon-tools:hover div.wp-menu-image,
+#adminmenu .menu-icon-tools.wp-has-current-submenu div.wp-menu-image {
+ background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -211px -1px;
}
-#adminmenu #menu-tools div.wp-menu-image {
- background: transparent url("../images/menu-vs.png") no-repeat scroll -211px -33px;
+#adminmenu .menu-icon-settings div.wp-menu-image {
+ background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -241px -33px;
}
-#adminmenu #menu-tools:hover div.wp-menu-image,
-#adminmenu #menu-tools.wp-has-current-submenu div.wp-menu-image {
- background: transparent url("../images/menu-vs.png") no-repeat scroll -211px -1px;
+#adminmenu .menu-icon-settings:hover div.wp-menu-image,
+#adminmenu .menu-icon-settings.wp-has-current-submenu div.wp-menu-image {
+ background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -241px -1px;
}
-#adminmenu #menu-settings div.wp-menu-image {
- background: transparent url("../images/menu-vs.png") no-repeat scroll -241px -33px;
+#adminmenu .menu-icon-site div.wp-menu-image {
+ background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -361px -33px;
}
-#adminmenu #menu-settings:hover div.wp-menu-image,
-#adminmenu #menu-settings.wp-has-current-submenu div.wp-menu-image {
- background: transparent url("../images/menu-vs.png") no-repeat scroll -241px -1px;
+#adminmenu .menu-icon-site:hover div.wp-menu-image,
+#adminmenu .menu-icon-site.wp-has-current-submenu div.wp-menu-image {
+ background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -361px -1px;
}
/* end menu */
@@ -1463,7 +1470,8 @@ fieldset.inline-edit-col-right .inline-edit-col {
background-color: #f5f5f5;
}
-#post-body ul#category-tabs li.tabs a {
+#post-body ul.category-tabs li.tabs a,
+#post-body ul.add-menu-item-tabs li.tabs a {
color: #333;
}
@@ -1527,53 +1535,57 @@ fieldset.inline-edit-col-right .inline-edit-col {
#icon-edit,
#icon-post {
- background: transparent url(../images/icons32-vs.png) no-repeat -552px -5px;
+ background: transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -552px -5px;
}
#icon-index {
- background: transparent url(../images/icons32-vs.png) no-repeat -137px -5px;
+ background: transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -137px -5px;
}
#icon-upload {
- background: transparent url(../images/icons32-vs.png) no-repeat -251px -5px;
+ background: transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -251px -5px;
}
#icon-link-manager,
#icon-link,
#icon-link-category {
- background: transparent url(../images/icons32-vs.png) no-repeat -190px -5px;
+ background: transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -190px -5px;
}
#icon-edit-pages,
#icon-page {
- background: transparent url(../images/icons32-vs.png) no-repeat -312px -5px;
+ background: transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -312px -5px;
}
#icon-edit-comments {
- background: transparent url(../images/icons32-vs.png) no-repeat -72px -5px;
+ background: transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -72px -5px;
}
#icon-themes {
- background: transparent url(../images/icons32-vs.png) no-repeat -11px -5px;
+ background: transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -11px -5px;
}
#icon-plugins {
- background: transparent url(../images/icons32-vs.png) no-repeat -370px -5px;
+ background: transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -370px -5px;
}
#icon-users,
#icon-profile,
#icon-user-edit {
- background: transparent url(../images/icons32-vs.png) no-repeat -600px -5px;
+ background: transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -600px -5px;
}
#icon-tools,
#icon-admin {
- background: transparent url(../images/icons32-vs.png) no-repeat -432px -5px;
+ background: transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -432px -5px;
}
#icon-options-general {
- background: transparent url(../images/icons32-vs.png) no-repeat -492px -5px;
+ background: transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -492px -5px;
+}
+
+#icon-ms-admin {
+ background: transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -659px -5px;
}
.view-switch #view-switch-list {
@@ -1593,7 +1605,7 @@ fieldset.inline-edit-col-right .inline-edit-col {
}
#header-logo {
- background: transparent url(../images/wp-logo-vs.gif) no-repeat scroll center center;
+ background: transparent url(../images/wp-logo-vs.png) no-repeat scroll center center;
}
#wphead #site-visit-button {
@@ -1629,18 +1641,18 @@ fieldset.inline-edit-col-right .inline-edit-col {
div.widgets-sortables,
#widgets-left .inactive {
background-color: #f1f1f1;
- border-color: #ddd;
+ border-color: #ddd;
}
#available-widgets .widget-holder {
- background-color: #fff;
- border-color: #ddd;
+ background-color: #fff;
+ border-color: #ddd;
}
#widgets-left .sidebar-name {
background-color: #aaa;
background-image: url(../images/ed-bg-vs.gif);
- text-shadow: #FFFFFF 0 1px 0;
+ text-shadow: #fff 0 1px 0;
border-color: #dfdfdf;
}
@@ -1706,3 +1718,12 @@ div.widgets-sortables,
.comment-ays th {
background-color: #f1f1f1;
}
+
+#nav-menu-header, .menu-item-handle {
+ background: url("../images/blue-grad.png") repeat-x scroll left top #d5e6f2;
+}
+
+#menu-management .nav-tab-active {
+ background: #eaf3fa;
+ border-bottom-color: #eaf3fa;
+}
\ No newline at end of file
diff --git a/wp-admin/css/colors-fresh-rtl.css b/wp-admin/css/colors-fresh-rtl.css
index b6d88bb2..18930fdc 100644
--- a/wp-admin/css/colors-fresh-rtl.css
+++ b/wp-admin/css/colors-fresh-rtl.css
@@ -1,83 +1 @@
-.bar {
- border-right-color: transparent;
- border-left-color: #99d;
-}
-
-.plugins .togl {
- border-right-color: transparent;
- border-left-color: #ccc;
-}
-
-.post-com-count {
- background-image: url(../images/bubble_bg-rtl.gif);
-}
-.tablenav .tablenav-pages a {
- background: #eee url('../images/menu-bits-rtl.gif') repeat-x scroll right -379px;
-}
-#upload-menu li.current {
- border-right-color: transparent;
- border-left-color: #448abd;
-}
-
-#adminmenu .wp-submenu .current a.current {
- background: transparent url(../images/menu-bits-rtl.gif) no-repeat scroll right -289px;
-}
-
-#adminmenu li.wp-menu-separator {
- background: transparent url(../images/menu-arrows.gif) no-repeat scroll right -34px;
-}
-
-.folded #adminmenu li.wp-menu-separator {
- background: transparent url(../images/menu-arrows.gif) no-repeat scroll left 5px;
-}
-
-#adminmenu li.wp-has-current-submenu .wp-menu-toggle,
-#adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle {
- background: transparent url(../images/menu-bits-rtl.gif) repeat-x scroll right -207px;
-}
-
-#adminmenu .wp-has-current-submenu ul li a.current {
- background: url(../images/menu-dark-rtl.gif) top right no-repeat !important;
-}
-
-#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,
-#adminmenu .menu-top .current {
- background: url(../images/menu-bits-rtl.gif) top right repeat-x;
-}
-
-#adminmenu li.wp-has-current-submenu ul li a {
- background: url(../images/menu-dark-rtl.gif) bottom right no-repeat !important;
-}
-
-#adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle, #adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle {
- background: transparent url(../images/menu-bits-rtl.gif) no-repeat right -207px;
-}
-
-#adminmenu .wp-has-submenu:hover .wp-menu-toggle,
-#adminmenu .wp-menu-open .wp-menu-toggle {
- background: transparent url(../images/menu-bits-rtl.gif) repeat-x scroll right -109px;
-}
-
-#adminmenu a.wp-has-submenu {
- background: #f1f1f1 url(../images/menu-bits-rtl.gif) repeat-x scroll right -379px;
-}
-
-#adminmenu .wp-submenu a {
- background: #FFFFFF url(../images/menu-bits-rtl.gif) no-repeat scroll right -310px;
-}
-
-#adminmenu li.current a,
-#adminmenu .wp-submenu a:hover {
- background: transparent url(../images/menu-bits-rtl.gif) no-repeat scroll right -289px;
-}
-
-#adminmenu li.wp-has-current-submenu a.wp-has-submenu {
- background: #b5b5b5 url(../images/menu-bits-rtl.gif) repeat-x scroll right top;
-}
-
-.meta-box-sortables .postbox:hover .handlediv {
- background: transparent url(../images/menu-bits-rtl.gif) no-repeat scroll right -111px;
-}
-#favorite-toggle {
- background: transparent url(../images/fav-arrow-rtl.gif) no-repeat right -4px;
-}
+.bar{border-right-color:transparent;border-left-color:#99d;}.plugins .togl{border-right-color:transparent;border-left-color:#ccc;}.post-com-count{background-image:url(../images/bubble_bg-rtl.gif);}.tablenav .tablenav-pages a{background:#eee url('../images/menu-bits-rtl.gif?ver=20100531') repeat-x scroll right -379px;}#upload-menu li.current{border-right-color:transparent;border-left-color:#448abd;}#adminmenu .wp-submenu .current a.current{background:transparent url(../images/menu-bits-rtl.gif?ver=20100531) no-repeat scroll right -289px;}#adminmenu li.wp-menu-separator{background:transparent url(../images/menu-arrows.gif) no-repeat scroll right -34px;}.folded #adminmenu li.wp-menu-separator{background:transparent url(../images/menu-arrows.gif) no-repeat scroll left 5px;}#adminmenu li.wp-has-current-submenu .wp-menu-toggle,#adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle{background:transparent url(../images/menu-bits-rtl.gif?ver=20100531) repeat-x scroll right -207px;}#adminmenu .wp-has-current-submenu ul li a.current{background:url(../images/menu-dark-rtl.gif) top right no-repeat!important;}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu .menu-top .current{background:url(../images/menu-bits-rtl.gif?ver=20100531) top right repeat-x;}#adminmenu li.wp-has-current-submenu ul li a{background:url(../images/menu-dark-rtl.gif) bottom right no-repeat!important;}#adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle,#adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle{background:transparent url(../images/menu-bits-rtl.gif?ver=20100531) no-repeat right -207px;}#adminmenu .wp-has-submenu:hover .wp-menu-toggle,#adminmenu .wp-menu-open .wp-menu-toggle{background:transparent url(../images/menu-bits-rtl.gif?ver=20100531) repeat-x scroll right -109px;}#adminmenu a.wp-has-submenu{background:#f1f1f1 url(../images/menu-bits-rtl.gif?ver=20100531) repeat-x scroll right -379px;}#adminmenu .wp-submenu a{background:#fff url(../images/menu-bits-rtl.gif?ver=20100531) no-repeat scroll right -310px;}#adminmenu li.wp-has-current-submenu a.wp-has-submenu{background:#b5b5b5 url(../images/menu-bits-rtl.gif?ver=20100531) repeat-x scroll right top;}.meta-box-sortables .postbox:hover .handlediv{background:transparent url(../images/menu-bits-rtl.gif?ver=20100531) no-repeat scroll right -111px;}#favorite-toggle{background:transparent url(../images/fav-arrow-rtl.gif?ver=20100531) no-repeat right -4px;}
\ No newline at end of file
diff --git a/wp-admin/css/colors-fresh-rtl.dev.css b/wp-admin/css/colors-fresh-rtl.dev.css
new file mode 100644
index 00000000..8071127d
--- /dev/null
+++ b/wp-admin/css/colors-fresh-rtl.dev.css
@@ -0,0 +1,78 @@
+.bar {
+ border-right-color: transparent;
+ border-left-color: #99d;
+}
+
+.plugins .togl {
+ border-right-color: transparent;
+ border-left-color: #ccc;
+}
+
+.post-com-count {
+ background-image: url(../images/bubble_bg-rtl.gif);
+}
+.tablenav .tablenav-pages a {
+ background: #eee url('../images/menu-bits-rtl.gif?ver=20100531') repeat-x scroll right -379px;
+}
+#upload-menu li.current {
+ border-right-color: transparent;
+ border-left-color: #448abd;
+}
+
+#adminmenu .wp-submenu .current a.current {
+ background: transparent url(../images/menu-bits-rtl.gif?ver=20100531) no-repeat scroll right -289px;
+}
+
+#adminmenu li.wp-menu-separator {
+ background: transparent url(../images/menu-arrows.gif) no-repeat scroll right -34px;
+}
+
+.folded #adminmenu li.wp-menu-separator {
+ background: transparent url(../images/menu-arrows.gif) no-repeat scroll left 5px;
+}
+
+#adminmenu li.wp-has-current-submenu .wp-menu-toggle,
+#adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle {
+ background: transparent url(../images/menu-bits-rtl.gif?ver=20100531) repeat-x scroll right -207px;
+}
+
+#adminmenu .wp-has-current-submenu ul li a.current {
+ background: url(../images/menu-dark-rtl.gif) top right no-repeat !important;
+}
+
+#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,
+#adminmenu .menu-top .current {
+ background: url(../images/menu-bits-rtl.gif?ver=20100531) top right repeat-x;
+}
+
+#adminmenu li.wp-has-current-submenu ul li a {
+ background: url(../images/menu-dark-rtl.gif) bottom right no-repeat !important;
+}
+
+#adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle, #adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle {
+ background: transparent url(../images/menu-bits-rtl.gif?ver=20100531) no-repeat right -207px;
+}
+
+#adminmenu .wp-has-submenu:hover .wp-menu-toggle,
+#adminmenu .wp-menu-open .wp-menu-toggle {
+ background: transparent url(../images/menu-bits-rtl.gif?ver=20100531) repeat-x scroll right -109px;
+}
+
+#adminmenu a.wp-has-submenu {
+ background: #f1f1f1 url(../images/menu-bits-rtl.gif?ver=20100531) repeat-x scroll right -379px;
+}
+
+#adminmenu .wp-submenu a {
+ background: #fff url(../images/menu-bits-rtl.gif?ver=20100531) no-repeat scroll right -310px;
+}
+
+#adminmenu li.wp-has-current-submenu a.wp-has-submenu {
+ background: #b5b5b5 url(../images/menu-bits-rtl.gif?ver=20100531) repeat-x scroll right top;
+}
+
+.meta-box-sortables .postbox:hover .handlediv {
+ background: transparent url(../images/menu-bits-rtl.gif?ver=20100531) no-repeat scroll right -111px;
+}
+#favorite-toggle {
+ background: transparent url(../images/fav-arrow-rtl.gif?ver=20100531) no-repeat right -4px;
+}
diff --git a/wp-admin/css/colors-fresh.css b/wp-admin/css/colors-fresh.css
index f9448c8d..6937d35b 100644
--- a/wp-admin/css/colors-fresh.css
+++ b/wp-admin/css/colors-fresh.css
@@ -1 +1 @@
-html{background-color:#f9f9f9;}* html input,* html .widget{border-color:#dfdfdf;}textarea,input[type="text"],input[type="password"],input[type="file"],input[type="button"],input[type="submit"],input[type="reset"],select{border-color:#dfdfdf;background-color:#fff;}kbd,code{background:#eaeaea;}input[readonly]{background-color:#eee;}.find-box-search{border-color:#dfdfdf;background-color:#f1f1f1;}.find-box{background-color:#f1f1f1;}.find-box-inside{background-color:#fff;}a.page-numbers:hover{border-color:#999;}body,#wpbody,.form-table .pre{color:#333;}body>#upload-menu{border-bottom-color:#fff;}#postcustomstuff table,#your-profile fieldset,#rightnow,div.dashboard-widget,#dashboard-widgets p.dashboard-widget-links,#replyrow #ed_reply_toolbar input{border-color:#ccc;}#poststuff .inside label.spam,#poststuff .inside label.deleted{color:red;}#poststuff .inside label.waiting{color:orange;}#poststuff .inside label.approved{color:green;}#postcustomstuff table{border-color:#dfdfdf;background-color:#F9F9F9;}#postcustomstuff thead th{background-color:#F1F1F1;}#postcustomstuff table input,#postcustomstuff table textarea{border-color:#dfdfdf;background-color:#fff;}.widefat{border-color:#dfdfdf;background-color:#fff;}div.dashboard-widget-error{background-color:#c43;}div.dashboard-widget-notice{background-color:#cfe1ef;}div.dashboard-widget-submit{border-top-color:#ccc;}div.tabs-panel,ul#category-tabs li.tabs{border-color:#dfdfdf;}ul#category-tabs li.tabs{background-color:#f1f1f1;}input.disabled,textarea.disabled{background-color:#ccc;}.login #backtoblog a:hover,#plugin-information .action-button a,#plugin-information .action-button a:hover,#plugin-information .action-button a:visited{color:#fff;}.widget .widget-top,.postbox h3,.stuffbox h3{background:#dfdfdf url("../images/gray-grad.png") repeat-x left top;text-shadow:#fff 0 1px 0;}.form-table th,.form-wrap label{color:#222;text-shadow:#fff 0 1px 0;}.description,.form-wrap p{color:#666;}strong .post-com-count span{background-color:#21759b;}.sorthelper{background-color:#ccf3fa;}.ac_match,.subsubsub a.current{color:#000;}.wrap h2{color:#464646;}.ac_over{background-color:#f0f0b8;}.ac_results{background-color:#fff;border-color:#808080;}.ac_results li{color:#101010;}.alternate,.alt{background-color:#f9f9f9;}.available-theme a.screenshot{background-color:#f1f1f1;border-color:#ddd;}.bar{background-color:#e8e8e8;border-right-color:#99d;}#media-upload,#media-upload .media-item .slidetoggle{background:#fff;}#media-upload .slidetoggle{border-top-color:#dfdfdf;}.error,.login #login_error{background-color:#ffebe8;border-color:#c00;}.error a{color:#c00;}.form-invalid{background-color:#ffebe8!important;}.form-invalid input,.form-invalid select{border-color:#c00!important;}.submit{border-color:#DFDFDF;}.highlight{background-color:#e4f2fd;color:#d54e21;}.howto,.nonessential,#edit-slug-box,.form-input-tip,.rss-widget span.rss-date,.subsubsub{color:#666;}.media-item{border-bottom-color:#dfdfdf;}#wpbody-content #media-items .describe{border-top-color:#dfdfdf;}.media-upload-form label.form-help,td.help{color:#9a9a9a;}.post-com-count{background-image:url(../images/bubble_bg.gif);color:#fff;}.post-com-count span{background-color:#bbb;color:#fff;}.post-com-count:hover span{background-color:#d54e21;}.quicktags,.search{background-color:#ccc;color:#000;}.side-info h5{border-bottom-color:#dadada;}.side-info ul{color:#666;}.button,.button-secondary,.submit input,input[type=button],input[type=submit]{border-color:#bbb;color:#464646;}.button:hover,.button-secondary:hover,.submit input:hover,input[type=button]:hover,input[type=submit]:hover{color:#000;border-color:#666;}.button,.submit input,.button-secondary{background:#f2f2f2 url(../images/white-grad.png) repeat-x scroll left top;text-shadow:rgba(255,255,255,1) 0 1px 0;}.button:active,.submit input:active,.button-secondary:active{background:#eee url(../images/white-grad-active.png) repeat-x scroll left top;}input.button-primary,button.button-primary,a.button-primary{border-color:#298cba;font-weight:bold;color:#fff;background:#21759B url(../images/button-grad.png) repeat-x scroll left top;text-shadow:rgba(0,0,0,0.3) 0 -1px 0;}input.button-primary:active,button.button-primary:active,a.button-primary:active{background:#21759b url(../images/button-grad-active.png) repeat-x scroll left top;color:#eaf2fa;}input.button-primary:hover,button.button-primary:hover,a.button-primary:hover,a.button-primary:focus,a.button-primary:active{border-color:#13455b;color:#eaf2fa;}.button-disabled,.button[disabled],.button:disabled,.button-secondary[disabled],.button-secondary:disabled,a.button.disabled{color:#aaa!important;border-color:#ddd!important;}.button-primary-disabled,.button-primary[disabled],.button-primary:disabled{color:#9FD0D5!important;background:#298CBA!important;}a:hover,a:active,a:focus{color:#d54e21;}#wphead #viewsite a:hover,#adminmenu a:hover,#adminmenu ul.wp-submenu a:hover,#the-comment-list .comment a:hover,#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover,.plugins .inactive a:hover,#all-plugins-table .plugins .inactive a:hover,#search-plugins-table .plugins .inactive a:hover{color:#d54e21;}#the-comment-list .comment-item,#dashboard-widgets #dashboard_quick_press form p.submit{border-color:#dfdfdf;}#side-sortables #category-tabs .tabs a{color:#333;}#rightnow .rbutton{background-color:#ebebeb;color:#264761;}.submitbox .submit{background-color:#464646;color:#ccc;}.plugins a.delete:hover,#all-plugins-table .plugins a.delete:hover,#search-plugins-table .plugins a.delete:hover,.submitbox .submitdelete{color:#f00;border-bottom-color:#f00;}.submitbox .submitdelete:hover,#media-items a.delete:hover{color:#fff;background-color:#f00;border-bottom-color:#f00;}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:#f00;border-bottom-color:#f00;}.tablenav .dots{border-color:transparent;}.tablenav .next,.tablenav .prev{border-color:transparent;color:#21759b;}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#d54e21;}.updated,.login .message{background-color:#ffffe0;border-color:#e6db55;}.update-message{color:#000;}a.page-numbers{border-bottom-color:#B8D3E2;}.commentlist li{border-bottom-color:#ccc;}.widefat td,.widefat th,#install-plugins .plugins td,#install-plugins .plugins th{border-color:#dfdfdf;}.widefat th{text-shadow:rgba(255,255,255,0.8) 0 1px 0;}.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small,.find-box-head{color:#333;background:#dfdfdf url(../images/gray-grad.png) repeat-x scroll left top;}h3.dashboard-widget-title small a{color:#d7d7d7;}h3.dashboard-widget-title small a:hover{color:#fff;}a,#adminmenu a,#poststuff #edButtonPreview,#poststuff #edButtonHTML,#the-comment-list p.comment-author strong a,#media-upload a.del-link,#media-items a.delete,.plugins a.delete,.ui-tabs-nav a{color:#21759b;}body.press-this .tabs a,body.press-this .tabs a:hover{background-color:#fff;border-color:#c6d9e9;border-bottom-color:#fff;color:#d54e21;}#adminmenu #awaiting-mod,#adminmenu .update-plugins,#sidemenu a .update-plugins,#rightnow .reallynow,#plugin-information .action-button{background-color:#d54e21;color:#fff;}#adminmenu li a:hover #awaiting-mod,#adminmenu li a:hover .update-plugins,#sidemenu li a:hover .update-plugins{background-color:#264761;color:#fff;}#adminmenu li.current a #awaiting-mod,#adminmenu li.current a .update-plugins,#adminmenu li.wp-has-current-submenu a .update-plugins,#adminmenu li.wp-has-current-submenu a .update-plugins{background-color:#ddd;color:#000;text-shadow:none;-moz-box-shadow:rgba(0,0,0,0.2) 0 -1px 0;-khtml-box-shadow:rgba(0,0,0,0.2) 0 -1px 0;-webkit-box-shadow:rgba(0,0,0,0.2) 0 -1px 0;box-shadow:rgba(0,0,0,0.2) 0 -1px 0;}#adminmenu li.current a:hover #awaiting-mod,#adminmenu li.current a:hover .update-plugins,#adminmenu li.wp-has-current-submenu a:hover #awaiting-mod,#adminmenu li.wp-has-current-submenu a:hover .update-plugins{background-color:#264761;color:#fff;}div#media-upload-header,div#plugin-information-header{background-color:#f9f9f9;border-bottom-color:#dfdfdf;}#currenttheme img{border-color:#666;}#dashboard_secondary div.dashboard-widget-content ul li a{background-color:#f9f9f9;}input.readonly,textarea.readonly{background-color:#ddd;}#ed_toolbar input,#ed_reply_toolbar input{background:#fff url("../images/fade-butt.png") repeat-x 0 -2px;}#editable-post-name{background-color:#fffbcc;}#edit-slug-box strong,.tablenav .displaying-num,#submitted-on{color:#777;}.login #nav a{color:#21759b!important;}.login #nav a:hover{color:#d54e21!important;}#footer,#footer-upgrade{background:#464646;color:#999;}#media-items,.imgedit-group{border-color:#dfdfdf;}.checkbox,.side-info,.plugins tr,#your-profile #rich_editing{background-color:#fff;}.plugins .inactive,.plugins .inactive th,.plugins .inactive td,tr.inactive+tr.plugin-update-tr .plugin-update{background-color:#eee;}.plugin-update-tr .update-message{background-color:#fffbe4;border-color:#dfdfdf;}.plugins .active,.plugins .active th,.plugins .active td{color:#000;}.plugins .inactive a{color:#579;}#the-comment-list tr.undo,#the-comment-list div.undo{background-color:#f4f4f4;}#the-comment-list .unapproved{background-color:#ffffe0;}#the-comment-list .approve a{color:#006505;}#the-comment-list .unapprove a{color:#d98500;}table.widefat span.delete a,table.widefat span.trash a,table.widefat span.spam a,#dashboard_recent_comments .delete a,#dashboard_recent_comments .trash a,#dashboard_recent_comments .spam a{color:#bc0b0b;}.widget,#widget-list .widget-top,.postbox,#titlediv,#poststuff .postarea,.stuffbox{border-color:#dfdfdf;}.widget,.postbox{background-color:#fff;}.ui-sortable .postbox h3{color:#464646;}.widget .widget-top,.ui-sortable .postbox h3:hover{color:#000;}.curtime #timestamp{background-image:url(../images/date-button.gif);}#quicktags #ed_link{color:#00f;}#rightnow .youhave{background-color:#f0f6fb;}#rightnow a{color:#448abd;}.tagchecklist span a,#bulk-titles div a{background:url(../images/xit.gif) no-repeat;}.tagchecklist span a:hover,#bulk-titles div a:hover{background:url(../images/xit.gif) no-repeat -10px 0;}#update-nag{background-color:#fffeeb;border-color:#ccc;color:#555;}.login #backtoblog a{color:#ccc;}#wphead{background-color:#464646;}body.login{border-top-color:#464646;}#wphead h1 a{color:#fff;}#user_info{color:#999;}#user_info a:link,#user_info a:visited,#footer a:link,#footer a:visited{color:#ccc;text-decoration:none;}#user_info a:hover,#footer a:hover{color:#fff;text-decoration:underline!important;}#user_info a:active,#footer a:active{color:#ccc!important;}div#media-upload-error,.file-error,abbr.required,.widget-control-remove:hover,table.widefat .delete a:hover,table.widefat .trash a:hover,table.widefat .spam a:hover,#dashboard_recent_comments .delete a:hover,#dashboard_recent_comments .trash a:hover #dashboard_recent_comments .spam a:hover{color:#f00;}#pass-strength-result{background-color:#eee;border-color:#ddd!important;}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c!important;}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0!important;}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040!important;}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c!important;}#quicktags{border-color:#dfdfdf;background-color:#dfdfdf;}#ed_toolbar input{border-color:#C3C3C3;}#ed_toolbar input:hover{border-color:#aaa;background:#ddd;}#poststuff .wp_themeSkin .mceStatusbar{border-color:#EDEDED;}#poststuff #edButtonPreview,#poststuff #edButtonHTML{background-color:#f1f1f1;border-color:#dfdfdf;color:#999;}#poststuff #editor-toolbar .active{border-bottom-color:#e9e9e9;background-color:#e9e9e9;color:#333;}#post-status-info{background-color:#EDEDED;}.wp_themeSkin *,.wp_themeSkin a:hover,.wp_themeSkin a:link,.wp_themeSkin a:visited,.wp_themeSkin a:active{color:#000;}.wp_themeSkin iframe{background:#fff;}.wp_themeSkin .mceStatusbar{color:#000;background-color:#f5f5f5;}.wp_themeSkin .mceButton{background-color:#e9e8e8;border-color:#B2B2B2;}.wp_themeSkin a.mceButtonEnabled:hover,.wp_themeSkin a.mceButtonActive,.wp_themeSkin a.mceButtonSelected{background-color:#d5d5d5;border-color:#777!important;}.wp_themeSkin .mceButtonDisabled{border-color:#ccc!important;}.wp_themeSkin .mceListBox .mceText,.wp_themeSkin .mceListBox .mceOpen{border-color:#B2B2B2;background-color:#d5d5d5;}.wp_themeSkin table.mceListBoxEnabled:hover .mceOpen,.wp_themeSkin .mceListBoxHover .mceOpen,.wp_themeSkin .mceListBoxSelected .mceOpen,.wp_themeSkin .mceListBoxSelected .mceText{border-color:#777!important;background-color:#d5d5d5;}.wp_themeSkin table.mceListBoxEnabled:hover .mceText,.wp_themeSkin .mceListBoxHover .mceText{border-color:#777!important;}.wp_themeSkin select.mceListBox{border-color:#B2B2B2;background-color:#fff;}.wp_themeSkin .mceSplitButton a.mceAction,.wp_themeSkin .mceSplitButton a.mceOpen{border-color:#B2B2B2;}.wp_themeSkin .mceSplitButton a.mceOpen:hover,.wp_themeSkin .mceSplitButtonSelected a.mceOpen,.wp_themeSkin table.mceSplitButtonEnabled:hover a.mceAction,.wp_themeSkin .mceSplitButton a.mceAction:hover{background-color:#d5d5d5;border-color:#777!important;}.wp_themeSkin .mceSplitButtonActive{background-color:#B2B2B2;}.wp_themeSkin div.mceColorSplitMenu table{background-color:#ebebeb;border-color:#B2B2B2;}.wp_themeSkin .mceColorSplitMenu a{border-color:#B2B2B2;}.wp_themeSkin .mceColorSplitMenu a.mceMoreColors{border-color:#fff;}.wp_themeSkin .mceColorSplitMenu a.mceMoreColors:hover{border-color:#0A246A;background-color:#B6BDD2;}.wp_themeSkin a.mceMoreColors:hover{border-color:#0A246A;}.wp_themeSkin .mceMenu{border-color:#ddd;}.wp_themeSkin .mceMenu table{background-color:#ebeaeb;}.wp_themeSkin .mceMenu .mceText{color:#000;}.wp_themeSkin .mceMenu .mceMenuItemEnabled a:hover,.wp_themeSkin .mceMenu .mceMenuItemActive{background-color:#f5f5f5;}.wp_themeSkin td.mceMenuItemSeparator{background-color:#aaa;}.wp_themeSkin .mceMenuItemTitle a{background-color:#ccc;border-bottom-color:#aaa;}.wp_themeSkin .mceMenuItemTitle span.mceText{color:#000;}.wp_themeSkin .mceMenuItemDisabled .mceText{color:#888;}.wp_themeSkin tr.mceFirst td.mceToolbar{background:#dfdfdf url("../images/ed-bg.gif") repeat-x scroll left top;border-color:#dfdfdf;}.wp-admin #mceModalBlocker{background:#000;}.wp-admin .clearlooks2 .mceFocus .mceTop .mceLeft{background:#444;border-left:1px solid #999;border-top:1px solid #999;-moz-border-radius:4px 0 0 0;-webkit-border-top-left-radius:4px;-khtml-border-top-left-radius:4px;border-top-left-radius:4px;}.wp-admin .clearlooks2 .mceFocus .mceTop .mceRight{background:#444;border-right:1px solid #999;border-top:1px solid #999;border-top-right-radius:4px;-khtml-border-top-right-radius:4px;-webkit-border-top-right-radius:4px;-moz-border-radius:0 4px 0 0;}.wp-admin .clearlooks2 .mceMiddle .mceLeft{background:#f1f1f1;border-left:1px solid #999;}.wp-admin .clearlooks2 .mceMiddle .mceRight{background:#f1f1f1;border-right:1px solid #999;}.wp-admin .clearlooks2 .mceBottom{background:#f1f1f1;border-bottom:1px solid #999;}.wp-admin .clearlooks2 .mceBottom .mceLeft{background:#f1f1f1;border-bottom:1px solid #999;border-left:1px solid #999;}.wp-admin .clearlooks2 .mceBottom .mceCenter{background:#f1f1f1;border-bottom:1px solid #999;}.wp-admin .clearlooks2 .mceBottom .mceRight{background:#f1f1f1;border-bottom:1px solid #999;border-right:1px solid #999;}.wp-admin .clearlooks2 .mceFocus .mceTop span{color:#e5e5e5;}#editorcontainer,#post-status-info,#titlediv #title,.editwidget .widget-inside{border-color:#dfdfdf;}#titlediv #title{background-color:#fff;}#tTips p#tTips_inside{background-color:#ddd;color:#333;}#timestampdiv input,#namediv input,#poststuff .inside .the-tagcloud{border-color:#ddd;}#adminmenu *{border-color:#e3e3e3;}#adminmenu li.wp-menu-separator{background:transparent url(../images/menu-arrows.gif) no-repeat scroll left 5px;}.folded #adminmenu li.wp-menu-separator{background:transparent url(../images/menu-arrows.gif) no-repeat scroll right -34px;}#adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle,#adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle{background:transparent url(../images/menu-bits.gif) no-repeat scroll left -207px;}#adminmenu .wp-has-submenu:hover .wp-menu-toggle,#adminmenu .wp-menu-open .wp-menu-toggle{background:transparent url(../images/menu-bits.gif) no-repeat scroll left -109px;}#adminmenu a.menu-top{background:#f1f1f1 url(../images/menu-bits.gif) repeat-x scroll left -379px;}#adminmenu .wp-submenu a{background:#FFF url(../images/menu-bits.gif) no-repeat scroll 0 -310px;}#adminmenu .wp-has-current-submenu ul li a{background:none;}#adminmenu .wp-has-current-submenu ul li a.current{background:url(../images/menu-dark.gif) top left no-repeat!important;}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu .menu-top .current{background:#6d6d6d url(../images/menu-bits.gif) top left repeat-x;border-color:#6d6d6d;color:#fff;text-shadow:rgba(0,0,0,0.4) 0 -1px 0;}#adminmenu li.wp-has-current-submenu .wp-submenu,#adminmenu li.wp-has-current-submenu ul li a{border-color:#aaa!important;}#adminmenu li.wp-has-current-submenu ul li a{background:url(../images/menu-dark.gif) bottom left no-repeat!important;}#adminmenu li.wp-has-current-submenu ul{border-bottom-color:#aaa;}#adminmenu li.menu-top .current:hover{border-color:#B5B5B5;}#adminmenu .wp-submenu .current a.current{background:transparent url(../images/menu-bits.gif) no-repeat scroll 0 -289px;}#adminmenu .wp-submenu a:hover{background-color:#EAF2FA!important;color:#333!important;}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover{color:#333;background-color:#f5f5f5;background-image:none;border-color:#e3e3e3;text-shadow:rgba(255,255,255,1) 0 1px 0;}#adminmenu .wp-submenu ul{background-color:#fff;}.folded #adminmenu li.menu-top,#adminmenu .wp-submenu .wp-submenu-head{background-color:#F1F1F1;}.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.menu-top.current{background-color:#e6e6e6;}#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{background-color:#EAEAEA;border-color:#aaa;}#adminmenu div.wp-submenu{background-color:transparent;}#adminmenu #menu-dashboard div.wp-menu-image{background:transparent url("../images/menu.png") no-repeat scroll -61px -33px;}#adminmenu #menu-dashboard:hover div.wp-menu-image,#adminmenu #menu-dashboard.wp-has-current-submenu div.wp-menu-image,#adminmenu #menu-dashboard.current div.wp-menu-image{background:transparent url("../images/menu.png") no-repeat scroll -61px -1px;}#adminmenu #menu-posts div.wp-menu-image{background:transparent url("../images/menu.png") no-repeat scroll -272px -33px;}#adminmenu #menu-posts:hover div.wp-menu-image,#adminmenu #menu-posts.wp-has-current-submenu div.wp-menu-image{background:transparent url("../images/menu.png") no-repeat scroll -272px -1px;}#adminmenu #menu-media div.wp-menu-image{background:transparent url("../images/menu.png") no-repeat scroll -121px -33px;}#adminmenu #menu-media:hover div.wp-menu-image,#adminmenu #menu-media.wp-has-current-submenu div.wp-menu-image{background:transparent url("../images/menu.png") no-repeat scroll -121px -1px;}#adminmenu #menu-links div.wp-menu-image{background:transparent url("../images/menu.png") no-repeat scroll -91px -33px;}#adminmenu #menu-links:hover div.wp-menu-image,#adminmenu #menu-links.wp-has-current-submenu div.wp-menu-image{background:transparent url("../images/menu.png") no-repeat scroll -91px -1px;}#adminmenu #menu-pages div.wp-menu-image{background:transparent url("../images/menu.png") no-repeat scroll -151px -33px;}#adminmenu #menu-pages:hover div.wp-menu-image,#adminmenu #menu-pages.wp-has-current-submenu div.wp-menu-image{background:transparent url("../images/menu.png") no-repeat scroll -151px -1px;}#adminmenu #menu-comments div.wp-menu-image{background:transparent url("../images/menu.png") no-repeat scroll -31px -33px;}#adminmenu #menu-comments:hover div.wp-menu-image,#adminmenu #menu-comments.wp-has-current-submenu div.wp-menu-image,#adminmenu #menu-comments.current div.wp-menu-image{background:transparent url("../images/menu.png") no-repeat scroll -31px -1px;}#adminmenu #menu-appearance div.wp-menu-image{background:transparent url("../images/menu.png") no-repeat scroll -1px -33px;}#adminmenu #menu-appearance:hover div.wp-menu-image,#adminmenu #menu-appearance.wp-has-current-submenu div.wp-menu-image{background:transparent url("../images/menu.png") no-repeat scroll -1px -1px;}#adminmenu #menu-plugins div.wp-menu-image{background:transparent url("../images/menu.png") no-repeat scroll -181px -33px;}#adminmenu #menu-plugins:hover div.wp-menu-image,#adminmenu #menu-plugins.wp-has-current-submenu div.wp-menu-image{background:transparent url("../images/menu.png") no-repeat scroll -181px -1px;}#adminmenu #menu-users div.wp-menu-image{background:transparent url("../images/menu.png") no-repeat scroll -301px -33px;}#adminmenu #menu-users:hover div.wp-menu-image,#adminmenu #menu-users.wp-has-current-submenu div.wp-menu-image{background:transparent url("../images/menu.png") no-repeat scroll -301px -1px;}#adminmenu #menu-tools div.wp-menu-image{background:transparent url("../images/menu.png") no-repeat scroll -211px -33px;}#adminmenu #menu-tools:hover div.wp-menu-image,#adminmenu #menu-tools.wp-has-current-submenu div.wp-menu-image{background:transparent url("../images/menu.png") no-repeat scroll -211px -1px;}#adminmenu #menu-settings div.wp-menu-image{background:transparent url("../images/menu.png") no-repeat scroll -241px -33px;}#adminmenu #menu-settings:hover div.wp-menu-image,#adminmenu #menu-settings.wp-has-current-submenu div.wp-menu-image{background:transparent url("../images/menu.png") no-repeat scroll -241px -1px;}table.diff .diff-deletedline{background-color:#fdd;}table.diff .diff-deletedline del{background-color:#f99;}table.diff .diff-addedline{background-color:#dfd;}table.diff .diff-addedline ins{background-color:#9f9;}#att-info{background-color:#E4F2FD;}#sidemenu a{background-color:#f9f9f9;border-color:#f9f9f9;border-bottom-color:#dfdfdf;}#sidemenu a.current{background-color:#fff;border-color:#dfdfdf #dfdfdf #fff;color:#D54E21;}#screen-options-wrap,#contextual-help-wrap{background-color:#f1f1f1;border-color:#dfdfdf;}#screen-meta-links a.show-settings{color:#606060;}#screen-meta-links a.show-settings:hover{color:#000;}#replysubmit{background-color:#f1f1f1;border-top-color:#ddd;}#replyerror{border-color:#ddd;background-color:#f9f9f9;}#edithead,#replyhead{background-color:#f1f1f1;}#ed_reply_toolbar{background-color:#e9e9e9;}.vim-current,.vim-current th,.vim-current td{background-color:#E4F2FD!important;}.star-average,.star.star-rating{background-color:#fc0;}div.star.select:hover{background-color:#d00;}#plugin-information .fyi ul{background-color:#eaf3fa;}#plugin-information .fyi h2.mainheader{background-color:#cee1ef;}#plugin-information pre,#plugin-information code{background-color:#ededff;}#plugin-information pre{border:1px solid #ccc;}.inline-edit-row fieldset input[type="text"],.inline-edit-row fieldset textarea,#bulk-titles,#replyrow input{border-color:#ddd;}.inline-editor div.title{background-color:#EAF3FA;}.inline-editor ul.cat-checklist{background-color:#FFF;border-color:#ddd;}.inline-editor .categories .catshow,.inline-editor .categories .cathide{color:#21759b;}.inline-editor .quick-edit-save{background-color:#f1f1f1;}#replyrow #ed_reply_toolbar input:hover{border-color:#aaa;background:#ddd;}fieldset.inline-edit-col-right .inline-edit-col{border-color:#dfdfdf;}.attention{color:#D54E21;}.meta-box-sortables .postbox:hover .handlediv{background:transparent url(../images/menu-bits.gif) no-repeat scroll left -111px;}#major-publishing-actions{background:#eaf2fa;}.tablenav .tablenav-pages{color:#555;}.tablenav .tablenav-pages a{border-color:#e3e3e3;background:#eee url('../images/menu-bits.gif') repeat-x scroll left -379px;}.tablenav .tablenav-pages a:hover{color:#d54e21;border-color:#d54321;}.tablenav .tablenav-pages a:active{color:#fff!important;}.tablenav .tablenav-pages .current{background:#dfdfdf;border-color:#d3d3d3;}#availablethemes,#availablethemes td{border-color:#ddd;}#current-theme img{border-color:#999;}#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{color:#999;}#TB_window #TB_title a.tb-theme-preview-link:hover,#TB_window #TB_title a.tb-theme-preview-link:focus{color:#ccc;}.misc-pub-section{border-bottom-color:#eee;}#minor-publishing{border-bottom-color:#ddd;}#post-body .misc-pub-section{border-right-color:#eee;}.post-com-count span{background-color:#bbb;}.form-table .color-palette td{border-color:#fff;}.sortable-placeholder{border-color:#bbb;background-color:#f5f5f5;}#post-body ul#category-tabs li.tabs a{color:#333;}#wp_editimgbtn,#wp_delimgbtn,#wp_editgallery,#wp_delgallery{border-color:#999;background-color:#eee;}#wp_editimgbtn:hover,#wp_delimgbtn:hover,#wp_editgallery:hover,#wp_delgallery:hover{border-color:#555;background-color:#ccc;}#favorite-first{background:#797979 url(../images/fav.png) repeat-x left center;border-color:#777!important;border-bottom-color:#666!important;}#favorite-inside{border-color:#797979;background-color:#797979;}#favorite-toggle{background:transparent url(../images/fav-arrow.gif) no-repeat 0 -4px;}#favorite-actions a{color:#ddd;}#favorite-actions a:hover{color:#fff;}#favorite-inside a:hover{text-decoration:underline;}#favorite-actions .slide-down{border-bottom-color:#626262;}#screen-meta a.show-settings{background-color:transparent;text-shadow:rgba(255,255,255,0.7) 0 1px 0;}#icon-edit,#icon-post{background:transparent url(../images/icons32.png) no-repeat -552px -5px;}#icon-index{background:transparent url(../images/icons32.png) no-repeat -137px -5px;}#icon-upload{background:transparent url(../images/icons32.png) no-repeat -251px -5px;}#icon-link-manager,#icon-link,#icon-link-category{background:transparent url(../images/icons32.png) no-repeat -190px -5px;}#icon-edit-pages,#icon-page{background:transparent url(../images/icons32.png) no-repeat -312px -5px;}#icon-edit-comments{background:transparent url(../images/icons32.png) no-repeat -72px -5px;}#icon-themes{background:transparent url(../images/icons32.png) no-repeat -11px -5px;}#icon-plugins{background:transparent url(../images/icons32.png) no-repeat -370px -5px;}#icon-users,#icon-profile,#icon-user-edit{background:transparent url(../images/icons32.png) no-repeat -600px -5px;}#icon-tools,#icon-admin{background:transparent url(../images/icons32.png) no-repeat -432px -5px;}#icon-options-general{background:transparent url(../images/icons32.png) no-repeat -492px -5px;}.view-switch #view-switch-list{background:transparent url(../images/list.png) no-repeat 0 0;}.view-switch #view-switch-list.current{background:transparent url(../images/list.png) no-repeat -40px 0;}.view-switch #view-switch-excerpt{background:transparent url(../images/list.png) no-repeat -20px 0;}.view-switch #view-switch-excerpt.current{background:transparent url(../images/list.png) no-repeat -60px 0;}#header-logo{background:transparent url(../images/wp-logo.gif) no-repeat scroll center center;}#wphead #site-visit-button{background-color:#585858;background-image:url(../images/visit-site-button-grad.gif);color:#aaa;text-shadow:#3F3F3F 0 -1px 0;}#wphead a:hover #site-visit-button{color:#fff;}#wphead a:focus #site-visit-button,#wphead a:active #site-visit-button{background-position:0 -27px;}.popular-tags,.feature-filter{background-color:#FFF;border-color:#DFDFDF;}#theme-information .action-button{border-top-color:#DFDFDF;}.theme-listing br.line{border-bottom-color:#ccc;}div.widgets-sortables,#widgets-left .inactive{background-color:#f1f1f1;border-color:#ddd;}#available-widgets .widget-holder{background-color:#fff;border-color:#ddd;}#widgets-left .sidebar-name{background-color:#aaa;background-image:url(../images/ed-bg.gif);text-shadow:#FFF 0 1px 0;border-color:#dfdfdf;}#widgets-right .sidebar-name{background-image:url(../images/fav.png);text-shadow:#3f3f3f 0 -1px 0;background-color:#636363;border-color:#636363;color:#fff;}.sidebar-name:hover,#removing-widget{color:#d54e21;}#removing-widget span{color:black;}#widgets-left .sidebar-name-arrow{background:transparent url(../images/menu-bits.gif) no-repeat scroll left -109px;}#widgets-right .sidebar-name-arrow{background:transparent url(../images/fav-arrow.gif) no-repeat scroll 0 -1px;}.in-widget-title{color:#606060;}.deleting .widget-title *{color:#aaa;}.imgedit-menu div{border-color:#d5d5d5;background-color:#f1f1f1;}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea;}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;filter:alpha(opacity=50);opacity:.5;}#dashboard_recent_comments div.undo{border-top-color:#dfdfdf;}.comment-ays,.comment-ays th{border-color:#ddd;}.comment-ays th{background-color:#f1f1f1;}
\ No newline at end of file
+html{background-color:#f9f9f9;}* html input,* html .widget{border-color:#dfdfdf;}textarea,input[type="text"],input[type="password"],input[type="file"],input[type="button"],input[type="submit"],input[type="reset"],select{border-color:#dfdfdf;background-color:#fff;}kbd,code{background:#eaeaea;}input[readonly]{background-color:#eee;}.find-box-search{border-color:#dfdfdf;background-color:#f1f1f1;}.find-box{background-color:#f1f1f1;}.find-box-inside{background-color:#fff;}a.page-numbers:hover{border-color:#999;}body,#wpbody,.form-table .pre{color:#333;}body>#upload-menu{border-bottom-color:#fff;}#postcustomstuff table,#your-profile fieldset,#rightnow,div.dashboard-widget,#dashboard-widgets p.dashboard-widget-links,#replyrow #ed_reply_toolbar input{border-color:#ccc;}#poststuff .inside label.spam,#poststuff .inside label.deleted{color:red;}#poststuff .inside label.waiting{color:orange;}#poststuff .inside label.approved{color:green;}#postcustomstuff table{border-color:#dfdfdf;background-color:#F9F9F9;}#postcustomstuff thead th{background-color:#F1F1F1;}#postcustomstuff table input,#postcustomstuff table textarea{border-color:#dfdfdf;background-color:#fff;}.widefat{border-color:#dfdfdf;background-color:#fff;}div.dashboard-widget-error{background-color:#c43;}div.dashboard-widget-notice{background-color:#cfe1ef;}div.dashboard-widget-submit{border-top-color:#ccc;}div.tabs-panel,ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs{border-color:#dfdfdf;}ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs{background-color:#f1f1f1;}input.disabled,textarea.disabled{background-color:#ccc;}#plugin-information .action-button a,#plugin-information .action-button a:hover,#plugin-information .action-button a:visited{color:#fff;}.widget .widget-top,.postbox h3,.stuffbox h3{background:#dfdfdf url("../images/gray-grad.png") repeat-x left top;text-shadow:#fff 0 1px 0;}.form-table th,.form-wrap label{color:#222;text-shadow:#fff 0 1px 0;}.description,.form-wrap p{color:#666;}strong .post-com-count span{background-color:#21759b;}.sorthelper{background-color:#ccf3fa;}.ac_match,.subsubsub a.current{color:#000;}.wrap h2{color:#464646;}.ac_over{background-color:#f0f0b8;}.ac_results{background-color:#fff;border-color:#808080;}.ac_results li{color:#101010;}.alternate,.alt{background-color:#f9f9f9;}.available-theme a.screenshot{background-color:#f1f1f1;border-color:#ddd;}.bar{background-color:#e8e8e8;border-right-color:#99d;}#media-upload,#media-upload .media-item .slidetoggle{background:#fff;}#media-upload .slidetoggle{border-top-color:#dfdfdf;}.error,.login #login_error{background-color:#ffebe8;border-color:#c00;}.error a{color:#c00;}.form-invalid{background-color:#ffebe8!important;}.form-invalid input,.form-invalid select{border-color:#c00!important;}.submit{border-color:#DFDFDF;}.highlight{background-color:#e4f2fd;color:#d54e21;}.howto,.nonessential,#edit-slug-box,.form-input-tip,.rss-widget span.rss-date,.subsubsub{color:#666;}.media-item{border-bottom-color:#dfdfdf;}#wpbody-content #media-items .describe{border-top-color:#dfdfdf;}.media-upload-form label.form-help,td.help{color:#9a9a9a;}.post-com-count{background-image:url(../images/bubble_bg.gif);color:#fff;}.post-com-count span{background-color:#bbb;color:#fff;}.post-com-count:hover span{background-color:#d54e21;}.quicktags,.search{background-color:#ccc;color:#000;}.side-info h5{border-bottom-color:#dadada;}.side-info ul{color:#666;}.button,.button-secondary,.submit input,input[type=button],input[type=submit]{border-color:#bbb;color:#464646;}.button:hover,.button-secondary:hover,.submit input:hover,input[type=button]:hover,input[type=submit]:hover{color:#000;border-color:#666;}.button,.submit input,.button-secondary{background:#f2f2f2 url(../images/white-grad.png) repeat-x scroll left top;text-shadow:rgba(255,255,255,1) 0 1px 0;}.button:active,.submit input:active,.button-secondary:active{background:#eee url(../images/white-grad-active.png) repeat-x scroll left top;}input.button-primary,button.button-primary,a.button-primary{border-color:#298cba;font-weight:bold;color:#fff;background:#21759B url(../images/button-grad.png) repeat-x scroll left top;text-shadow:rgba(0,0,0,0.3) 0 -1px 0;}input.button-primary:active,button.button-primary:active,a.button-primary:active{background:#21759b url(../images/button-grad-active.png) repeat-x scroll left top;color:#eaf2fa;}input.button-primary:hover,button.button-primary:hover,a.button-primary:hover,a.button-primary:focus,a.button-primary:active{border-color:#13455b;color:#eaf2fa;}.button-disabled,.button[disabled],.button:disabled,.button-secondary[disabled],.button-secondary:disabled,a.button.disabled{color:#aaa!important;border-color:#ddd!important;}.button-primary-disabled,.button-primary[disabled],.button-primary:disabled{color:#9FD0D5!important;background:#298CBA!important;}a:hover,a:active,a:focus{color:#d54e21;}#wphead #viewsite a:hover,#adminmenu a:hover,#adminmenu ul.wp-submenu a:hover,#the-comment-list .comment a:hover,#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover,.plugins .inactive a:hover,#all-plugins-table .plugins .inactive a:hover,#search-plugins-table .plugins .inactive a:hover{color:#d54e21;}#the-comment-list .comment-item,#dashboard-widgets #dashboard_quick_press form p.submit{border-color:#dfdfdf;}#side-sortables .category-tabs .tabs a,#side-sortables .add-menu-item-tabs .tabs a{color:#333;}#rightnow .rbutton{background-color:#ebebeb;color:#264761;}.submitbox .submit{background-color:#464646;color:#ccc;}.plugins a.delete:hover,#all-plugins-table .plugins a.delete:hover,#search-plugins-table .plugins a.delete:hover,.submitbox .submitdelete{color:#f00;border-bottom-color:#f00;}.submitbox .submitdelete:hover,#media-items a.delete:hover{color:#fff;background-color:#f00;border-bottom-color:#f00;}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:#f00;border-bottom-color:#f00;}.tablenav .dots{border-color:transparent;}.tablenav .next,.tablenav .prev{border-color:transparent;color:#21759b;}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#d54e21;}.updated,.login .message{background-color:#ffffe0;border-color:#e6db55;}.update-message{color:#000;}a.page-numbers{border-bottom-color:#B8D3E2;}.commentlist li{border-bottom-color:#ccc;}.widefat td,.widefat th,#install-plugins .plugins td,#install-plugins .plugins th{border-color:#dfdfdf;}.widefat th{text-shadow:rgba(255,255,255,0.8) 0 1px 0;}.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small,.find-box-head{color:#333;background:#dfdfdf url(../images/gray-grad.png) repeat-x scroll left top;}h3.dashboard-widget-title small a{color:#d7d7d7;}h3.dashboard-widget-title small a:hover{color:#fff;}a,#adminmenu a,#poststuff #edButtonPreview,#poststuff #edButtonHTML,#the-comment-list p.comment-author strong a,#media-upload a.del-link,#media-items a.delete,.plugins a.delete,.ui-tabs-nav a{color:#21759b;}body.press-this .tabs a,body.press-this .tabs a:hover{background-color:#fff;border-color:#c6d9e9;border-bottom-color:#fff;color:#d54e21;}#adminmenu #awaiting-mod,#adminmenu .update-plugins,#sidemenu a .update-plugins,#rightnow .reallynow{background-color:#464646;color:#fff;-moz-box-shadow:#fff 0 -1px 0;-khtml-box-shadow:#fff 0 -1px 0;-webkit-box-shadow:#fff 0 -1px 0;box-shadow:#fff 0 -1px 0;}#plugin-information .action-button{background-color:#d54e21;color:#fff;}#adminmenu li.current a #awaiting-mod,#adminmenu li a.wp-has-current-submenu .update-plugins{background-color:#464646;color:#fff;-moz-box-shadow:#fff 0 -1px 0;-khtml-box-shadow:#fff 0 -1px 0;-webkit-box-shadow:#fff 0 -1px 0;box-shadow:#fff 0 -1px 0;}div#media-upload-header,div#plugin-information-header{background-color:#f9f9f9;border-bottom-color:#dfdfdf;}#currenttheme img{border-color:#666;}#dashboard_secondary div.dashboard-widget-content ul li a{background-color:#f9f9f9;}input.readonly,textarea.readonly{background-color:#ddd;}#ed_toolbar input,#ed_reply_toolbar input{background:#fff url("../images/fade-butt.png") repeat-x 0 -2px;}#editable-post-name{background-color:#fffbcc;}#edit-slug-box strong,.tablenav .displaying-num,#submitted-on{color:#777;}.login #nav a{color:#21759b!important;}.login #nav a:hover{color:#d54e21!important;}#footer{color:#777;border-color:#d1d1d1;background:#d9d9d9;background:-moz-linear-gradient(bottom,#d7d7d7,#e4e4e4);background:-webkit-gradient(linear,left bottom,left top,from(#d7d7d7),to(#e4e4e4));}#media-items,.imgedit-group{border-color:#dfdfdf;}.checkbox,.side-info,.plugins tr,#your-profile #rich_editing{background-color:#fff;}.plugins .inactive,.plugins .inactive th,.plugins .inactive td,tr.inactive+tr.plugin-update-tr .plugin-update{background-color:#eee;}.plugin-update-tr .update-message{background-color:#fffbe4;border-color:#dfdfdf;}.plugins .active,.plugins .active th,.plugins .active td{color:#000;}.plugins .inactive a{color:#579;}#the-comment-list tr.undo,#the-comment-list div.undo{background-color:#f4f4f4;}#the-comment-list .unapproved{background-color:#ffffe0;}#the-comment-list .approve a{color:#006505;}#the-comment-list .unapprove a{color:#d98500;}table.widefat span.delete a,table.widefat span.trash a,table.widefat span.spam a,#dashboard_recent_comments .delete a,#dashboard_recent_comments .trash a,#dashboard_recent_comments .spam a{color:#bc0b0b;}.widget,#widget-list .widget-top,.postbox,#titlediv,#poststuff .postarea,.stuffbox{border-color:#dfdfdf;}.widget,.postbox{background-color:#fff;}.ui-sortable .postbox h3{color:#464646;}.widget .widget-top,.ui-sortable .postbox h3:hover{color:#000;}.curtime #timestamp{background-image:url(../images/date-button.gif);}#quicktags #ed_link{color:#00f;}#rightnow .youhave{background-color:#f0f6fb;}#rightnow a{color:#448abd;}.tagchecklist span a,#bulk-titles div a{background:url(../images/xit.gif) no-repeat;}.tagchecklist span a:hover,#bulk-titles div a:hover{background:url(../images/xit.gif) no-repeat -10px 0;}#update-nag,.update-nag{background-color:#FFFBCC;border-color:#E6DB55;color:#555;}.login #backtoblog a{color:#464646;}#wphead{border-bottom:#c6c6c6 1px solid;background:#d9d9d9;background:-moz-linear-gradient(bottom,#d7d7d7,#e4e4e4);background:-webkit-gradient(linear,left bottom,left top,from(#d7d7d7),to(#e4e4e4));}#wphead h1 a{color:#464646;}#user_info{color:#777;}#user_info a:link,#user_info a:visited,#footer a:link,#footer a:visited{color:#222;text-decoration:none;}#user_info a:hover,#footer a:hover{color:#000;text-decoration:underline!important;}#user_info a:active,#footer a:active{color:#ccc!important;}div#media-upload-error,.file-error,abbr.required,.widget-control-remove:hover,table.widefat .delete a:hover,table.widefat .trash a:hover,table.widefat .spam a:hover,#dashboard_recent_comments .delete a:hover,#dashboard_recent_comments .trash a:hover #dashboard_recent_comments .spam a:hover{color:#f00;}#pass-strength-result{background-color:#eee;border-color:#ddd!important;}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c!important;}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0!important;}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040!important;}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c!important;}#quicktags{border-color:#dfdfdf;background-color:#dfdfdf;}#ed_toolbar input{border-color:#C3C3C3;}#ed_toolbar input:hover{border-color:#aaa;background:#ddd;}#poststuff .wp_themeSkin .mceStatusbar{border-color:#EDEDED;}#poststuff #edButtonPreview,#poststuff #edButtonHTML{background-color:#f1f1f1;border-color:#dfdfdf;color:#999;}#poststuff #editor-toolbar .active{border-bottom-color:#e9e9e9;background-color:#e9e9e9;color:#333;}#post-status-info{background-color:#EDEDED;}.wp_themeSkin *,.wp_themeSkin a:hover,.wp_themeSkin a:link,.wp_themeSkin a:visited,.wp_themeSkin a:active{color:#000;}.wp_themeSkin iframe{background:#fff;}.wp_themeSkin .mceStatusbar{color:#000;background-color:#f5f5f5;}.wp_themeSkin .mceButton{background-color:#e9e8e8;border-color:#B2B2B2;}.wp_themeSkin a.mceButtonEnabled:hover,.wp_themeSkin a.mceButtonActive,.wp_themeSkin a.mceButtonSelected{background-color:#d5d5d5;border-color:#777!important;}.wp_themeSkin .mceButtonDisabled{border-color:#ccc!important;}.wp_themeSkin .mceListBox .mceText,.wp_themeSkin .mceListBox .mceOpen{border-color:#B2B2B2;background-color:#d5d5d5;}.wp_themeSkin table.mceListBoxEnabled:hover .mceOpen,.wp_themeSkin .mceListBoxHover .mceOpen,.wp_themeSkin .mceListBoxSelected .mceOpen,.wp_themeSkin .mceListBoxSelected .mceText{border-color:#777!important;background-color:#d5d5d5;}.wp_themeSkin table.mceListBoxEnabled:hover .mceText,.wp_themeSkin .mceListBoxHover .mceText{border-color:#777!important;}.wp_themeSkin select.mceListBox{border-color:#B2B2B2;background-color:#fff;}.wp_themeSkin .mceSplitButton a.mceAction,.wp_themeSkin .mceSplitButton a.mceOpen{border-color:#B2B2B2;}.wp_themeSkin .mceSplitButton a.mceOpen:hover,.wp_themeSkin .mceSplitButtonSelected a.mceOpen,.wp_themeSkin table.mceSplitButtonEnabled:hover a.mceAction,.wp_themeSkin .mceSplitButton a.mceAction:hover{background-color:#d5d5d5;border-color:#777!important;}.wp_themeSkin .mceSplitButtonActive{background-color:#B2B2B2;}.wp_themeSkin div.mceColorSplitMenu table{background-color:#ebebeb;border-color:#B2B2B2;}.wp_themeSkin .mceColorSplitMenu a{border-color:#B2B2B2;}.wp_themeSkin .mceColorSplitMenu a.mceMoreColors{border-color:#fff;}.wp_themeSkin .mceColorSplitMenu a.mceMoreColors:hover{border-color:#0A246A;background-color:#B6BDD2;}.wp_themeSkin a.mceMoreColors:hover{border-color:#0A246A;}.wp_themeSkin .mceMenu{border-color:#ddd;}.wp_themeSkin .mceMenu table{background-color:#ebeaeb;}.wp_themeSkin .mceMenu .mceText{color:#000;}.wp_themeSkin .mceMenu .mceMenuItemEnabled a:hover,.wp_themeSkin .mceMenu .mceMenuItemActive{background-color:#f5f5f5;}.wp_themeSkin td.mceMenuItemSeparator{background-color:#aaa;}.wp_themeSkin .mceMenuItemTitle a{background-color:#ccc;border-bottom-color:#aaa;}.wp_themeSkin .mceMenuItemTitle span.mceText{color:#000;}.wp_themeSkin .mceMenuItemDisabled .mceText{color:#888;}.wp_themeSkin tr.mceFirst td.mceToolbar{background:#dfdfdf url("../images/ed-bg.gif") repeat-x scroll left top;border-color:#dfdfdf;}.wp-admin #mceModalBlocker{background:#000;}.wp-admin .clearlooks2 .mceFocus .mceTop .mceLeft{background:#444;border-left:1px solid #999;border-top:1px solid #999;-moz-border-radius:4px 0 0 0;-webkit-border-top-left-radius:4px;-khtml-border-top-left-radius:4px;border-top-left-radius:4px;}.wp-admin .clearlooks2 .mceFocus .mceTop .mceRight{background:#444;border-right:1px solid #999;border-top:1px solid #999;border-top-right-radius:4px;-khtml-border-top-right-radius:4px;-webkit-border-top-right-radius:4px;-moz-border-radius:0 4px 0 0;}.wp-admin .clearlooks2 .mceMiddle .mceLeft{background:#f1f1f1;border-left:1px solid #999;}.wp-admin .clearlooks2 .mceMiddle .mceRight{background:#f1f1f1;border-right:1px solid #999;}.wp-admin .clearlooks2 .mceBottom{background:#f1f1f1;border-bottom:1px solid #999;}.wp-admin .clearlooks2 .mceBottom .mceLeft{background:#f1f1f1;border-bottom:1px solid #999;border-left:1px solid #999;}.wp-admin .clearlooks2 .mceBottom .mceCenter{background:#f1f1f1;border-bottom:1px solid #999;}.wp-admin .clearlooks2 .mceBottom .mceRight{background:#f1f1f1;border-bottom:1px solid #999;border-right:1px solid #999;}.wp-admin .clearlooks2 .mceFocus .mceTop span{color:#e5e5e5;}#editorcontainer,#post-status-info,#titlediv #title,.editwidget .widget-inside{border-color:#dfdfdf;}#titlediv #title{background-color:#fff;}#tTips p#tTips_inside{background-color:#ddd;color:#333;}#timestampdiv input,#namediv input,#poststuff .inside .the-tagcloud{border-color:#ddd;}#adminmenu *{border-color:#e3e3e3;}#adminmenu li.wp-menu-separator{background:transparent url(../images/menu-arrows.gif) no-repeat scroll left 5px;}.folded #adminmenu li.wp-menu-separator{background:transparent url(../images/menu-arrows.gif) no-repeat scroll right -34px;}#adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle,#adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle{background:transparent url(../images/menu-bits.gif?ver=20100610) no-repeat scroll left -207px;}#adminmenu .wp-has-submenu:hover .wp-menu-toggle,#adminmenu .wp-menu-open .wp-menu-toggle{background:transparent url(../images/menu-bits.gif?ver=20100610) no-repeat scroll left -109px;}#adminmenu a.menu-top{background:#f1f1f1 url(../images/menu-bits.gif?ver=20100610) repeat-x scroll left -379px;}#adminmenu .wp-submenu a{background:#fff url(../images/menu-bits.gif?ver=20100610) no-repeat scroll 0 -310px;}#adminmenu .wp-has-current-submenu ul li a{background:none;}#adminmenu .wp-has-current-submenu ul li a.current{background:url(../images/menu-dark.gif) top left no-repeat!important;}.wp-has-current-submenu .wp-submenu{border-top:none!important;}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu{border-bottom:#aaa 1px solid;}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top{background:#e0e0e0 url(../images/menu-bits.gif?ver=20100610) top left repeat-x;border:#aaa 1px solid;color:#000;}#adminmenu li.wp-has-current-submenu .wp-submenu,#adminmenu li.wp-has-current-submenu ul li a{border-right-color:#aaa!important;border-left-color:#aaa!important;}#adminmenu li.wp-has-current-submenu ul li a{background:url(../images/menu-dark.gif) bottom left no-repeat!important;}#adminmenu li.wp-has-current-submenu ul{border-bottom-color:#aaa;}#adminmenu .wp-submenu .current a.current{background:transparent url(../images/menu-bits.gif?ver=20100610) no-repeat scroll 0 -289px;}#adminmenu .wp-submenu a:hover{background-color:#EAF2FA!important;color:#333!important;}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover{color:#333;background-color:#f5f5f5;background-image:none;border-color:#e3e3e3;}#adminmenu .wp-submenu ul{background-color:#fff;}.folded #adminmenu li.menu-top,#adminmenu .wp-submenu .wp-submenu-head{background-color:#F1F1F1;}.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.menu-top.current{background-color:#e6e6e6;}#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{background-color:#EAEAEA;border-color:#aaa;}#adminmenu div.wp-submenu{background-color:transparent;}#adminmenu .menu-icon-dashboard div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -61px -33px;}#adminmenu .menu-icon-dashboard:hover div.wp-menu-image,#adminmenu .menu-icon-dashboard.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-dashboard.current div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -61px -1px;}#adminmenu .menu-icon-post div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -272px -33px;}#adminmenu .menu-icon-post:hover div.wp-menu-image,#adminmenu .menu-icon-post.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -272px -1px;}#adminmenu .menu-icon-media div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -121px -33px;}#adminmenu .menu-icon-media:hover div.wp-menu-image,#adminmenu .menu-icon-media.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -121px -1px;}#adminmenu .menu-icon-links div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -91px -33px;}#adminmenu .menu-icon-links:hover div.wp-menu-image,#adminmenu .menu-icon-links.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -91px -1px;}#adminmenu .menu-icon-page div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -151px -33px;}#adminmenu .menu-icon-page:hover div.wp-menu-image,#adminmenu .menu-icon-page.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -151px -1px;}#adminmenu .menu-icon-comments div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -31px -33px;}#adminmenu .menu-icon-comments:hover div.wp-menu-image,#adminmenu .menu-icon-comments.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-comments.current div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -31px -1px;}#adminmenu .menu-icon-appearance div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -1px -33px;}#adminmenu .menu-icon-appearance:hover div.wp-menu-image,#adminmenu .menu-icon-appearance.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -1px -1px;}#adminmenu .menu-icon-plugins div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -181px -33px;}#adminmenu .menu-icon-plugins:hover div.wp-menu-image,#adminmenu .menu-icon-plugins.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -181px -1px;}#adminmenu .menu-icon-users div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -301px -33px;}#adminmenu .menu-icon-users:hover div.wp-menu-image,#adminmenu .menu-icon-users.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -301px -1px;}#adminmenu .menu-icon-tools div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -211px -33px;}#adminmenu .menu-icon-tools:hover div.wp-menu-image,#adminmenu .menu-icon-tools.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -211px -1px;}#adminmenu .menu-icon-settings div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -241px -33px;}#adminmenu .menu-icon-settings:hover div.wp-menu-image,#adminmenu .menu-icon-settings.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -241px -1px;}#adminmenu .menu-icon-site div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -361px -33px;}#adminmenu .menu-icon-site:hover div.wp-menu-image,#adminmenu .menu-icon-site.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -361px -1px;}table.diff .diff-deletedline{background-color:#fdd;}table.diff .diff-deletedline del{background-color:#f99;}table.diff .diff-addedline{background-color:#dfd;}table.diff .diff-addedline ins{background-color:#9f9;}#att-info{background-color:#E4F2FD;}#sidemenu a{background-color:#f9f9f9;border-color:#f9f9f9;border-bottom-color:#dfdfdf;}#sidemenu a.current{background-color:#fff;border-color:#dfdfdf #dfdfdf #fff;color:#D54E21;}#screen-options-wrap,#contextual-help-wrap{background-color:#f1f1f1;border-color:#dfdfdf;}#screen-meta-links a.show-settings{color:#606060;}#screen-meta-links a.show-settings:hover{color:#000;}#replysubmit{background-color:#f1f1f1;border-top-color:#ddd;}#replyerror{border-color:#ddd;background-color:#f9f9f9;}#edithead,#replyhead{background-color:#f1f1f1;}#ed_reply_toolbar{background-color:#e9e9e9;}.vim-current,.vim-current th,.vim-current td{background-color:#E4F2FD!important;}.star-average,.star.star-rating{background-color:#fc0;}div.star.select:hover{background-color:#d00;}#plugin-information .fyi ul{background-color:#eaf3fa;}#plugin-information .fyi h2.mainheader{background-color:#cee1ef;}#plugin-information pre,#plugin-information code{background-color:#ededff;}#plugin-information pre{border:1px solid #ccc;}.inline-edit-row fieldset input[type="text"],.inline-edit-row fieldset textarea,#bulk-titles,#replyrow input{border-color:#ddd;}.inline-editor div.title{background-color:#EAF3FA;}.inline-editor ul.cat-checklist{background-color:#fff;border-color:#ddd;}.inline-editor .categories .catshow,.inline-editor .categories .cathide{color:#21759b;}.inline-editor .quick-edit-save{background-color:#f1f1f1;}#replyrow #ed_reply_toolbar input:hover{border-color:#aaa;background:#ddd;}fieldset.inline-edit-col-right .inline-edit-col{border-color:#dfdfdf;}.attention{color:#D54E21;}.meta-box-sortables .postbox:hover .handlediv{background:transparent url(../images/menu-bits.gif?ver=20100610) no-repeat scroll left -111px;}#major-publishing-actions{background:#eaf2fa;}.tablenav .tablenav-pages{color:#555;}.tablenav .tablenav-pages a{border-color:#e3e3e3;background:#eee url('../images/menu-bits.gif?ver=20100610') repeat-x scroll left -379px;}.tablenav .tablenav-pages a:hover{color:#d54e21;border-color:#d54321;}.tablenav .tablenav-pages a:active{color:#fff!important;}.tablenav .tablenav-pages .current{background:#dfdfdf;border-color:#d3d3d3;}#availablethemes,#availablethemes td{border-color:#ddd;}#current-theme img{border-color:#999;}#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{color:#999;}#TB_window #TB_title a.tb-theme-preview-link:hover,#TB_window #TB_title a.tb-theme-preview-link:focus{color:#ccc;}.misc-pub-section{border-bottom-color:#eee;}#minor-publishing{border-bottom-color:#ddd;}#post-body .misc-pub-section{border-right-color:#eee;}.post-com-count span{background-color:#bbb;}.form-table .color-palette td{border-color:#fff;}.sortable-placeholder{border-color:#bbb;background-color:#f5f5f5;}#post-body ul.category-tabs li.tabs a,#post-body ul.add-menu-item-tabs li.tabs a{color:#333;}#wp_editimgbtn,#wp_delimgbtn,#wp_editgallery,#wp_delgallery{border-color:#999;background-color:#eee;}#wp_editimgbtn:hover,#wp_delimgbtn:hover,#wp_editgallery:hover,#wp_delgallery:hover{border-color:#555;background-color:#ccc;}#favorite-first{border-color:#c0c0c0;background:#f1f1f1;background:-moz-linear-gradient(bottom,#e7e7e7,#fff);background:-webkit-gradient(linear,left bottom,left top,from(#e7e7e7),to(#fff));}#favorite-inside{border-color:#c0c0c0;background-color:#fff;}#favorite-toggle{background:transparent url(../images/fav-arrow.gif?ver=20100531) no-repeat 0 -4px;}#favorite-actions a{color:#464646;}#favorite-actions a:hover{color:#000;}#favorite-inside a:hover{text-decoration:underline;}#screen-meta a.show-settings{background-color:transparent;text-shadow:rgba(255,255,255,0.7) 0 1px 0;}#icon-edit,#icon-post{background:transparent url(../images/icons32.png?ver=20100531) no-repeat -552px -5px;}#icon-index{background:transparent url(../images/icons32.png?ver=20100531) no-repeat -137px -5px;}#icon-upload{background:transparent url(../images/icons32.png?ver=20100531) no-repeat -251px -5px;}#icon-link-manager,#icon-link,#icon-link-category{background:transparent url(../images/icons32.png?ver=20100531) no-repeat -190px -5px;}#icon-edit-pages,#icon-page{background:transparent url(../images/icons32.png?ver=20100531) no-repeat -312px -5px;}#icon-edit-comments{background:transparent url(../images/icons32.png?ver=20100531) no-repeat -72px -5px;}#icon-themes{background:transparent url(../images/icons32.png?ver=20100531) no-repeat -11px -5px;}#icon-plugins{background:transparent url(../images/icons32.png?ver=20100531) no-repeat -370px -5px;}#icon-users,#icon-profile,#icon-user-edit{background:transparent url(../images/icons32.png?ver=20100531) no-repeat -600px -5px;}#icon-tools,#icon-admin{background:transparent url(../images/icons32.png?ver=20100531) no-repeat -432px -5px;}#icon-options-general{background:transparent url(../images/icons32.png?ver=20100531) no-repeat -492px -5px;}#icon-ms-admin{background:transparent url(../images/icons32.png?ver=20100531) no-repeat -659px -5px;}.view-switch #view-switch-list{background:transparent url(../images/list.png) no-repeat 0 0;}.view-switch #view-switch-list.current{background:transparent url(../images/list.png) no-repeat -40px 0;}.view-switch #view-switch-excerpt{background:transparent url(../images/list.png) no-repeat -20px 0;}.view-switch #view-switch-excerpt.current{background:transparent url(../images/list.png) no-repeat -60px 0;}#header-logo{background:transparent url(../images/wp-logo.png?ver=20100531) no-repeat scroll center center;}.popular-tags,.feature-filter{background-color:#fff;border-color:#DFDFDF;}#theme-information .action-button{border-top-color:#DFDFDF;}.theme-listing br.line{border-bottom-color:#ccc;}div.widgets-sortables,#widgets-left .inactive{background-color:#f1f1f1;border-color:#ddd;}#available-widgets .widget-holder{background-color:#fff;border-color:#ddd;}#widgets-left .sidebar-name{background-color:#aaa;background-image:url(../images/ed-bg.gif);text-shadow:#fff 0 1px 0;border-color:#dfdfdf;}#widgets-right .sidebar-name{background-image:url(../images/fav.png);text-shadow:#3f3f3f 0 -1px 0;background-color:#636363;border-color:#636363;color:#fff;}.sidebar-name:hover,#removing-widget{color:#d54e21;}#removing-widget span{color:black;}#widgets-left .sidebar-name-arrow{background:transparent url(../images/menu-bits.gif?ver=20100610) no-repeat scroll left -109px;}#widgets-right .sidebar-name-arrow{background:transparent url(../images/widgets-arrow.gif?ver=20100531) no-repeat scroll 0 -1px;}.in-widget-title{color:#606060;}.deleting .widget-title *{color:#aaa;}.imgedit-menu div{border-color:#d5d5d5;background-color:#f1f1f1;}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea;}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;filter:alpha(opacity=50);opacity:.5;}#dashboard_recent_comments div.undo{border-top-color:#dfdfdf;}.comment-ays,.comment-ays th{border-color:#ddd;}.comment-ays th{background-color:#f1f1f1;}#nav-menu-header,.menu-item-handle{background:url("../images/gray-grad.png") repeat-x scroll left top #dfdfdf;}#menu-management .nav-tab-active{background:#ececec;border-bottom-color:#ececec;}
\ No newline at end of file
diff --git a/wp-admin/css/colors-fresh.dev.css b/wp-admin/css/colors-fresh.dev.css
index 41a86aed..f7790130 100644
--- a/wp-admin/css/colors-fresh.dev.css
+++ b/wp-admin/css/colors-fresh.dev.css
@@ -4,7 +4,7 @@ html {
* html input,
* html .widget {
- border-color: #dfdfdf;
+ border-color: #dfdfdf;
}
textarea,
@@ -110,11 +110,13 @@ div.dashboard-widget-submit {
}
div.tabs-panel,
-ul#category-tabs li.tabs {
+ul.category-tabs li.tabs,
+ul.add-menu-item-tabs li.tabs {
border-color: #dfdfdf;
}
-ul#category-tabs li.tabs {
+ul.category-tabs li.tabs,
+ul.add-menu-item-tabs li.tabs {
background-color: #f1f1f1;
}
@@ -123,7 +125,6 @@ textarea.disabled {
background-color: #ccc;
}
/* #upload-menu li a.upload-tab-link, */
-.login #backtoblog a:hover,
#plugin-information .action-button a,
#plugin-information .action-button a:hover,
#plugin-information .action-button a:visited {
@@ -380,7 +381,8 @@ div.dashboard-widget-submit input:hover,
border-color: #dfdfdf;
}
-#side-sortables #category-tabs .tabs a {
+#side-sortables .category-tabs .tabs a,
+#side-sortables .add-menu-item-tabs .tabs a {
color: #333;
}
@@ -438,7 +440,7 @@ div.dashboard-widget-submit input:hover,
}
.update-message {
- color: #000000;
+ color: #000;
}
a.page-numbers {
@@ -502,38 +504,27 @@ body.press-this .tabs a:hover {
#adminmenu #awaiting-mod,
#adminmenu .update-plugins,
#sidemenu a .update-plugins,
-#rightnow .reallynow,
-#plugin-information .action-button {
- background-color: #d54e21;
+#rightnow .reallynow {
+ background-color: #464646;
color: #fff;
+ -moz-box-shadow: #fff 0 -1px 0;
+ -khtml-box-shadow: #fff 0 -1px 0;
+ -webkit-box-shadow: #fff 0 -1px 0;
+ box-shadow: #fff 0 -1px 0;
}
-
-#adminmenu li a:hover #awaiting-mod,
-#adminmenu li a:hover .update-plugins,
-#sidemenu li a:hover .update-plugins {
- background-color: #264761;
+#plugin-information .action-button {
+ background-color: #d54e21;
color: #fff;
}
#adminmenu li.current a #awaiting-mod,
-#adminmenu li.current a .update-plugins,
-#adminmenu li.wp-has-current-submenu a .update-plugins,
-#adminmenu li.wp-has-current-submenu a .update-plugins {
- background-color: #ddd;
- color: #000;
- text-shadow: none;
- -moz-box-shadow: rgba(0,0,0,0.2) 0 -1px 0;
- -khtml-box-shadow: rgba(0,0,0,0.2) 0 -1px 0;
- -webkit-box-shadow: rgba(0,0,0,0.2) 0 -1px 0;
- box-shadow: rgba(0,0,0,0.2) 0 -1px 0;
-}
-
-#adminmenu li.current a:hover #awaiting-mod,
-#adminmenu li.current a:hover .update-plugins,
-#adminmenu li.wp-has-current-submenu a:hover #awaiting-mod,
-#adminmenu li.wp-has-current-submenu a:hover .update-plugins {
- background-color: #264761;
+#adminmenu li a.wp-has-current-submenu .update-plugins{
+ background-color: #464646;
color: #fff;
+ -moz-box-shadow: #fff 0 -1px 0;
+ -khtml-box-shadow: #fff 0 -1px 0;
+ -webkit-box-shadow: #fff 0 -1px 0;
+ box-shadow: #fff 0 -1px 0;
}
div#media-upload-header,
@@ -577,10 +568,12 @@ input.readonly, textarea.readonly {
color: #d54e21 !important;
}
-#footer,
-#footer-upgrade {
- background: #464646;
- color: #999;
+#footer {
+ color: #777;
+ border-color: #d1d1d1;
+ background: #d9d9d9; /* fallback color */
+ background:-moz-linear-gradient(bottom, #d7d7d7, #e4e4e4);
+ background:-webkit-gradient(linear, left bottom, left top, from(#d7d7d7), to(#e4e4e4));
}
#media-items,
@@ -692,43 +685,42 @@ table.widefat span.spam a,
background: url(../images/xit.gif) no-repeat -10px 0;
}
-#update-nag {
- background-color: #fffeeb;
- border-color: #ccc;
+#update-nag, .update-nag {
+ background-color: #FFFBCC;
+ border-color: #E6DB55;
color: #555;
}
.login #backtoblog a {
- color: #ccc;
+ color: #464646;
}
#wphead {
- background-color: #464646;
-}
-
-body.login {
- border-top-color: #464646;
+ border-bottom:#c6c6c6 1px solid;
+ background: #d9d9d9; /* fallback color */
+ background:-moz-linear-gradient(bottom, #d7d7d7, #e4e4e4);
+ background:-webkit-gradient(linear, left bottom, left top, from(#d7d7d7), to(#e4e4e4));
}
#wphead h1 a {
- color: #fff;
+ color: #464646;
}
#user_info {
- color: #999;
+ color: #777;
}
#user_info a:link,
#user_info a:visited,
#footer a:link,
#footer a:visited {
- color: #ccc;
+ color: #222;
text-decoration: none;
}
#user_info a:hover,
#footer a:hover {
- color: #fff;
+ color: #000;
text-decoration: underline !important;
}
@@ -1048,20 +1040,20 @@ table.widefat .spam a:hover,
#adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle,
#adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle {
- background: transparent url(../images/menu-bits.gif) no-repeat scroll left -207px;
+ background: transparent url(../images/menu-bits.gif?ver=20100610) no-repeat scroll left -207px;
}
#adminmenu .wp-has-submenu:hover .wp-menu-toggle,
#adminmenu .wp-menu-open .wp-menu-toggle {
- background: transparent url(../images/menu-bits.gif) no-repeat scroll left -109px;
+ background: transparent url(../images/menu-bits.gif?ver=20100610) no-repeat scroll left -109px;
}
#adminmenu a.menu-top {
- background: #f1f1f1 url(../images/menu-bits.gif) repeat-x scroll left -379px;
+ background: #f1f1f1 url(../images/menu-bits.gif?ver=20100610) repeat-x scroll left -379px;
}
#adminmenu .wp-submenu a {
- background: #FFFFFF url(../images/menu-bits.gif) no-repeat scroll 0 -310px;
+ background: #fff url(../images/menu-bits.gif?ver=20100610) no-repeat scroll 0 -310px;
}
#adminmenu .wp-has-current-submenu ul li a {
@@ -1072,17 +1064,25 @@ table.widefat .spam a:hover,
background: url(../images/menu-dark.gif) top left no-repeat !important;
}
+.wp-has-current-submenu .wp-submenu {
+ border-top: none !important;
+}
+
+#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu {
+ border-bottom: #aaa 1px solid;
+}
+
#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,
-#adminmenu .menu-top .current {
- background: #6d6d6d url(../images/menu-bits.gif) top left repeat-x;
- border-color: #6d6d6d;
- color: #fff;
- text-shadow: rgba(0,0,0,0.4) 0px -1px 0px;
+#adminmenu li.current a.menu-top {
+ background: #e0e0e0 url(../images/menu-bits.gif?ver=20100610) top left repeat-x;
+ border: #aaa 1px solid;
+ color: #000;
}
#adminmenu li.wp-has-current-submenu .wp-submenu,
#adminmenu li.wp-has-current-submenu ul li a {
- border-color: #aaa !important;
+ border-right-color: #aaa !important;
+ border-left-color: #aaa !important;
}
#adminmenu li.wp-has-current-submenu ul li a {
@@ -1093,12 +1093,8 @@ table.widefat .spam a:hover,
border-bottom-color: #aaa;
}
-#adminmenu li.menu-top .current:hover {
- border-color: #B5B5B5;
-}
-
#adminmenu .wp-submenu .current a.current {
- background: transparent url(../images/menu-bits.gif) no-repeat scroll 0 -289px;
+ background: transparent url(../images/menu-bits.gif?ver=20100610) no-repeat scroll 0 -289px;
}
#adminmenu .wp-submenu a:hover {
@@ -1113,7 +1109,6 @@ table.widefat .spam a:hover,
background-color: #f5f5f5;
background-image: none;
border-color: #e3e3e3;
- text-shadow: rgba(255,255,255,1) 0px 1px 0px;
}
#adminmenu .wp-submenu ul {
@@ -1140,124 +1135,133 @@ table.widefat .spam a:hover,
}
/* menu icons */
-#adminmenu #menu-dashboard div.wp-menu-image {
- background: transparent url("../images/menu.png") no-repeat scroll -61px -33px;
+#adminmenu .menu-icon-dashboard div.wp-menu-image {
+ background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -61px -33px;
+}
+
+#adminmenu .menu-icon-dashboard:hover div.wp-menu-image,
+#adminmenu .menu-icon-dashboard.wp-has-current-submenu div.wp-menu-image,
+#adminmenu .menu-icon-dashboard.current div.wp-menu-image {
+ background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -61px -1px;
+}
+
+#adminmenu .menu-icon-post div.wp-menu-image {
+ background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -272px -33px;
}
-#adminmenu #menu-dashboard:hover div.wp-menu-image,
-#adminmenu #menu-dashboard.wp-has-current-submenu div.wp-menu-image,
-#adminmenu #menu-dashboard.current div.wp-menu-image {
- background: transparent url("../images/menu.png") no-repeat scroll -61px -1px;
+#adminmenu .menu-icon-post:hover div.wp-menu-image,
+#adminmenu .menu-icon-post.wp-has-current-submenu div.wp-menu-image {
+ background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -272px -1px;
}
-#adminmenu #menu-posts div.wp-menu-image {
- background: transparent url("../images/menu.png") no-repeat scroll -272px -33px;
+#adminmenu .menu-icon-media div.wp-menu-image {
+ background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -121px -33px;
}
-#adminmenu #menu-posts:hover div.wp-menu-image,
-#adminmenu #menu-posts.wp-has-current-submenu div.wp-menu-image {
- background: transparent url("../images/menu.png") no-repeat scroll -272px -1px;
+#adminmenu .menu-icon-media:hover div.wp-menu-image,
+#adminmenu .menu-icon-media.wp-has-current-submenu div.wp-menu-image {
+ background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -121px -1px;
}
-#adminmenu #menu-media div.wp-menu-image {
- background: transparent url("../images/menu.png") no-repeat scroll -121px -33px;
+#adminmenu .menu-icon-links div.wp-menu-image {
+ background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -91px -33px;
}
-#adminmenu #menu-media:hover div.wp-menu-image,
-#adminmenu #menu-media.wp-has-current-submenu div.wp-menu-image {
- background: transparent url("../images/menu.png") no-repeat scroll -121px -1px;
+#adminmenu .menu-icon-links:hover div.wp-menu-image,
+#adminmenu .menu-icon-links.wp-has-current-submenu div.wp-menu-image {
+ background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -91px -1px;
}
-#adminmenu #menu-links div.wp-menu-image {
- background: transparent url("../images/menu.png") no-repeat scroll -91px -33px;
+#adminmenu .menu-icon-page div.wp-menu-image {
+ background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -151px -33px;
}
-#adminmenu #menu-links:hover div.wp-menu-image,
-#adminmenu #menu-links.wp-has-current-submenu div.wp-menu-image {
- background: transparent url("../images/menu.png") no-repeat scroll -91px -1px;
+#adminmenu .menu-icon-page:hover div.wp-menu-image,
+#adminmenu .menu-icon-page.wp-has-current-submenu div.wp-menu-image {
+ background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -151px -1px;
}
-#adminmenu #menu-pages div.wp-menu-image {
- background: transparent url("../images/menu.png") no-repeat scroll -151px -33px;
+#adminmenu .menu-icon-comments div.wp-menu-image {
+ background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -31px -33px;
}
-#adminmenu #menu-pages:hover div.wp-menu-image,
-#adminmenu #menu-pages.wp-has-current-submenu div.wp-menu-image {
- background: transparent url("../images/menu.png") no-repeat scroll -151px -1px;
+#adminmenu .menu-icon-comments:hover div.wp-menu-image,
+#adminmenu .menu-icon-comments.wp-has-current-submenu div.wp-menu-image,
+#adminmenu .menu-icon-comments.current div.wp-menu-image {
+ background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -31px -1px;
}
-#adminmenu #menu-comments div.wp-menu-image {
- background: transparent url("../images/menu.png") no-repeat scroll -31px -33px;
+#adminmenu .menu-icon-appearance div.wp-menu-image {
+ background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -1px -33px;
}
-#adminmenu #menu-comments:hover div.wp-menu-image,
-#adminmenu #menu-comments.wp-has-current-submenu div.wp-menu-image,
-#adminmenu #menu-comments.current div.wp-menu-image {
- background: transparent url("../images/menu.png") no-repeat scroll -31px -1px;
+#adminmenu .menu-icon-appearance:hover div.wp-menu-image,
+#adminmenu .menu-icon-appearance.wp-has-current-submenu div.wp-menu-image {
+ background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -1px -1px;
}
-#adminmenu #menu-appearance div.wp-menu-image {
- background: transparent url("../images/menu.png") no-repeat scroll -1px -33px;
+#adminmenu .menu-icon-plugins div.wp-menu-image {
+ background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -181px -33px;
}
-#adminmenu #menu-appearance:hover div.wp-menu-image,
-#adminmenu #menu-appearance.wp-has-current-submenu div.wp-menu-image {
- background: transparent url("../images/menu.png") no-repeat scroll -1px -1px;
+#adminmenu .menu-icon-plugins:hover div.wp-menu-image,
+#adminmenu .menu-icon-plugins.wp-has-current-submenu div.wp-menu-image {
+ background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -181px -1px;
}
-#adminmenu #menu-plugins div.wp-menu-image {
- background: transparent url("../images/menu.png") no-repeat scroll -181px -33px;
+#adminmenu .menu-icon-users div.wp-menu-image {
+ background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -301px -33px;
}
-#adminmenu #menu-plugins:hover div.wp-menu-image,
-#adminmenu #menu-plugins.wp-has-current-submenu div.wp-menu-image {
- background: transparent url("../images/menu.png") no-repeat scroll -181px -1px;
+#adminmenu .menu-icon-users:hover div.wp-menu-image,
+#adminmenu .menu-icon-users.wp-has-current-submenu div.wp-menu-image {
+ background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -301px -1px;
}
-#adminmenu #menu-users div.wp-menu-image {
- background: transparent url("../images/menu.png") no-repeat scroll -301px -33px;
+#adminmenu .menu-icon-tools div.wp-menu-image {
+ background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -211px -33px;
}
-#adminmenu #menu-users:hover div.wp-menu-image,
-#adminmenu #menu-users.wp-has-current-submenu div.wp-menu-image {
- background: transparent url("../images/menu.png") no-repeat scroll -301px -1px;
+#adminmenu .menu-icon-tools:hover div.wp-menu-image,
+#adminmenu .menu-icon-tools.wp-has-current-submenu div.wp-menu-image {
+ background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -211px -1px;
}
-#adminmenu #menu-tools div.wp-menu-image {
- background: transparent url("../images/menu.png") no-repeat scroll -211px -33px;
+#adminmenu .menu-icon-settings div.wp-menu-image {
+ background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -241px -33px;
}
-#adminmenu #menu-tools:hover div.wp-menu-image,
-#adminmenu #menu-tools.wp-has-current-submenu div.wp-menu-image {
- background: transparent url("../images/menu.png") no-repeat scroll -211px -1px;
+#adminmenu .menu-icon-settings:hover div.wp-menu-image,
+#adminmenu .menu-icon-settings.wp-has-current-submenu div.wp-menu-image {
+ background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -241px -1px;
}
-#adminmenu #menu-settings div.wp-menu-image {
- background: transparent url("../images/menu.png") no-repeat scroll -241px -33px;
+#adminmenu .menu-icon-site div.wp-menu-image {
+ background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -361px -33px;
}
-#adminmenu #menu-settings:hover div.wp-menu-image,
-#adminmenu #menu-settings.wp-has-current-submenu div.wp-menu-image {
- background: transparent url("../images/menu.png") no-repeat scroll -241px -1px;
+#adminmenu .menu-icon-site:hover div.wp-menu-image,
+#adminmenu .menu-icon-site.wp-has-current-submenu div.wp-menu-image {
+ background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -361px -1px;
}
/* end menu */
/* Diff */
table.diff .diff-deletedline {
- background-color: #ffdddd;
+ background-color: #fdd;
}
table.diff .diff-deletedline del {
- background-color: #ff9999;
+ background-color: #f99;
}
table.diff .diff-addedline {
- background-color: #ddffdd;
+ background-color: #dfd;
}
table.diff .diff-addedline ins {
- background-color: #99ff99;
+ background-color: #9f9;
}
#att-info {
@@ -1357,7 +1361,7 @@ div.star.select:hover {
}
.inline-editor ul.cat-checklist {
- background-color: #FFFFFF;
+ background-color: #fff;
border-color: #ddd;
}
@@ -1384,7 +1388,7 @@ fieldset.inline-edit-col-right .inline-edit-col {
}
.meta-box-sortables .postbox:hover .handlediv {
- background: transparent url(../images/menu-bits.gif) no-repeat scroll left -111px;
+ background: transparent url(../images/menu-bits.gif?ver=20100610) no-repeat scroll left -111px;
}
#major-publishing-actions {
@@ -1397,7 +1401,7 @@ fieldset.inline-edit-col-right .inline-edit-col {
.tablenav .tablenav-pages a {
border-color: #e3e3e3;
- background: #eee url('../images/menu-bits.gif') repeat-x scroll left -379px;
+ background: #eee url('../images/menu-bits.gif?ver=20100610') repeat-x scroll left -379px;
}
.tablenav .tablenav-pages a:hover {
@@ -1458,7 +1462,8 @@ fieldset.inline-edit-col-right .inline-edit-col {
background-color: #f5f5f5;
}
-#post-body ul#category-tabs li.tabs a {
+#post-body ul.category-tabs li.tabs a,
+#post-body ul.add-menu-item-tabs li.tabs a {
color: #333;
}
@@ -1479,36 +1484,33 @@ fieldset.inline-edit-col-right .inline-edit-col {
}
#favorite-first {
- background: #797979 url(../images/fav.png) repeat-x left center;
- border-color: #777 !important;
- border-bottom-color: #666 !important;
+ border-color: #c0c0c0;
+ background: #f1f1f1; /* fallback color */
+ background:-moz-linear-gradient(bottom, #e7e7e7, #fff);
+ background:-webkit-gradient(linear, left bottom, left top, from(#e7e7e7), to(#fff));
}
#favorite-inside {
- border-color: #797979;
- background-color: #797979;
+ border-color: #c0c0c0;
+ background-color: #fff;
}
#favorite-toggle {
- background: transparent url(../images/fav-arrow.gif) no-repeat 0 -4px;
+ background: transparent url(../images/fav-arrow.gif?ver=20100531) no-repeat 0 -4px;
}
#favorite-actions a {
- color: #ddd;
+ color: #464646;
}
#favorite-actions a:hover {
- color: #fff;
+ color: #000;
}
#favorite-inside a:hover {
text-decoration: underline;
}
-#favorite-actions .slide-down {
- border-bottom-color: #626262;
-}
-
#screen-meta a.show-settings {
background-color: transparent;
text-shadow: rgba(255,255,255,0.7) 0 1px 0;
@@ -1516,53 +1518,57 @@ fieldset.inline-edit-col-right .inline-edit-col {
#icon-edit,
#icon-post {
- background: transparent url(../images/icons32.png) no-repeat -552px -5px;
+ background: transparent url(../images/icons32.png?ver=20100531) no-repeat -552px -5px;
}
#icon-index {
- background: transparent url(../images/icons32.png) no-repeat -137px -5px;
+ background: transparent url(../images/icons32.png?ver=20100531) no-repeat -137px -5px;
}
#icon-upload {
- background: transparent url(../images/icons32.png) no-repeat -251px -5px;
+ background: transparent url(../images/icons32.png?ver=20100531) no-repeat -251px -5px;
}
#icon-link-manager,
#icon-link,
#icon-link-category {
- background: transparent url(../images/icons32.png) no-repeat -190px -5px;
+ background: transparent url(../images/icons32.png?ver=20100531) no-repeat -190px -5px;
}
#icon-edit-pages,
#icon-page {
- background: transparent url(../images/icons32.png) no-repeat -312px -5px;
+ background: transparent url(../images/icons32.png?ver=20100531) no-repeat -312px -5px;
}
#icon-edit-comments {
- background: transparent url(../images/icons32.png) no-repeat -72px -5px;
+ background: transparent url(../images/icons32.png?ver=20100531) no-repeat -72px -5px;
}
#icon-themes {
- background: transparent url(../images/icons32.png) no-repeat -11px -5px;
+ background: transparent url(../images/icons32.png?ver=20100531) no-repeat -11px -5px;
}
#icon-plugins {
- background: transparent url(../images/icons32.png) no-repeat -370px -5px;
+ background: transparent url(../images/icons32.png?ver=20100531) no-repeat -370px -5px;
}
#icon-users,
#icon-profile,
#icon-user-edit {
- background: transparent url(../images/icons32.png) no-repeat -600px -5px;
+ background: transparent url(../images/icons32.png?ver=20100531) no-repeat -600px -5px;
}
#icon-tools,
#icon-admin {
- background: transparent url(../images/icons32.png) no-repeat -432px -5px;
+ background: transparent url(../images/icons32.png?ver=20100531) no-repeat -432px -5px;
}
#icon-options-general {
- background: transparent url(../images/icons32.png) no-repeat -492px -5px;
+ background: transparent url(../images/icons32.png?ver=20100531) no-repeat -492px -5px;
+}
+
+#icon-ms-admin {
+ background: transparent url(../images/icons32.png?ver=20100531) no-repeat -659px -5px;
}
.view-switch #view-switch-list {
@@ -1582,28 +1588,12 @@ fieldset.inline-edit-col-right .inline-edit-col {
}
#header-logo {
- background: transparent url(../images/wp-logo.gif) no-repeat scroll center center;
-}
-
-#wphead #site-visit-button {
- background-color:#585858;
- background-image: url(../images/visit-site-button-grad.gif);
- color:#aaa;
- text-shadow: #3F3F3F 0 -1px 0;
-}
-
-#wphead a:hover #site-visit-button {
- color:#fff;
-}
-
-#wphead a:focus #site-visit-button,
-#wphead a:active #site-visit-button {
- background-position:0 -27px;
+ background: transparent url(../images/wp-logo.png?ver=20100531) no-repeat scroll center center;
}
.popular-tags,
.feature-filter {
- background-color: #FFFFFF;
+ background-color: #fff;
border-color: #DFDFDF;
}
@@ -1618,18 +1608,18 @@ fieldset.inline-edit-col-right .inline-edit-col {
div.widgets-sortables,
#widgets-left .inactive {
background-color: #f1f1f1;
- border-color: #ddd;
+ border-color: #ddd;
}
#available-widgets .widget-holder {
- background-color: #fff;
- border-color: #ddd;
+ background-color: #fff;
+ border-color: #ddd;
}
#widgets-left .sidebar-name {
background-color: #aaa;
background-image: url(../images/ed-bg.gif);
- text-shadow: #FFFFFF 0 1px 0;
+ text-shadow: #fff 0 1px 0;
border-color: #dfdfdf;
}
@@ -1651,11 +1641,11 @@ div.widgets-sortables,
}
#widgets-left .sidebar-name-arrow {
- background: transparent url(../images/menu-bits.gif) no-repeat scroll left -109px;
+ background: transparent url(../images/menu-bits.gif?ver=20100610) no-repeat scroll left -109px;
}
#widgets-right .sidebar-name-arrow {
- background: transparent url(../images/fav-arrow.gif) no-repeat scroll 0 -1px;
+ background: transparent url(../images/widgets-arrow.gif?ver=20100531) no-repeat scroll 0 -1px;
}
.in-widget-title {
@@ -1695,3 +1685,12 @@ div.widgets-sortables,
.comment-ays th {
background-color: #f1f1f1;
}
+
+#nav-menu-header, .menu-item-handle {
+ background: url("../images/gray-grad.png") repeat-x scroll left top #dfdfdf;
+}
+
+#menu-management .nav-tab-active {
+ background: #ececec;
+ border-bottom-color: #ececec;
+}
\ No newline at end of file
diff --git a/wp-admin/css/dashboard-rtl.css b/wp-admin/css/dashboard-rtl.css
index 60a97baf..8b6f73a3 100644
--- a/wp-admin/css/dashboard-rtl.css
+++ b/wp-admin/css/dashboard-rtl.css
@@ -1,93 +1 @@
-#dashboard-widgets-wrap .has-sidebar {
- margin-right: 0;
- margin-left: -51%;
-}
-#dashboard-widgets-wrap .has-sidebar .has-sidebar-content {
- margin-right: 0;
- margin-left: 51%;
-}
-.view-all {
- right: auto;
- left: 0;
-}
-#dashboard_right_now p.sub, #dashboard-widgets h4, #dashboard_quick_press h4, a.rsswidget, #dashboard_plugins h4, #dashboard_plugins h5, #dashboard_recent_comments .comment-meta .approve {
- font-family: Tahoma, Arial;
-}
-#dashboard_right_now td.b {
- padding-right: 0;
- padding-left: 6px;
- text-align: left;
- font-family: Tahoma, Arial;
-}
-#dashboard_right_now .t {
- padding-right: 0;
- padding-left: 12px;
-}
-#dashboard_right_now .versions a {
- font-family: Tahoma, Arial;
-}
-#dashboard_right_now a.button {
- float: left;
- clear: left;
-}
-#dashboard-widgets h3 .postbox-title-action {
- right: auto;
- left: 30px;
-}
-#the-comment-list .pingback {
- padding-left: 0 !important;
- padding-right: 9px !important;
-}
-/* Recent Comments */
-#the-comment-list .comment-item {
- padding: 1em 70px 1em 10px;
-}
-#the-comment-list .comment-item .avatar {
- float: right;
- margin-left: 0;
- margin-right: -60px;
-}
-/* Feeds */
-.rss-widget cite {
- text-align: left;
-}
-.rss-widget span.rss-date {
- font-family: Tahoma, Arial;
- margin-left: 0;
- margin-right: 3px;
-}
-/* QuickPress */
-#dashboard_quick_press h4 {
- float: right;
- text-align: left;
-}
-#dashboard_quick_press h4 label {
- margin-right: 0;
- margin-left: 10px;
-}
-#dashboard_quick_press .input-text-wrap, #dashboard_quick_press .textarea-wrap {
- margin: 0 5em 1em 0;
-}
-#dashboard_quick_press #media-buttons {
- margin: 0 5em .5em 0;
- padding: 0 10px 0 0;
-}
-#dashboard-widgets #dashboard_quick_press form p.submit {
- margin-left: 0;
- margin-right: 4.6em;
-}
-#dashboard-widgets #dashboard_quick_press form p.submit input {
- float: right;
-}
-#dashboard-widgets #dashboard_quick_press form p.submit #save-post {
- margin: 0 10px 0 1em;
-}
-#dashboard-widgets #dashboard_quick_press form p.submit #publish {
- float: left;
-}
-/* Recent Drafts */
-#dashboard_recent_drafts h4 abbr {
- font-family: Tahoma, Arial;
- margin-left:0;
- margin-right: 3px;
-}
+#dashboard-widgets-wrap .has-sidebar{margin-right:0;margin-left:-51%;}#dashboard-widgets-wrap .has-sidebar .has-sidebar-content{margin-right:0;margin-left:51%;}.view-all{right:auto;left:0;}#dashboard_right_now p.sub,#dashboard-widgets h4,#dashboard_quick_press h4,a.rsswidget,#dashboard_plugins h4,#dashboard_plugins h5,#dashboard_recent_comments .comment-meta .approve{font-family:Tahoma,Arial;}#dashboard_right_now p.sub{font-style:normal;left:auto;right:15px;}#dashboard_right_now td.b{padding-right:0;padding-left:6px;text-align:left;font-family:Tahoma,Arial;}#dashboard_right_now .t{padding-right:0;padding-left:12px;}#dashboard_right_now .table_content{float:right;}#dashboard_right_now .table_discussion{float:left;}#dashboard_right_now .versions{clear:right;}#dashboard_right_now .versions a{font-family:Tahoma,Arial;}#dashboard_right_now a.button{float:left;clear:left;}#dashboard-widgets h3 .postbox-title-action{right:auto;left:30px;}#the-comment-list .pingback{padding-left:0!important;padding-right:9px!important;}#the-comment-list .comment-item{padding:1em 70px 1em 10px;}#the-comment-list .comment-item .avatar{float:right;margin-left:0;margin-right:-60px;}.rss-widget cite{text-align:left;}.rss-widget span.rss-date{font-family:Tahoma,Arial;margin-left:0;margin-right:3px;}#dashboard_quick_press h4{float:right;text-align:left;}#dashboard_quick_press h4 label{margin-right:0;margin-left:10px;}#dashboard_quick_press .input-text-wrap,#dashboard_quick_press .textarea-wrap{margin:0 5em 1em 0;}#dashboard_quick_press #media-buttons{margin:0 5em .5em 0;padding:0 10px 0 0;}#dashboard-widgets #dashboard_quick_press form p.submit{margin-left:0;margin-right:4.6em;}#dashboard-widgets #dashboard_quick_press form p.submit input{float:right;}#dashboard-widgets #dashboard_quick_press form p.submit #save-post{margin:0 10px 0 1em;}#dashboard-widgets #dashboard_quick_press form p.submit #publish{float:left;}#dashboard-widgets #dashboard_quick_press form p.submit img.waiting{margin:4px 0 0 6px;}#dashboard_recent_drafts h4 abbr{font-family:Tahoma,Arial;margin-left:0;margin-right:3px;}
\ No newline at end of file
diff --git a/wp-admin/css/dashboard-rtl.dev.css b/wp-admin/css/dashboard-rtl.dev.css
new file mode 100644
index 00000000..78f2e879
--- /dev/null
+++ b/wp-admin/css/dashboard-rtl.dev.css
@@ -0,0 +1,110 @@
+#dashboard-widgets-wrap .has-sidebar {
+ margin-right: 0;
+ margin-left: -51%;
+}
+#dashboard-widgets-wrap .has-sidebar .has-sidebar-content {
+ margin-right: 0;
+ margin-left: 51%;
+}
+.view-all {
+ right: auto;
+ left: 0;
+}
+#dashboard_right_now p.sub, #dashboard-widgets h4, #dashboard_quick_press h4, a.rsswidget, #dashboard_plugins h4, #dashboard_plugins h5, #dashboard_recent_comments .comment-meta .approve {
+ font-family: Tahoma, Arial;
+}
+#dashboard_right_now p.sub {
+ font-style:normal;
+ left:auto;
+ right:15px;
+}
+#dashboard_right_now td.b {
+ padding-right: 0;
+ padding-left: 6px;
+ text-align: left;
+ font-family: Tahoma, Arial;
+}
+#dashboard_right_now .t {
+ padding-right: 0;
+ padding-left: 12px;
+}
+#dashboard_right_now .table_content {
+ float:right;
+}
+#dashboard_right_now .table_discussion {
+ float:left;
+}
+#dashboard_right_now .versions {
+ clear:right;
+}
+#dashboard_right_now .versions a {
+ font-family: Tahoma, Arial;
+}
+#dashboard_right_now a.button {
+ float: left;
+ clear: left;
+}
+#dashboard-widgets h3 .postbox-title-action {
+ right: auto;
+ left: 30px;
+}
+#the-comment-list .pingback {
+ padding-left: 0 !important;
+ padding-right: 9px !important;
+}
+/* Recent Comments */
+#the-comment-list .comment-item {
+ padding: 1em 70px 1em 10px;
+}
+#the-comment-list .comment-item .avatar {
+ float: right;
+ margin-left: 0;
+ margin-right: -60px;
+}
+/* Feeds */
+.rss-widget cite {
+ text-align: left;
+}
+.rss-widget span.rss-date {
+ font-family: Tahoma, Arial;
+ margin-left: 0;
+ margin-right: 3px;
+}
+/* QuickPress */
+#dashboard_quick_press h4 {
+ float: right;
+ text-align: left;
+}
+#dashboard_quick_press h4 label {
+ margin-right: 0;
+ margin-left: 10px;
+}
+#dashboard_quick_press .input-text-wrap, #dashboard_quick_press .textarea-wrap {
+ margin: 0 5em 1em 0;
+}
+#dashboard_quick_press #media-buttons {
+ margin: 0 5em .5em 0;
+ padding: 0 10px 0 0;
+}
+#dashboard-widgets #dashboard_quick_press form p.submit {
+ margin-left: 0;
+ margin-right: 4.6em;
+}
+#dashboard-widgets #dashboard_quick_press form p.submit input {
+ float: right;
+}
+#dashboard-widgets #dashboard_quick_press form p.submit #save-post {
+ margin: 0 10px 0 1em;
+}
+#dashboard-widgets #dashboard_quick_press form p.submit #publish {
+ float: left;
+}
+#dashboard-widgets #dashboard_quick_press form p.submit img.waiting {
+ margin: 4px 0 0 6px;
+}
+/* Recent Drafts */
+#dashboard_recent_drafts h4 abbr {
+ font-family: Tahoma, Arial;
+ margin-left:0;
+ margin-right: 3px;
+}
\ No newline at end of file
diff --git a/wp-admin/css/dashboard.css b/wp-admin/css/dashboard.css
index 51a8ea9d..e87fec52 100644
--- a/wp-admin/css/dashboard.css
+++ b/wp-admin/css/dashboard.css
@@ -1 +1 @@
-.postbox p,.postbox ul,.postbox ol,.postbox blockquote,#wp-version-message{font-size:11px;}.edit-box{display:none;}h3:hover .edit-box{display:inline;}form .input-text-wrap{border-style:solid;border-width:1px;padding:2px 3px;border-color:#ccc;}#dashboard-widgets form .input-text-wrap input{border:0 none;outline:none;margin:0;padding:0;width:99%;color:#333;}form .textarea-wrap{border-style:solid;border-width:1px;padding:2px;border-color:#ccc;}#dashboard-widgets form .textarea-wrap textarea{border:0 none;padding:0;outline:none;width:99%;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;}#dashboard-widgets .postbox form .submit{float:none;margin:.5em 0 0;padding:0;border:none;}#dashboard-widgets-wrap #dashboard-widgets .postbox form .submit input{margin:0;}#dashboard-widgets-wrap #dashboard-widgets .postbox form .submit #publish{min-width:0;}div.postbox div.inside{margin:10px;position:relative;}#dashboard-widgets a{text-decoration:none;}#dashboard-widgets h3 a{text-decoration:underline;}#dashboard-widgets h3 .postbox-title-action{position:absolute;right:30px;padding:0;}#dashboard-widgets h4{font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;font-size:13px;margin:0 0 .2em;padding:0;}#dashboard_right_now p.sub,#dashboard_right_now .table,#dashboard_right_now .versions{margin:-12px;}#dashboard_right_now .inside{font-size:12px;}#dashboard_right_now p.sub{font-style:italic;font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;padding:5px 10px 15px;color:#777;font-size:13px;}#dashboard_right_now .table{background:#f9f9f9;border-top:#ececec 1px solid;border-bottom:#ececec 1px solid;margin:0 -9px 10px;padding:0 10px;}#dashboard_right_now table{width:100%;}#dashboard_right_now table td{border-top:#ececec 1px solid;padding:3px 0;white-space:nowrap;}#dashboard_right_now table tr.first td{border-top:none;}#dashboard_right_now td.b{padding-right:6px;text-align:right;font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;font-size:14px;}#dashboard_right_now td.b a{font-size:18px;}#dashboard_right_now td.b a:hover{color:#d54e21;}#dashboard_right_now .t{font-size:12px;padding-right:12px;padding-top:6px;color:#777;}#dashboard_right_now .t a{white-space:nowrap;}#dashboard_right_now td.first,#dashboard_right_now td.last{width:1%;}#dashboard_right_now .spam{color:red;}#dashboard_right_now .waiting{color:#e66f00;}#dashboard_right_now .approved{color:green;}#dashboard_right_now .versions{padding:6px 10px 12px;}#dashboard_right_now .versions .b{font-weight:bold;}#dashboard_right_now a.button{float:right;clear:right;position:relative;top:-5px;}#dashboard_recent_comments h3{margin-bottom:0;}#dashboard_recent_comments .inside{margin-top:0;}#dashboard_recent_comments .comment-meta .approve{font-style:italic;font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;font-size:10px;}#the-comment-list{position:relative;}#the-comment-list .comment-item{padding:1em 10px;border-top:1px solid;}#the-comment-list .pingback{padding-left:9px!important;}#the-comment-list .comment-item,#the-comment-list #replyrow{margin:0 -10px;}#the-comment-list .comment-item:first-child{border-top:none;}#the-comment-list .comment-item .avatar{float:left;margin:0 10px 5px 0;}#the-comment-list .comment-item h4{line-height:1.4;margin-top:-.2em;font-weight:normal;color:#999;}#the-comment-list .comment-item h4 cite{font-style:normal;font-weight:normal;}#the-comment-list .comment-item blockquote,#the-comment-list .comment-item blockquote p{margin:0;padding:0;display:inline;}#dashboard_recent_comments #the-comment-list .trackback blockquote,#dashboard_recent_comments #the-comment-list .pingback blockquote{display:block;}#the-comment-list .comment-item p.row-actions{margin:3px 0 0;padding:0;font-size:10px;}#dashboard_quick_press h4{font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;float:left;width:5.5em;clear:both;font-weight:normal;text-align:right;padding-top:5px;font-size:12px;}#dashboard_quick_press h4 label{margin-right:10px;}#dashboard_quick_press .input-text-wrap,#dashboard_quick_press .textarea-wrap{margin:0 0 1em 5em;}#dashboard_quick_press #media-buttons{margin:0 0 .5em 5em;padding:0 0 0 10px;font-size:11px;}#dashboard_quick_press #media-buttons a{vertical-align:bottom;}#dashboard-widgets #dashboard_quick_press form p.submit{margin-left:4.6em;}#dashboard-widgets #dashboard_quick_press form p.submit input{float:left;}#dashboard-widgets #dashboard_quick_press form p.submit #save-post{margin:0 1em 0 10px;}#dashboard-widgets #dashboard_quick_press form p.submit #publish{float:right;}#dashboard_recent_drafts ul{margin:0;padding:0;list-style:none;}#dashboard_recent_drafts ul li{margin-bottom:.6em;}#dashboard_recent_drafts h4{font-weight:normal;}#dashboard_recent_drafts h4 abbr{font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;font-size:11px;color:#999;margin-left:3px;}#dashboard_recent_drafts p{margin:0;padding:0;}.rss-widget ul{margin:0;padding:0;list-style:none;}a.rsswidget{font-size:13px;font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;line-height:1.7em;}.rss-widget ul li{line-height:1.5em;margin-bottom:12px;}.rss-widget span.rss-date{margin-left:3px;}.rss-widget cite{display:block;text-align:right;margin:0 0 1em;padding:0;}.rss-widget cite:before{content:'\2014';}#dashboard_plugins h4{font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;}#dashboard_plugins h5{font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;font-size:13px!important;margin:0;display:inline;line-height:1.4em;}#dashboard_plugins h5 a{font-weight:normal;line-height:1.7em;}#dashboard_plugins p{margin:0 0 1.4em;line-height:1.4em;}.dashboard-comment-wrap{overflow:hidden;word-wrap:break-word;}
\ No newline at end of file
+.postbox p,.postbox ul,.postbox ol,.postbox blockquote,#wp-version-message{font-size:11px;}.edit-box{display:none;}h3:hover .edit-box{display:inline;}form .input-text-wrap{border-style:solid;border-width:1px;padding:2px 3px;border-color:#ccc;}#dashboard-widgets form .input-text-wrap input{border:0 none;outline:none;margin:0;padding:0;width:99%;color:#333;}form .textarea-wrap{border-style:solid;border-width:1px;padding:2px;border-color:#ccc;}#dashboard-widgets form .textarea-wrap textarea{border:0 none;padding:0;outline:none;width:99%;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;}#dashboard-widgets .postbox form .submit{float:none;margin:.5em 0 0;padding:0;border:none;}#dashboard-widgets-wrap #dashboard-widgets .postbox form .submit input{margin:0;}#dashboard-widgets-wrap #dashboard-widgets .postbox form .submit #publish{min-width:0;}div.postbox div.inside{margin:10px;position:relative;}#dashboard-widgets a{text-decoration:none;}#dashboard-widgets h3 a{text-decoration:underline;}#dashboard-widgets h3 .postbox-title-action{position:absolute;right:30px;padding:0;}#dashboard-widgets h4{font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;font-size:13px;margin:0 0 .2em;padding:0;}#dashboard_right_now p.sub,#dashboard_right_now .table,#dashboard_right_now .versions{margin:-12px;}#dashboard_right_now .inside{font-size:12px;padding-top:20px;}#dashboard_right_now p.sub{font-style:italic;font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;padding:5px 10px 15px;color:#777;font-size:13px;position:absolute;top:-17px;left:15px;}#dashboard_right_now .table{margin:0 -9px;padding:0 10px;position:relative;}#dashboard_right_now .table_content{float:left;border-top:#ececec 1px solid;width:45%;}#dashboard_right_now .table_discussion{float:right;border-top:#ececec 1px solid;width:45%;}#dashboard_right_now table td{padding:3px 0;white-space:nowrap;}#dashboard_right_now table tr.first td{border-top:none;}#dashboard_right_now td.b{padding-right:6px;text-align:right;font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;font-size:14px;width:1%;}#dashboard_right_now td.b a{font-size:18px;}#dashboard_right_now td.b a:hover{color:#d54e21;}#dashboard_right_now .t{font-size:12px;padding-right:12px;padding-top:6px;color:#777;}#dashboard_right_now .t a{white-space:nowrap;}#dashboard_right_now .spam{color:red;}#dashboard_right_now .waiting{color:#e66f00;}#dashboard_right_now .approved{color:green;}#dashboard_right_now .versions{padding:6px 10px 12px;clear:left;}#dashboard_right_now .versions .b{font-weight:bold;}#dashboard_right_now a.button{float:right;clear:right;position:relative;top:-5px;}#dashboard_recent_comments h3{margin-bottom:0;}#dashboard_recent_comments .inside{margin-top:0;}#dashboard_recent_comments .comment-meta .approve{font-style:italic;font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;font-size:10px;}#the-comment-list{position:relative;}#the-comment-list .comment-item{padding:1em 10px;border-top:1px solid;}#the-comment-list .pingback{padding-left:9px!important;}#the-comment-list .comment-item,#the-comment-list #replyrow{margin:0 -10px;}#the-comment-list .comment-item:first-child{border-top:none;}#the-comment-list .comment-item .avatar{float:left;margin:0 10px 5px 0;}#the-comment-list .comment-item h4{line-height:1.4;margin-top:-.2em;font-weight:normal;color:#999;}#the-comment-list .comment-item h4 cite{font-style:normal;font-weight:normal;}#the-comment-list .comment-item blockquote,#the-comment-list .comment-item blockquote p{margin:0;padding:0;display:inline;}#dashboard_recent_comments #the-comment-list .trackback blockquote,#dashboard_recent_comments #the-comment-list .pingback blockquote{display:block;}#the-comment-list .comment-item p.row-actions{margin:3px 0 0;padding:0;font-size:10px;}#dashboard_quick_press h4{font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;float:left;width:5.5em;clear:both;font-weight:normal;text-align:right;padding-top:5px;font-size:12px;}#dashboard_quick_press h4 label{margin-right:10px;}#dashboard_quick_press .input-text-wrap,#dashboard_quick_press .textarea-wrap{margin:0 0 1em 5em;}#dashboard_quick_press #media-buttons{margin:0 0 .5em 5em;padding:0 0 0 10px;font-size:11px;}#dashboard_quick_press #media-buttons a{vertical-align:bottom;}#dashboard-widgets #dashboard_quick_press form p.submit{margin-left:4.6em;}#dashboard-widgets #dashboard_quick_press form p.submit input{float:left;}#dashboard-widgets #dashboard_quick_press form p.submit #save-post{margin:0 1em 0 10px;}#dashboard-widgets #dashboard_quick_press form p.submit #publish{float:right;}#dashboard-widgets #dashboard_quick_press form p.submit img.waiting{vertical-align:middle;visibility:hidden;margin:4px 6px 0 0;}#dashboard_recent_drafts ul{margin:0;padding:0;list-style:none;}#dashboard_recent_drafts ul li{margin-bottom:.6em;}#dashboard_recent_drafts h4{font-weight:normal;}#dashboard_recent_drafts h4 abbr{font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;font-size:11px;color:#999;margin-left:3px;}#dashboard_recent_drafts p{margin:0;padding:0;}.rss-widget ul{margin:0;padding:0;list-style:none;}a.rsswidget{font-size:13px;font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;line-height:1.7em;}.rss-widget ul li{line-height:1.5em;margin-bottom:12px;}.rss-widget span.rss-date{margin-left:3px;}.rss-widget cite{display:block;text-align:right;margin:0 0 1em;padding:0;}.rss-widget cite:before{content:'\2014';}#dashboard_plugins h4{font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;}#dashboard_plugins h5{font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;font-size:13px!important;margin:0;display:inline;line-height:1.4em;}#dashboard_plugins h5 a{font-weight:normal;line-height:1.7em;}#dashboard_plugins p{margin:0 0 1.4em;line-height:1.4em;}.dashboard-comment-wrap{overflow:hidden;word-wrap:break-word;}
\ No newline at end of file
diff --git a/wp-admin/css/dashboard.dev.css b/wp-admin/css/dashboard.dev.css
index fe477b1c..d8ae32e2 100644
--- a/wp-admin/css/dashboard.dev.css
+++ b/wp-admin/css/dashboard.dev.css
@@ -91,6 +91,7 @@ div.postbox div.inside {
#dashboard_right_now .inside {
font-size: 12px;
+ padding-top: 20px;
}
#dashboard_right_now p.sub {
@@ -99,22 +100,30 @@ div.postbox div.inside {
padding: 5px 10px 15px;
color: #777;
font-size: 13px;
+ position: absolute;
+ top: -17px;
+ left: 15px;
}
#dashboard_right_now .table {
- background: #f9f9f9;
- border-top: #ececec 1px solid;
- border-bottom: #ececec 1px solid;
- margin: 0 -9px 10px;
+ margin: 0 -9px;
padding: 0 10px;
+ position: relative;
}
-#dashboard_right_now table {
- width: 100%;
+#dashboard_right_now .table_content {
+ float: left;
+ border-top: #ececec 1px solid;
+ width: 45%;
}
-#dashboard_right_now table td {
+#dashboard_right_now .table_discussion {
+ float: right;
border-top: #ececec 1px solid;
+ width: 45%;
+}
+
+#dashboard_right_now table td {
padding: 3px 0;
white-space: nowrap;
}
@@ -128,6 +137,7 @@ div.postbox div.inside {
text-align: right;
font-family: Georgia, "Times New Roman", "Bitstream Charter", Times, serif;
font-size: 14px;
+ width: 1%;
}
#dashboard_right_now td.b a {
@@ -149,11 +159,6 @@ div.postbox div.inside {
white-space: nowrap;
}
-#dashboard_right_now td.first,
-#dashboard_right_now td.last {
- width: 1%;
-}
-
#dashboard_right_now .spam {
color: red;
}
@@ -168,6 +173,7 @@ div.postbox div.inside {
#dashboard_right_now .versions {
padding: 6px 10px 12px;
+ clear: left;
}
#dashboard_right_now .versions .b {
@@ -302,6 +308,12 @@ div.postbox div.inside {
float: right;
}
+#dashboard-widgets #dashboard_quick_press form p.submit img.waiting {
+ vertical-align: middle;
+ visibility: hidden;
+ margin: 4px 6px 0 0;
+}
+
/* Recent Drafts */
#dashboard_recent_drafts ul {
margin: 0;
@@ -391,4 +403,3 @@ a.rsswidget {
overflow: hidden;
word-wrap: break-word;
}
-
diff --git a/wp-admin/css/global-rtl.css b/wp-admin/css/global-rtl.css
index f5f7632e..d7a34800 100644
--- a/wp-admin/css/global-rtl.css
+++ b/wp-admin/css/global-rtl.css
@@ -1,82 +1 @@
-/* 2 column liquid layout */
-#adminmenu {
- float: right;
- clear: right;
- margin-right:-160px;
- margin-left: 5px;
-}
-body.folded #adminmenu {
- margin-left: 0;
- margin-right: -45px;
-}
-/* inner 2 column liquid layout */
-.inner-sidebar {
- float: left;
- clear: left;
-}
-
-.has-right-sidebar #post-body {
- clear:right;
- float:right;
- margin-right:0;
- margin-left:-340px;
-}
-
-.has-right-sidebar #post-body-content {
- margin-left: 300px;
- margin-right:0;
-}
-
-#wpbody {
- margin-left:0;
- margin-right: 175px;
-}
-.folded #wpbody {
- margin-left: 0;
- margin-right: 60px;
-}
-#wpbody-content {
- float: right;
-}
-/* 2 columns main area */
-#col-right {
- float: left;
- clear: left;
-}
-.wrap {
- margin: 0 5px 0 15px;
-}
-/* styles for use by people extending the WordPress interface */
-body, td, textarea, input, select {
- font-family: Tahoma, arial;
-}
-.alignleft {
- float: right;
-}
-.alignright {
- float: left;
-}
-.subsubsub {
- float: right;
-}
-.widefat th {
- text-align: right;
-}
-.widefat th input {
- margin: 0 8px 0 0;
-}
-.wrap h2 {
- font-family: arial;
- padding: 14px 0 3px 15px;
-}
-.wrap h2.long-header {
- padding-left: 0;
-}
-.updated, .error {
- clear: both;
-}
-
-.screen-reader-text, .screen-reader-text span {
- left:auto;
- text-indent:-1000em;
-}
\ No newline at end of file
+#adminmenu{float:right;clear:right;margin-right:-160px;margin-left:5px;}body.folded #adminmenu{margin-left:0;margin-right:-45px;}.inner-sidebar{float:left;clear:left;}.has-right-sidebar #post-body{clear:right;float:right;margin-right:0;margin-left:-340px;}.has-right-sidebar #post-body-content{margin-left:300px;margin-right:0;}#wpbody{margin-left:0;margin-right:175px;}.folded #wpbody{margin-left:0;margin-right:60px;}#wpbody-content{float:right;}#col-right{float:left;clear:left;}.wrap{margin:0 5px 0 15px;}body,td,textarea,input,select{font-family:Tahoma,arial;}.alignleft{float:right;}.alignright{float:left;}.subsubsub{float:right;}.widefat th{text-align:right;}.widefat th input{margin:0 8px 0 0;}.wrap h2{font-family:arial;padding:14px 0 3px 15px;font-style:normal;}.wrap h2.long-header{padding-left:0;}.updated,.error{clear:both;}.screen-reader-text,.screen-reader-text span{left:auto;text-indent:-1000em;}
\ No newline at end of file
diff --git a/wp-admin/css/global-rtl.dev.css b/wp-admin/css/global-rtl.dev.css
new file mode 100644
index 00000000..85d21c32
--- /dev/null
+++ b/wp-admin/css/global-rtl.dev.css
@@ -0,0 +1,83 @@
+/* 2 column liquid layout */
+#adminmenu {
+ float: right;
+ clear: right;
+ margin-right:-160px;
+ margin-left: 5px;
+}
+body.folded #adminmenu {
+ margin-left: 0;
+ margin-right: -45px;
+}
+/* inner 2 column liquid layout */
+.inner-sidebar {
+ float: left;
+ clear: left;
+}
+
+.has-right-sidebar #post-body {
+ clear:right;
+ float:right;
+ margin-right:0;
+ margin-left:-340px;
+}
+
+.has-right-sidebar #post-body-content {
+ margin-left: 300px;
+ margin-right:0;
+}
+
+#wpbody {
+ margin-left:0;
+ margin-right: 175px;
+}
+.folded #wpbody {
+ margin-left: 0;
+ margin-right: 60px;
+}
+#wpbody-content {
+ float: right;
+}
+/* 2 columns main area */
+#col-right {
+ float: left;
+ clear: left;
+}
+.wrap {
+ margin: 0 5px 0 15px;
+}
+/* styles for use by people extending the WordPress interface */
+body, td, textarea, input, select {
+ font-family: Tahoma, arial;
+}
+.alignleft {
+ float: right;
+}
+.alignright {
+ float: left;
+}
+.subsubsub {
+ float: right;
+}
+.widefat th {
+ text-align: right;
+}
+.widefat th input {
+ margin: 0 8px 0 0;
+}
+.wrap h2 {
+ font-family: arial;
+ padding: 14px 0 3px 15px;
+ font-style: normal;
+}
+.wrap h2.long-header {
+ padding-left: 0;
+}
+.updated, .error {
+ clear: both;
+}
+
+.screen-reader-text, .screen-reader-text span {
+ left:auto;
+ text-indent:-1000em;
+}
\ No newline at end of file
diff --git a/wp-admin/css/global.css b/wp-admin/css/global.css
index 30fd194e..3729410f 100644
--- a/wp-admin/css/global.css
+++ b/wp-admin/css/global.css
@@ -1 +1 @@
-html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;background:transparent;}body{line-height:1;}ol,ul{list-style:none;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}ins{text-decoration:none;}del{text-decoration:line-through;}#wpwrap{height:auto;min-height:100%;width:100%;}#wpcontent{height:100%;padding-bottom:50px;}#wpbody{clear:both;margin-left:175px;}.folded #wpbody{margin-left:60px;}#wpbody-content{float:left;width:100%;}#adminmenu{float:left;clear:left;width:145px;margin-top:15px;margin-right:5px;margin-bottom:15px;margin-left:-160px;position:relative;padding:0;list-style:none;}.folded #adminmenu{margin-left:-45px;}.folded #adminmenu,.folded #adminmenu li.menu-top{width:28px;}#footer{clear:both;position:relative;width:100%;}.inner-sidebar{float:right;clear:right;display:none;width:281px;position:relative;}.inner-sidebar #side-sortables{width:280px;min-height:300px;}.has-right-sidebar .inner-sidebar{display:block;}.has-right-sidebar #post-body{float:left;clear:left;width:100%;margin-right:-340px;}.has-right-sidebar #post-body-content{margin-right:300px;}#col-container{overflow:hidden;padding:0;margin:0;}#col-left{padding:0;margin:0;overflow:hidden;width:39%;}#col-right{float:right;clear:right;overflow:hidden;padding:0;margin:0;width:59%;}.alignleft{float:left;}.alignright{float:right;}.textleft{text-align:left;}.textright{text-align:right;}.clear{clear:both;}.screen-reader-text,.screen-reader-text span{position:absolute;left:-1000em;height:1px;width:1px;overflow:hidden;}.hidden,.js .closed .inside,.js .hide-if-js,.no-js .hide-if-no-js{display:none;}input[type="text"],input[type="password"],textarea{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;}input[type="checkbox"],input[type="radio"]{vertical-align:middle;}html,body{height:100%;}body,td,textarea,input,select{font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;font-size:13px;}body,textarea{line-height:1.4em;}input,select{line-height:1em;}p{margin:1em 0;}blockquote{margin:1em;}label{cursor:pointer;}li,dd{margin-bottom:6px;}p,li,dl,dd,dt{line-height:140%;}textarea,input,select{margin:1px;padding:3px;}h1{display:block;font-size:2em;font-weight:bold;margin:.67em 0;}h2{display:block;font-size:1.5em;font-weight:bold;margin:.83em 0;}h3{display:block;font-size:1.17em;font-weight:bold;margin:1em 0;}h4{display:block;font-size:1em;font-weight:bold;margin:1.33em 0;}h5{display:block;font-size:.83em;font-weight:bold;margin:1.67em 0;}h6{display:block;font-size:.67em;font-weight:bold;margin:2.33em 0;}ul.ul-disc{list-style:disc outside;}ul.ul-square{list-style:square outside;}ol.ol-decimal{list-style:decimal outside;}ul.ul-disc,ul.ul-square,ol.ol-decimal{margin-left:1.8em;}ul.ul-disc>li,ul.ul-square>li,ol.ol-decimal>li{margin:0 0 .5em;}.subsubsub{list-style:none;margin:8px 0 5px;padding:0;white-space:nowrap;font-size:11px;float:left;}.subsubsub a{line-height:2;padding:.2em;text-decoration:none;}.subsubsub a .count,.subsubsub a.current .count{color:#999;font-weight:normal;}.subsubsub a.current{font-weight:bold;background:none;border:none;}.subsubsub li{display:inline;margin:0;padding:0;}.widefat{border-width:1px;border-style:solid;border-spacing:0;width:100%;clear:both;margin:0;-moz-border-radius:4px;-khtml-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.widefat *{word-wrap:break-word;}.widefat a{text-decoration:none;}.widefat td,.widefat th{border-bottom-width:1px;border-bottom-style:solid;font-size:11px;}.widefat td{padding:3px 7px;vertical-align:top;}.widefat td p,.widefat td ol,.widefat td ul{font-size:11px;}.widefat th{padding:7px 7px 8px;text-align:left;line-height:1.3em;}.widefat th input{margin:0 0 0 8px;padding:0;vertical-align:text-top;}.widefat .check-column{width:2.2em;padding:0;}.widefat tbody th.check-column{padding:7px 0 22px;vertical-align:top;}.widefat .num,.column-comments,.column-links,.column-posts{text-align:center;}.widefat th#comments{vertical-align:middle;}.wrap{margin:0 15px 0 5px;}.updated,.error{border-width:1px;border-style:solid;padding:0 .6em;margin:5px 15px 2px;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}.updated p,.error p{margin:.5em 0;line-height:1;padding:2px;}.wrap .updated,.wrap .error{margin:5px 0 15px;}.wrap h2{font:italic normal normal 24px/29px Georgia,"Times New Roman","Bitstream Charter",Times,serif;margin:0;padding:14px 15px 3px 0;line-height:35px;text-shadow:rgba(255,255,255,1) 0 1px 0;}.wrap h2.long-header{padding-right:0;}
\ No newline at end of file
+html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;background:transparent;}body{line-height:1;}ol,ul{list-style:none;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}ins{text-decoration:none;}del{text-decoration:line-through;}#wpwrap{height:auto;min-height:100%;width:100%;}#wpcontent{height:100%;padding-bottom:50px;}#wpbody{clear:both;margin-left:175px;}.folded #wpbody{margin-left:60px;}#wpbody-content{float:left;width:100%;}#adminmenu{float:left;clear:left;width:145px;margin-top:15px;margin-right:5px;margin-bottom:15px;margin-left:-160px;position:relative;padding:0;list-style:none;}.folded #adminmenu{margin-left:-45px;}.folded #adminmenu,.folded #adminmenu li.menu-top{width:28px;}#footer{clear:both;position:relative;width:100%;}.inner-sidebar{float:right;clear:right;display:none;width:281px;position:relative;}.inner-sidebar #side-sortables{width:280px;min-height:300px;}.has-right-sidebar .inner-sidebar{display:block;}.has-right-sidebar #post-body{float:left;clear:left;width:100%;margin-right:-340px;}.has-right-sidebar #post-body-content{margin-right:300px;}#col-container{overflow:hidden;padding:0;margin:0;}#col-left{padding:0;margin:0;overflow:hidden;width:39%;}#col-right{float:right;clear:right;overflow:hidden;padding:0;margin:0;width:59%;}.alignleft{float:left;}.alignright{float:right;}.textleft{text-align:left;}.textright{text-align:right;}.clear{clear:both;}.screen-reader-text,.screen-reader-text span{position:absolute;left:-1000em;height:1px;width:1px;overflow:hidden;}.hidden,.js .closed .inside,.js .hide-if-js,.no-js .hide-if-no-js{display:none;}input[type="text"],input[type="password"],textarea{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;}input[type="checkbox"],input[type="radio"]{vertical-align:middle;}html,body{height:100%;}body,td,textarea,input,select{font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;font-size:13px;}body,textarea{line-height:1.4em;}input,select{line-height:15px;}p{margin:1em 0;}blockquote{margin:1em;}label{cursor:pointer;}li,dd{margin-bottom:6px;}p,li,dl,dd,dt{line-height:140%;}textarea,input,select{margin:1px;padding:3px;}h1{display:block;font-size:2em;font-weight:bold;margin:.67em 0;}h2{display:block;font-size:1.5em;font-weight:bold;margin:.83em 0;}h3{display:block;font-size:1.17em;font-weight:bold;margin:1em 0;}h4{display:block;font-size:1em;font-weight:bold;margin:1.33em 0;}h5{display:block;font-size:.83em;font-weight:bold;margin:1.67em 0;}h6{display:block;font-size:.67em;font-weight:bold;margin:2.33em 0;}ul.ul-disc{list-style:disc outside;}ul.ul-square{list-style:square outside;}ol.ol-decimal{list-style:decimal outside;}ul.ul-disc,ul.ul-square,ol.ol-decimal{margin-left:1.8em;}ul.ul-disc>li,ul.ul-square>li,ol.ol-decimal>li{margin:0 0 .5em;}.subsubsub{list-style:none;margin:8px 0 5px;padding:0;white-space:nowrap;font-size:11px;float:left;}.subsubsub a{line-height:2;padding:.2em;text-decoration:none;}.subsubsub a .count,.subsubsub a.current .count{color:#999;font-weight:normal;}.subsubsub a.current{font-weight:bold;background:none;border:none;}.subsubsub li{display:inline;margin:0;padding:0;}.widefat{border-width:1px;border-style:solid;border-spacing:0;width:100%;clear:both;margin:0;-moz-border-radius:4px;-khtml-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.widefat *{word-wrap:break-word;}.widefat a{text-decoration:none;}.widefat td,.widefat th{border-bottom-width:1px;border-bottom-style:solid;font-size:11px;}.widefat td{padding:3px 7px;vertical-align:top;}.widefat td p,.widefat td ol,.widefat td ul{font-size:11px;}.widefat th{padding:7px 7px 8px;text-align:left;line-height:1.3em;}.widefat th input{margin:0 0 0 8px;padding:0;vertical-align:text-top;}.widefat .check-column{width:2.2em;padding:0;}.widefat tbody th.check-column{padding:7px 0 22px;vertical-align:top;}.widefat .num,.column-comments,.column-links,.column-posts{text-align:center;}.widefat th#comments{vertical-align:middle;}.wrap{margin:0 15px 0 5px;}.updated,.error{border-width:1px;border-style:solid;padding:0 .6em;margin:5px 15px 2px;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}.updated p,.error p{margin:.5em 0;line-height:1;padding:2px;}.wrap .updated,.wrap .error{margin:5px 0 15px;}.wrap h2{font:italic normal normal 24px/29px Georgia,"Times New Roman","Bitstream Charter",Times,serif;margin:0;padding:14px 15px 3px 0;line-height:35px;text-shadow:rgba(255,255,255,1) 0 1px 0;}.wrap h2.long-header{padding-right:0;}
\ No newline at end of file
diff --git a/wp-admin/css/global.dev.css b/wp-admin/css/global.dev.css
index d4802441..35f69c51 100644
--- a/wp-admin/css/global.dev.css
+++ b/wp-admin/css/global.dev.css
@@ -239,7 +239,7 @@ textarea {
input,
select {
- line-height: 1em;
+ line-height: 15px;
}
p {
@@ -478,7 +478,7 @@ ol.ol-decimal > li {
margin: 0;
padding: 14px 15px 3px 0;
line-height: 35px;
- text-shadow: rgba(255,255,255,1) 0px 1px 0px;
+ text-shadow: rgba(255,255,255,1) 0 1px 0;
}
.wrap h2.long-header {
diff --git a/wp-admin/css/ie-rtl.css b/wp-admin/css/ie-rtl.css
index 067f59a0..40f5b76b 100644
--- a/wp-admin/css/ie-rtl.css
+++ b/wp-admin/css/ie-rtl.css
@@ -1,95 +1 @@
-* html #wpcontent #adminmenu .wp-has-submenu .wp-menu-toggle {
- background: url(../images/menu-bits-rtl.gif) no-repeat scroll right -109px;
-}
-
-* html #wpcontent #adminmenu li.wp-has-current-submenu .wp-menu-toggle {
- background: url(../images/menu-bits-rtl.gif) no-repeat scroll right -206px;
-}
-* html #adminmenu {
- margin-left:0;
- margin-right: -80px;
-}
-* html div.folded #adminmenu {
- margin-left: 0;
- margin-right: -22px;
-}
-#wpcontent #adminmenu .wp-submenu li.wp-submenu-head {
- padding: 3px 10px 4px 4px;
-}
-.inline-edit-row fieldset label span.title {
- float: right;
-}
-.inline-edit-row fieldset label span.input-text-wrap {
- margin-right: 0;
-}
-p.search-box {
- float: left;
-}
-* html #poststuff h2 {
- margin-right: 0;
-}
-#bh {
- margin: 7px 10px 0 0;
- float: left;
-}
-#user_info + div#favorite-actions {
- right: auto;
- left: 15px;
-}
-#wphead-info {
- float: left;
-}
-/* without this dashboard widgets appear in one column for some screen widths */
-div#dashboard-widgets {
- padding-right: 0;
- padding-left: 1px;
-}
-.tagchecklist span a {
- margin: 4px -9px 0 0;
-}
-.widefat th input {
- margin: 0 5px 0 0;
-}
-/* ---------- add by navid */
-#TB_window {
- width: 670px;
- position: absolute;
- top: 50%;
- left: 50%;
- margin-right: 335px !important;
-}
-#dashboard_plugins {
- direction: ltr;
-}
-#dashboard_plugins h3.hndle {
- direction: rtl;
-}
-#dashboard_incoming_links ul li,
-#dashboard_secondary ul li,
-#dashboard_primary ul li,
-p.row-actions {
- width: 100%;
-}
-#favorite-inside {
- position: absolute;
- right:0;
-}
-#post-status-info {
- height: 25px;
-}
-#screen-meta {
- position: static;
-}
-p.submit { /* quick edit and reply in edit-comments.php */
- height:22px;
-}
-.inner-sidebar { /* fix edit single comment */
- position: static;
-}
-form#widgets-filter { /* fix widget page */
- position: static;
-}
-
-* html .meta-box-sortables .postbox .handlediv {
- background: transparent url(../images/menu-bits-rtl-vs.gif) no-repeat scroll right -111px;
-}
+html{direction:ltr;}body{direction:rtl;}* html #wpcontent #adminmenu .wp-has-submenu .wp-menu-toggle{background:url(../images/menu-bits-rtl.gif?ver=20100531) no-repeat scroll right -109px;}* html #wpcontent #adminmenu li.wp-has-current-submenu .wp-menu-toggle{background:url(../images/menu-bits-rtl.gif?ver=20100531) no-repeat scroll right -206px;}* html #adminmenu{margin-left:0;margin-right:-80px;}* html div.folded #adminmenu{margin-left:0;margin-right:-22px;}#wpcontent #adminmenu .wp-submenu li.wp-submenu-head{padding:3px 10px 4px 4px;}.inline-edit-row fieldset label span.title{float:right;}.inline-edit-row fieldset label span.input-text-wrap{margin-right:0;}p.search-box{float:left;}* html #poststuff h2{margin-right:0;}#bh{margin:7px 10px 0 0;float:left;}#user_info+div#favorite-actions{right:auto;left:15px;}#wphead-info{float:left;}div#dashboard-widgets{padding-right:0;padding-left:1px;}.tagchecklist span a{margin:4px -9px 0 0;}.widefat th input{margin:0 5px 0 0;}#TB_window{width:670px;position:absolute;top:50%;left:50%;margin-right:335px!important;}#dashboard_plugins{direction:ltr;}#dashboard_plugins h3.hndle{direction:rtl;}#dashboard_incoming_links ul li,#dashboard_secondary ul li,#dashboard_primary ul li,p.row-actions{width:100%;}#favorite-inside{position:absolute;right:0;}#post-status-info{height:25px;}#screen-meta{position:static;}p.submit{height:22px;}.inner-sidebar{position:static;}form#widgets-filter{position:static;}* html .meta-box-sortables .postbox .handlediv{background:transparent url(../images/menu-bits-rtl-vs.gif) no-repeat scroll right -111px;}.menu-max-depth-0 #menu-management{width:460px;}.menu-max-depth-1 #menu-management{width:490px;}.menu-max-depth-2 #menu-management{width:520px;}.menu-max-depth-3 #menu-management{width:550px;}.menu-max-depth-4 #menu-management{width:580px;}.menu-max-depth-5 #menu-management{width:610px;}.menu-max-depth-6 #menu-management{width:640px;}.menu-max-depth-7 #menu-management{width:670px;}.menu-max-depth-8 #menu-management{width:700px;}.menu-max-depth-9 #menu-management{width:730px;}.menu-max-depth-10 #menu-management{width:760px;}.menu-max-depth-11 #menu-management{width:790px;}.menu-item-depth-0{margin-left:0;}.menu-item-depth-1{margin-left:-30px;}.menu-item-depth-2{margin-left:-60px;}.menu-item-depth-3{margin-left:-90px;}.menu-item-depth-4{margin-left:-120px;}.menu-item-depth-5{margin-left:-150px;}.menu-item-depth-6{margin-left:-180px;}.menu-item-depth-7{margin-left:-210px;}.menu-item-depth-8{margin-left:-240px;}.menu-item-depth-9{margin-left:-270px;}.menu-item-depth-10{margin-left:-300px;}.menu-item-depth-11{margin-left:-330px;}#menu-to-edit li dl{padding:0!important;margin:0!important;}.ui-sortable-helper .menu-item-transport{margin-top:13px;}.ui-sortable-helper .menu-item-transport .menu-item-transport{margin-top:0;}.sortable-placeholder{margin-top:0!important;margin-left:0!important;margin-bottom:13px!important;padding:0!important;}.auto-add-pages{clear:both;float:none;}#nav-menus-frame .open-label span{float:none;display:inline-block;}#nav-menus-frame .delete-action{float:none;}
\ No newline at end of file
diff --git a/wp-admin/css/ie-rtl.dev.css b/wp-admin/css/ie-rtl.dev.css
new file mode 100644
index 00000000..c35fc894
--- /dev/null
+++ b/wp-admin/css/ie-rtl.dev.css
@@ -0,0 +1,156 @@
+html {
+ direction: ltr;
+}
+body {
+ direction: rtl;
+}
+* html #wpcontent #adminmenu .wp-has-submenu .wp-menu-toggle {
+ background: url(../images/menu-bits-rtl.gif?ver=20100531) no-repeat scroll right -109px;
+}
+
+* html #wpcontent #adminmenu li.wp-has-current-submenu .wp-menu-toggle {
+ background: url(../images/menu-bits-rtl.gif?ver=20100531) no-repeat scroll right -206px;
+}
+* html #adminmenu {
+ margin-left:0;
+ margin-right: -80px;
+}
+* html div.folded #adminmenu {
+ margin-left: 0;
+ margin-right: -22px;
+}
+#wpcontent #adminmenu .wp-submenu li.wp-submenu-head {
+ padding: 3px 10px 4px 4px;
+}
+.inline-edit-row fieldset label span.title {
+ float: right;
+}
+.inline-edit-row fieldset label span.input-text-wrap {
+ margin-right: 0;
+}
+p.search-box {
+ float: left;
+}
+* html #poststuff h2 {
+ margin-right: 0;
+}
+#bh {
+ margin: 7px 10px 0 0;
+ float: left;
+}
+#user_info + div#favorite-actions {
+ right: auto;
+ left: 15px;
+}
+#wphead-info {
+ float: left;
+}
+/* without this dashboard widgets appear in one column for some screen widths */
+div#dashboard-widgets {
+ padding-right: 0;
+ padding-left: 1px;
+}
+.tagchecklist span a {
+ margin: 4px -9px 0 0;
+}
+.widefat th input {
+ margin: 0 5px 0 0;
+}
+/* ---------- add by navid */
+#TB_window {
+ width: 670px;
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ margin-right: 335px !important;
+}
+#dashboard_plugins {
+ direction: ltr;
+}
+#dashboard_plugins h3.hndle {
+ direction: rtl;
+}
+#dashboard_incoming_links ul li,
+#dashboard_secondary ul li,
+#dashboard_primary ul li,
+p.row-actions {
+ width: 100%;
+}
+#favorite-inside {
+ position: absolute;
+ right:0;
+}
+#post-status-info {
+ height: 25px;
+}
+#screen-meta {
+ position: static;
+}
+p.submit { /* quick edit and reply in edit-comments.php */
+ height:22px;
+}
+.inner-sidebar { /* fix edit single comment */
+ position: static;
+}
+form#widgets-filter { /* fix widget page */
+ position: static;
+}
+
+* html .meta-box-sortables .postbox .handlediv {
+ background: transparent url(../images/menu-bits-rtl-vs.gif) no-repeat scroll right -111px;
+}
+
+/* nav menus */
+.menu-max-depth-0 #menu-management { width: 460px; }
+.menu-max-depth-1 #menu-management { width: 490px; }
+.menu-max-depth-2 #menu-management { width: 520px; }
+.menu-max-depth-3 #menu-management { width: 550px; }
+.menu-max-depth-4 #menu-management { width: 580px; }
+.menu-max-depth-5 #menu-management { width: 610px; }
+.menu-max-depth-6 #menu-management { width: 640px; }
+.menu-max-depth-7 #menu-management { width: 670px; }
+.menu-max-depth-8 #menu-management { width: 700px; }
+.menu-max-depth-9 #menu-management { width: 730px; }
+.menu-max-depth-10 #menu-management { width: 760px; }
+.menu-max-depth-11 #menu-management { width: 790px; }
+
+.menu-item-depth-0 { margin-left: 0px; }
+.menu-item-depth-1 { margin-left: -30px; }
+.menu-item-depth-2 { margin-left: -60px; }
+.menu-item-depth-3 { margin-left: -90px; }
+.menu-item-depth-4 { margin-left: -120px; }
+.menu-item-depth-5 { margin-left: -150px; }
+.menu-item-depth-6 { margin-left: -180px; }
+.menu-item-depth-7 { margin-left: -210px; }
+.menu-item-depth-8 { margin-left: -240px; }
+.menu-item-depth-9 { margin-left: -270px; }
+.menu-item-depth-10 { margin-left: -300px; }
+.menu-item-depth-11 { margin-left: -330px; }
+
+#menu-to-edit li dl {
+ padding: 0 !important;
+ margin: 0 !important;
+}
+.ui-sortable-helper .menu-item-transport {
+ margin-top: 13px;
+}
+ .ui-sortable-helper .menu-item-transport .menu-item-transport {
+ margin-top: 0;
+ }
+.sortable-placeholder {
+ margin-top: 0 !important;
+ margin-left: 0 !important;
+ margin-bottom: 13px !important;
+ padding: 0 !important;
+}
+.auto-add-pages {
+ clear: both;
+ float: none;
+}
+#nav-menus-frame .open-label span {
+ float: none;
+ display: inline-block;
+}
+#nav-menus-frame .delete-action {
+ float: none;
+}
diff --git a/wp-admin/css/ie.css b/wp-admin/css/ie.css
index 7e84e0c5..bacde291 100644
--- a/wp-admin/css/ie.css
+++ b/wp-admin/css/ie.css
@@ -1,444 +1 @@
-/* Fixes for IE bugs */
-
-input.button,
-input.button-secondary,
-input.button-highlighted {
- padding: 0;
-}
-
-#minor-publishing-actions input,
-#major-publishing-actions input {
- min-width: auto;
- padding-left: 0;
- padding-right: 0;
-}
-
-#wpbody-content .postbox {
- border: 1px solid #dfdfdf;
-}
-
-#wpbody-content .postbox h3 {
- margin-bottom: -1px;
-}
-
-* html .meta-box-sortables .postbox .handlediv {
- background: transparent url(../images/menu-bits-vs.gif) no-repeat scroll left -111px;
-}
-
-* html .edit-box {
- display: inline;
-}
-
-* html .inner-sidebar #side-sortables,
-* html .postbox-container .meta-box-sortables {
- height: 300px;
-}
-
-* html #wpbody-content #screen-options-link-wrap {
- display: inline-block;
- width: 150px;
- text-align: center;
-}
-
-* html #wpbody-content #contextual-help-link-wrap {
- display: inline-block;
- width: 100px;
- text-align: center;
-}
-
-* html #adminmenu {
- margin-left: -80px;
-}
-
-* html .folded #adminmenu {
- margin-left: -22px;
-}
-
-* html #wpcontent #adminmenu li.menu-top {
- display: inline;
- padding: 0;
- margin: 0;
-}
-
-* html #footer {
- margin: 0;
-}
-
-.folded #adminmenu li.menu-top {
- display: block;
- zoom: 100%;
-}
-
-ul#adminmenu {
- z-index: 99;
-}
-
-#adminmenu li.menu-top a.menu-top {
- min-width: auto;
- width: auto;
-}
-
-#wpcontent #adminmenu li.wp-has-current-submenu a.wp-has-submenu {
- font-style: normal;
-}
-
-* html #wpcontent #adminmenu .wp-menu-open .wp-menu-toggle {
- background: none;
-}
-
-* html #wpcontent #adminmenu .wp-has-submenu .wp-menu-toggle {
- background: url(../images/menu-bits.gif) no-repeat scroll left -109px;
-}
-
-* html #wpcontent #adminmenu li.wp-has-current-submenu .wp-menu-toggle {
- background: url(../images/menu-bits.gif) no-repeat scroll left -206px;
-}
-
-* html #adminmenu div.wp-menu-image {
- height: 29px;
-}
-
-#wpcontent #adminmenu .wp-submenu li {
- padding: 0;
-}
-
-#adminmenu,
-.wp-submenu,
-.wp-submenu li,
-.wp-menu-toggle {
- zoom: 100%;
-}
-
-.folded #adminmenu li.wp-menu-separator {
- width: 28px;
-}
-
-#wpcontent #adminmenu .wp-submenu li.wp-submenu-head {
- padding: 3px 4px 4px 10px;
- zoom: 100%;
-}
-
-.folded #adminmenu .menu-top {
- height: 30px;
-}
-
-.folded #adminmenu .wp-submenu {
- margin: -1px 0 0 0;
-}
-
-#template,
-#template div,
-#editcat,
-#addcat,
-* html .stuffbox h3 {
- zoom: 100%;
-}
-
-.submitbox {
- margin-top: 10px;
-}
-
-/* Inline Editor */
-#wpbody-content .quick-edit-row-post .inline-edit-col-left {
- width: 39%;
-}
-
-#wpbody-content .inline-edit-row-post .inline-edit-col-center {
- width: 19%;
-}
-
-#wpbody-content .quick-edit-row-page .inline-edit-col-left {
- width: 49%;
-}
-
-#wpbody-content .bulk-edit-row .inline-edit-col-left {
- width: 29%;
-}
-
-.inline-edit-row p.submit {
- zoom: 100%;
-}
-
-.inline-edit-row fieldset label span.title {
- display: block;
- float: left;
- width: 5em;
-}
-
-.inline-edit-row fieldset label span.input-text-wrap {
- margin-left: 0;
- zoom: 100%;
-}
-
-#wpbody-content .inline-edit-row fieldset label span.input-text-wrap input {
- line-height: 130%;
-}
-
-#wpbody-content .inline-edit-row .input-text-wrap input {
- width: 95%;
-}
-
-#wpbody-content .inline-edit-row .input-text-wrap input.inline-edit-password-input {
- width: 8em;
-}
-/* end Inline Editor */
-
-input {
- line-height: 1;
-}
-
-* html .row-actions {
- visibility: visible;
-}
-
-#dashboard-widgets h3 a {
- height: 20px;
- line-height: 20px;
-}
-
-#wphead-info {
- float: right;
-}
-
-#titlediv #title {
- width: 98%;
-}
-
-a.button {
- line-height: 1.4em;
- margin: 1px;
- padding: 4px 6px;
-}
-
-* html div.widget-liquid-left,
-* html div.widget-liquid-right {
- display: block;
- position: relative;
-}
-
-#screen-options-wrap {
- overflow: hidden;
-}
-
-#favorite-actions {
- z-index: 12;
-}
-
-#favorite-inside,
-#favorite-inside a,
-.favorite-action {
- zoom: 100%;
-}
-
-#the-comment-list .comment-item,
-#post-status-info,
-#wpwrap,
-#wpcontent,
-#wrap,
-#postdivrich,
-#postdiv,
-#poststuff,
-.metabox-holder,
-#titlediv,
-#post-body,
-#editorcontainer,
-.tablenav,
-.widget-liquid-left,
-.widget-liquid-right,
-#widgets-left,
-.widgets-sortables,
-#dragHelper,
-.widget .widget-top,
-.widget,
-.widget-control-actions,
-.tagchecklist,
-#col-container,
-#col-left,
-#col-right,
-.fileedit-sub {
- display: block;
- zoom: 100%;
-}
-
-p.search-box {
- position: static;
- float: right;
- margin: -3px 0 4px;
-}
-
-* html #editorcontainer {
- padding: 0;
-}
-
-#editorcontainer #content {
- overflow: auto;
- margin: auto;
- width: 98%;
-}
-
-form#template div {
- width: 100%;
-}
-
-#ed_toolbar input,
-#ed_reply_toolbar input {
- overflow: visible;
- padding: 0 4px;
-}
-
-#poststuff h2 {
- font-size: 1.6em;
-}
-
-* html #poststuff h2 {
- margin-left: 0;
-}
-
-#bh {
- margin: 7px 10px 0 0;
- float: right;
-}
-
-/* without this dashboard widgets appear in one column for some screen widths */
-div#dashboard-widgets {
- padding-right: 1px;
-}
-
-.tagchecklist span, .tagchecklist span a {
- display: inline-block;
- display: block;
-}
-
-.tagchecklist span a {
- margin: 4px 0 0 -9px;
-}
-
-.tablenav .button-secondary, .nav .button-secondary {
- padding: 0 1px;
- vertical-align: middle;
-}
-
-.tablenav select {
- font-size: 13px;
- display: inline-block;
- vertical-align: top;
- margin-top: 2px;
-}
-
-.tablenav .actions select {
- width: 155px;
-}
-
-table.ie-fixed {
- table-layout: fixed;
-}
-
-.widefat tr, .widefat th {
- margin-bottom: 0;
- border-spacing: 0;
-}
-
-.widefat th input {
- margin: 0 0 0 5px;
-}
-
-.widefat .check-column {
- padding: 6px 0 2px;
-}
-
-.widefat tbody th.check-column {
- padding: 4px 0 22px;
-}
-
-.widefat {
- empty-cells: show;
- border-collapse: collapse;
-}
-
-.tablenav a.button-secondary {
- display: inline-block;
- padding: 2px 5px;
-}
-
-* html .stuffbox,
-* html .stuffbox input,
-* html .stuffbox textarea {
- border: 1px solid #DFDFDF;
-}
-
-* html .feature-filter .feature-group li {
- width: 145px;
-}
-
-* html .widget-top .widget-title-action a {
- background: url("../images/menu-bits.gif") no-repeat scroll 0 -110px;
-}
-
-* html div.widget-liquid-left {
- width: 99%;
-}
-
-#wp_inactive_widgets {
- padding-bottom: 8px;
-}
-
-* html .widgets-sortables {
- height: 50px;
-}
-
-* html a#content_resize {
- right: -2px;
-}
-
-* html .widget-title h4 {
- width: 205px;
-}
-
-* html #removing-widget .in-widget-title {
- display: none;
-}
-
-#available-widgets .widget-holder {
- padding-bottom: 65px;
-}
-
-#widgets-left .inactive {
- padding-bottom: 10px;
-}
-
-.widget-liquid-right .widget,
-#wp_inactive_widgets .widget {
- position: relative;
-}
-
-* html .media-item .pinkynail {
- height: 32px;
- width: 40px;
-}
-
-#wpcontent .button-primary-disabled {
- color: #9FD0D5;
- background: #298CBA;
-}
-
-#wpcontent #ajax-loading {
- vertical-align: baseline;
-}
-
-* html .describe .field input.text,
-* html .describe .field textarea {
- width: 440px;
-}
-
-#the-comment-list .unapproved tr,
-#the-comment-list .unapproved td {
- background-color: #ffffe0;
-}
-
-.imgedit-submit {
- width: 300px;
-}
-
-* html input {
- border: 1px solid #dfdfdf;
-}
+#wpbody-content input.button,#wpbody-content input.button-secondary,#wpbody-content input.button-highlighted{padding:2px 3px;}#minor-publishing-actions input,#major-publishing-actions input{min-width:auto;padding-left:0;padding-right:0;}#wpbody-content .postbox{border:1px solid #dfdfdf;}#wpbody-content .postbox h3{margin-bottom:-1px;}* html .meta-box-sortables .postbox .handlediv{background:transparent url(../images/menu-bits-vs.gif) no-repeat scroll left -111px;}* html .edit-box{display:inline;}* html .inner-sidebar #side-sortables,* html .postbox-container .meta-box-sortables{height:300px;}* html #wpbody-content #screen-options-link-wrap{display:inline-block;width:150px;text-align:center;}* html #wpbody-content #contextual-help-link-wrap{display:inline-block;width:100px;text-align:center;}* html #adminmenu{margin-left:-80px;}* html .folded #adminmenu{margin-left:-22px;}* html #wpcontent #adminmenu li.menu-top{display:inline;padding:0;margin:0;}* html #footer{margin:0;}.folded #adminmenu li.menu-top{display:block;zoom:100%;}ul#adminmenu{z-index:99;}#adminmenu li.menu-top a.menu-top{min-width:auto;width:auto;}#wpcontent #adminmenu li.wp-has-current-submenu a.wp-has-submenu{font-style:normal;}* html #wpcontent #adminmenu .wp-menu-open .wp-menu-toggle{background:none;}* html #wpcontent #adminmenu .wp-has-submenu .wp-menu-toggle{background:url(../images/menu-bits.gif?ver=20100610) no-repeat scroll left -109px;}* html #wpcontent #adminmenu li.wp-has-current-submenu .wp-menu-toggle{background:url(../images/menu-bits.gif?ver=20100610) no-repeat scroll left -206px;}* html #adminmenu div.wp-menu-image{height:29px;}#wpcontent #adminmenu .wp-submenu li{padding:0;}#adminmenu,.major-publishing-actions,.wp-submenu,.wp-submenu li,.wp-menu-toggle{zoom:100%;}.folded #adminmenu li.wp-menu-separator{width:28px;}#wpcontent #adminmenu .wp-submenu li.wp-submenu-head{padding:3px 4px 4px 10px;zoom:100%;}.folded #adminmenu .menu-top{height:30px;}.folded #adminmenu .wp-submenu{margin:-1px 0 0 0;}#template,#template div,#editcat,#addcat,* html .stuffbox h3{zoom:100%;}.submitbox{margin-top:10px;}#wpbody-content .quick-edit-row-post .inline-edit-col-left{width:39%;}#wpbody-content .inline-edit-row-post .inline-edit-col-center{width:19%;}#wpbody-content .quick-edit-row-page .inline-edit-col-left{width:49%;}#wpbody-content .bulk-edit-row .inline-edit-col-left{width:29%;}.inline-edit-row p.submit{zoom:100%;}.inline-edit-row fieldset label span.title{display:block;float:left;width:5em;}.inline-edit-row fieldset label span.input-text-wrap{margin-left:0;zoom:100%;}#wpbody-content .inline-edit-row fieldset label span.input-text-wrap input{line-height:130%;}#wpbody-content .inline-edit-row .input-text-wrap input{width:95%;}#wpbody-content .inline-edit-row .input-text-wrap input.inline-edit-password-input{width:8em;}input{line-height:1;}* html .row-actions{visibility:visible;}#dashboard-widgets h3 a{height:20px;line-height:20px;}#wphead-info{float:right;}#titlediv #title{width:98%;}a.button{line-height:1.4em;margin:1px;padding:2px 6px;}* html div.widget-liquid-left,* html div.widget-liquid-right{display:block;position:relative;}#screen-options-wrap{overflow:hidden;}#favorite-actions{z-index:12;}#favorite-inside,#favorite-inside a,.favorite-action{zoom:100%;}#the-comment-list .comment-item,#post-status-info,#wpwrap,#wpcontent,#wrap,#postdivrich,#postdiv,#poststuff,.metabox-holder,#titlediv,#post-body,#editorcontainer,.tablenav,.widget-liquid-left,.widget-liquid-right,#widgets-left,.widgets-sortables,#dragHelper,.widget .widget-top,.widget,.widget-control-actions,.tagchecklist,#col-container,#col-left,#col-right,.fileedit-sub{display:block;zoom:100%;}p.search-box{position:static;float:right;margin:-3px 0 4px;}* html #editorcontainer{padding:0;}#editorcontainer #content{overflow:auto;margin:auto;width:98%;}form#template div{width:100%;}#ed_toolbar input,#ed_reply_toolbar input{overflow:visible;padding:0 4px;}#poststuff h2{font-size:1.6em;}* html #poststuff h2{margin-left:0;}#bh{margin:7px 10px 0 0;float:right;}div#dashboard-widgets{padding-right:1px;}.tagchecklist span,.tagchecklist span a{display:inline-block;display:block;}.tagchecklist span a{margin:4px 0 0 -9px;}.tablenav .button-secondary,.nav .button-secondary{padding:0 1px;vertical-align:middle;}.tablenav select{font-size:13px;display:inline-block;vertical-align:top;margin-top:2px;}.tablenav .actions select{width:155px;}table.ie-fixed{table-layout:fixed;}.widefat tr,.widefat th{margin-bottom:0;border-spacing:0;}.widefat th input{margin:0 0 0 5px;}.widefat .check-column{padding:6px 0 2px;}.widefat tbody th.check-column{padding:4px 0 22px;}.widefat{empty-cells:show;border-collapse:collapse;}.tablenav a.button-secondary{display:inline-block;padding:2px 5px;}* html .stuffbox,* html .stuffbox input,* html .stuffbox textarea{border:1px solid #DFDFDF;}* html .feature-filter .feature-group li{width:145px;}* html .widget-top .widget-title-action a{background:url("../images/menu-bits.gif?ver=20100610") no-repeat scroll 0 -110px;}* html div.widget-liquid-left{width:99%;}#wp_inactive_widgets{padding-bottom:8px;}* html .widgets-sortables{height:50px;}* html a#content_resize{right:-2px;}* html .widget-title h4{width:205px;}* html #removing-widget .in-widget-title{display:none;}#available-widgets .widget-holder{padding-bottom:65px;}#widgets-left .inactive{padding-bottom:10px;}.widget-liquid-right .widget,#wp_inactive_widgets .widget{position:relative;}* html .media-item .pinkynail{height:32px;width:40px;}#wpcontent .button-primary-disabled{color:#9FD0D5;background:#298CBA;}#wpcontent #ajax-loading{vertical-align:baseline;}* html .describe .field input.text,* html .describe .field textarea{width:440px;}#the-comment-list .unapproved tr,#the-comment-list .unapproved td{background-color:#ffffe0;}.imgedit-submit{width:300px;}* html input{border:1px solid #dfdfdf;}#nav-menu-header,#nav-menus-frame,#wpbody,.menu li{zoom:100%;}#update-nav-menu #post-body{overflow:hidden;}.menu li{min-width:100%;}.menu li.sortable-placeholder{min-width:400px;}
\ No newline at end of file
diff --git a/wp-admin/css/ie.dev.css b/wp-admin/css/ie.dev.css
new file mode 100644
index 00000000..2e81461d
--- /dev/null
+++ b/wp-admin/css/ie.dev.css
@@ -0,0 +1,464 @@
+/* Fixes for IE bugs */
+
+#wpbody-content input.button,
+#wpbody-content input.button-secondary,
+#wpbody-content input.button-highlighted {
+ padding: 2px 3px;
+}
+
+#minor-publishing-actions input,
+#major-publishing-actions input {
+ min-width: auto;
+ padding-left: 0;
+ padding-right: 0;
+}
+
+#wpbody-content .postbox {
+ border: 1px solid #dfdfdf;
+}
+
+#wpbody-content .postbox h3 {
+ margin-bottom: -1px;
+}
+
+* html .meta-box-sortables .postbox .handlediv {
+ background: transparent url(../images/menu-bits-vs.gif) no-repeat scroll left -111px;
+}
+
+* html .edit-box {
+ display: inline;
+}
+
+* html .inner-sidebar #side-sortables,
+* html .postbox-container .meta-box-sortables {
+ height: 300px;
+}
+
+* html #wpbody-content #screen-options-link-wrap {
+ display: inline-block;
+ width: 150px;
+ text-align: center;
+}
+
+* html #wpbody-content #contextual-help-link-wrap {
+ display: inline-block;
+ width: 100px;
+ text-align: center;
+}
+
+* html #adminmenu {
+ margin-left: -80px;
+}
+
+* html .folded #adminmenu {
+ margin-left: -22px;
+}
+
+* html #wpcontent #adminmenu li.menu-top {
+ display: inline;
+ padding: 0;
+ margin: 0;
+}
+
+* html #footer {
+ margin: 0;
+}
+
+.folded #adminmenu li.menu-top {
+ display: block;
+ zoom: 100%;
+}
+
+ul#adminmenu {
+ z-index: 99;
+}
+
+#adminmenu li.menu-top a.menu-top {
+ min-width: auto;
+ width: auto;
+}
+
+#wpcontent #adminmenu li.wp-has-current-submenu a.wp-has-submenu {
+ font-style: normal;
+}
+
+* html #wpcontent #adminmenu .wp-menu-open .wp-menu-toggle {
+ background: none;
+}
+
+* html #wpcontent #adminmenu .wp-has-submenu .wp-menu-toggle {
+ background: url(../images/menu-bits.gif?ver=20100610) no-repeat scroll left -109px;
+}
+
+* html #wpcontent #adminmenu li.wp-has-current-submenu .wp-menu-toggle {
+ background: url(../images/menu-bits.gif?ver=20100610) no-repeat scroll left -206px;
+}
+
+* html #adminmenu div.wp-menu-image {
+ height: 29px;
+}
+
+#wpcontent #adminmenu .wp-submenu li {
+ padding: 0;
+}
+
+#adminmenu,
+.major-publishing-actions,
+.wp-submenu,
+.wp-submenu li,
+.wp-menu-toggle {
+ zoom: 100%;
+}
+
+.folded #adminmenu li.wp-menu-separator {
+ width: 28px;
+}
+
+#wpcontent #adminmenu .wp-submenu li.wp-submenu-head {
+ padding: 3px 4px 4px 10px;
+ zoom: 100%;
+}
+
+.folded #adminmenu .menu-top {
+ height: 30px;
+}
+
+.folded #adminmenu .wp-submenu {
+ margin: -1px 0 0 0;
+}
+
+#template,
+#template div,
+#editcat,
+#addcat,
+* html .stuffbox h3 {
+ zoom: 100%;
+}
+
+.submitbox {
+ margin-top: 10px;
+}
+
+/* Inline Editor */
+#wpbody-content .quick-edit-row-post .inline-edit-col-left {
+ width: 39%;
+}
+
+#wpbody-content .inline-edit-row-post .inline-edit-col-center {
+ width: 19%;
+}
+
+#wpbody-content .quick-edit-row-page .inline-edit-col-left {
+ width: 49%;
+}
+
+#wpbody-content .bulk-edit-row .inline-edit-col-left {
+ width: 29%;
+}
+
+.inline-edit-row p.submit {
+ zoom: 100%;
+}
+
+.inline-edit-row fieldset label span.title {
+ display: block;
+ float: left;
+ width: 5em;
+}
+
+.inline-edit-row fieldset label span.input-text-wrap {
+ margin-left: 0;
+ zoom: 100%;
+}
+
+#wpbody-content .inline-edit-row fieldset label span.input-text-wrap input {
+ line-height: 130%;
+}
+
+#wpbody-content .inline-edit-row .input-text-wrap input {
+ width: 95%;
+}
+
+#wpbody-content .inline-edit-row .input-text-wrap input.inline-edit-password-input {
+ width: 8em;
+}
+/* end Inline Editor */
+
+input {
+ line-height: 1;
+}
+
+* html .row-actions {
+ visibility: visible;
+}
+
+#dashboard-widgets h3 a {
+ height: 20px;
+ line-height: 20px;
+}
+
+#wphead-info {
+ float: right;
+}
+
+#titlediv #title {
+ width: 98%;
+}
+
+a.button {
+ line-height: 1.4em;
+ margin: 1px;
+ padding: 2px 6px;
+}
+
+* html div.widget-liquid-left,
+* html div.widget-liquid-right {
+ display: block;
+ position: relative;
+}
+
+#screen-options-wrap {
+ overflow: hidden;
+}
+
+#favorite-actions {
+ z-index: 12;
+}
+
+#favorite-inside,
+#favorite-inside a,
+.favorite-action {
+ zoom: 100%;
+}
+
+#the-comment-list .comment-item,
+#post-status-info,
+#wpwrap,
+#wpcontent,
+#wrap,
+#postdivrich,
+#postdiv,
+#poststuff,
+.metabox-holder,
+#titlediv,
+#post-body,
+#editorcontainer,
+.tablenav,
+.widget-liquid-left,
+.widget-liquid-right,
+#widgets-left,
+.widgets-sortables,
+#dragHelper,
+.widget .widget-top,
+.widget,
+.widget-control-actions,
+.tagchecklist,
+#col-container,
+#col-left,
+#col-right,
+.fileedit-sub {
+ display: block;
+ zoom: 100%;
+}
+
+p.search-box {
+ position: static;
+ float: right;
+ margin: -3px 0 4px;
+}
+
+* html #editorcontainer {
+ padding: 0;
+}
+
+#editorcontainer #content {
+ overflow: auto;
+ margin: auto;
+ width: 98%;
+}
+
+form#template div {
+ width: 100%;
+}
+
+#ed_toolbar input,
+#ed_reply_toolbar input {
+ overflow: visible;
+ padding: 0 4px;
+}
+
+#poststuff h2 {
+ font-size: 1.6em;
+}
+
+* html #poststuff h2 {
+ margin-left: 0;
+}
+
+#bh {
+ margin: 7px 10px 0 0;
+ float: right;
+}
+
+/* without this dashboard widgets appear in one column for some screen widths */
+div#dashboard-widgets {
+ padding-right: 1px;
+}
+
+.tagchecklist span, .tagchecklist span a {
+ display: inline-block;
+ display: block;
+}
+
+.tagchecklist span a {
+ margin: 4px 0 0 -9px;
+}
+
+.tablenav .button-secondary, .nav .button-secondary {
+ padding: 0 1px;
+ vertical-align: middle;
+}
+
+.tablenav select {
+ font-size: 13px;
+ display: inline-block;
+ vertical-align: top;
+ margin-top: 2px;
+}
+
+.tablenav .actions select {
+ width: 155px;
+}
+
+table.ie-fixed {
+ table-layout: fixed;
+}
+
+.widefat tr, .widefat th {
+ margin-bottom: 0;
+ border-spacing: 0;
+}
+
+.widefat th input {
+ margin: 0 0 0 5px;
+}
+
+.widefat .check-column {
+ padding: 6px 0 2px;
+}
+
+.widefat tbody th.check-column {
+ padding: 4px 0 22px;
+}
+
+.widefat {
+ empty-cells: show;
+ border-collapse: collapse;
+}
+
+.tablenav a.button-secondary {
+ display: inline-block;
+ padding: 2px 5px;
+}
+
+* html .stuffbox,
+* html .stuffbox input,
+* html .stuffbox textarea {
+ border: 1px solid #DFDFDF;
+}
+
+* html .feature-filter .feature-group li {
+ width: 145px;
+}
+
+* html .widget-top .widget-title-action a {
+ background: url("../images/menu-bits.gif?ver=20100610") no-repeat scroll 0 -110px;
+}
+
+* html div.widget-liquid-left {
+ width: 99%;
+}
+
+#wp_inactive_widgets {
+ padding-bottom: 8px;
+}
+
+* html .widgets-sortables {
+ height: 50px;
+}
+
+* html a#content_resize {
+ right: -2px;
+}
+
+* html .widget-title h4 {
+ width: 205px;
+}
+
+* html #removing-widget .in-widget-title {
+ display: none;
+}
+
+#available-widgets .widget-holder {
+ padding-bottom: 65px;
+}
+
+#widgets-left .inactive {
+ padding-bottom: 10px;
+}
+
+.widget-liquid-right .widget,
+#wp_inactive_widgets .widget {
+ position: relative;
+}
+
+* html .media-item .pinkynail {
+ height: 32px;
+ width: 40px;
+}
+
+#wpcontent .button-primary-disabled {
+ color: #9FD0D5;
+ background: #298CBA;
+}
+
+#wpcontent #ajax-loading {
+ vertical-align: baseline;
+}
+
+* html .describe .field input.text,
+* html .describe .field textarea {
+ width: 440px;
+}
+
+#the-comment-list .unapproved tr,
+#the-comment-list .unapproved td {
+ background-color: #ffffe0;
+}
+
+.imgedit-submit {
+ width: 300px;
+}
+
+* html input {
+ border: 1px solid #dfdfdf;
+}
+
+#nav-menu-header,
+#nav-menus-frame,
+#wpbody,
+.menu li {
+ zoom:100%;
+}
+
+#update-nav-menu #post-body {
+ overflow:hidden;
+}
+
+.menu li {
+ min-width:100%;
+}
+
+.menu li.sortable-placeholder {
+ min-width:400px;
+}
diff --git a/wp-admin/css/install-rtl.css b/wp-admin/css/install-rtl.css
index f44484f7..e422eced 100644
--- a/wp-admin/css/install-rtl.css
+++ b/wp-admin/css/install-rtl.css
@@ -1,16 +1 @@
-body {
- font-family: Tahoma, arial;
-}
-h1 {
- font-family: arial;
- margin: 5px -4px 0 0;
-}
-ul, ol { padding: 5px 22px 5px 5px; }
-.step, th { text-align: right; }
-.submit input, .button, .button-secondary {
- font-family: Tahoma, arial;
- margin-right:0;
-}
-.form-table th {
- text-align: right;
-}
+body{font-family:Tahoma,arial;}h1{font-family:arial;margin:5px -4px 0 0;}ul,ol{padding:5px 22px 5px 5px;}.step,th{text-align:right;}.submit input,.button,.button-secondary{font-family:Tahoma,arial;margin-right:0;}.form-table th{text-align:right;}#user_login,#admin_email,#pass1,#pass2{direction:ltr;}
\ No newline at end of file
diff --git a/wp-admin/css/install-rtl.dev.css b/wp-admin/css/install-rtl.dev.css
new file mode 100644
index 00000000..9e0be997
--- /dev/null
+++ b/wp-admin/css/install-rtl.dev.css
@@ -0,0 +1,23 @@
+body {
+ font-family: Tahoma, arial;
+}
+h1 {
+ font-family: arial;
+ margin: 5px -4px 0 0;
+}
+ul, ol {
+ padding: 5px 22px 5px 5px;
+}
+.step, th {
+ text-align: right;
+}
+.submit input, .button, .button-secondary {
+ font-family: Tahoma, arial;
+ margin-right: 0;
+}
+.form-table th {
+ text-align: right;
+}
+#user_login, #admin_email, #pass1, #pass2 {
+ direction: ltr;
+}
\ No newline at end of file
diff --git a/wp-admin/css/install.css b/wp-admin/css/install.css
index 834a3b18..3655b405 100644
--- a/wp-admin/css/install.css
+++ b/wp-admin/css/install.css
@@ -1 +1 @@
-html{background:#f7f7f7;}body{background:#fff;color:#333;font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;margin:2em auto 0 auto;width:700px;padding:1em 2em;-moz-border-radius:11px;-khtml-border-radius:11px;-webkit-border-radius:11px;border-radius:11px;border:1px solid #dfdfdf;}a{color:#2583ad;text-decoration:none;}a:hover{color:#d54e21;}h1{border-bottom:1px solid #dadada;clear:both;color:#666;font:24px Georgia,"Times New Roman",Times,serif;margin:5px 0 0 -4px;padding:0;padding-bottom:7px;}h2{font-size:16px;}p,li{padding-bottom:2px;font-size:12px;line-height:18px;}code{font-size:13px;}ul,ol{padding:5px 5px 5px 22px;}#logo{margin:6px 0 14px 0;border-bottom:none;}.step{margin:20px 0 15px;}.step,th{text-align:left;padding:0;}.submit input,.button,.button-secondary{font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;text-decoration:none;font-size:14px!important;line-height:16px;padding:6px 12px;cursor:pointer;border:1px solid #bbb;color:#464646;-moz-border-radius:15px;-khtml-border-radius:15px;-webkit-border-radius:15px;border-radius:15px;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;-khtml-box-sizing:content-box;box-sizing:content-box;}.button:hover,.button-secondary:hover,.submit input:hover{color:#000;border-color:#666;}.button,.submit input,.button-secondary{background:#f2f2f2 url(../images/white-grad.png) repeat-x scroll left top;}.button:active,.submit input:active,.button-secondary:active{background:#eee url(../images/white-grad-active.png) repeat-x scroll left top;}.form-table{border-collapse:collapse;margin-top:1em;width:100%;}.form-table td{margin-bottom:9px;padding:10px;border-bottom:8px solid #fff;font-size:12px;}.form-table th{font-size:13px;text-align:left;padding:16px 10px 10px 10px;border-bottom:8px solid #fff;width:110px;vertical-align:top;}.form-table tr{background:#f3f3f3;}.form-table code{line-height:18px;font-size:18px;}.form-table p{margin:4px 0 0 0;font-size:11px;}.form-table input{line-height:20px;font-size:15px;padding:2px;}#error-page{margin-top:50px;}#error-page p{font-size:12px;line-height:18px;margin:25px 0 20px;}#error-page code{font-family:Consolas,Monaco,Courier,monospace;}
\ No newline at end of file
+html{background:#f9f9f9;}body{background:#fff;color:#333;font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;margin:2em auto;width:700px;padding:1em 2em;-moz-border-radius:11px;-khtml-border-radius:11px;-webkit-border-radius:11px;border-radius:11px;border:1px solid #dfdfdf;}a{color:#2583ad;text-decoration:none;}a:hover{color:#d54e21;}h1{border-bottom:1px solid #dadada;clear:both;color:#666;font:24px Georgia,"Times New Roman",Times,serif;margin:5px 0 0 -4px;padding:0;padding-bottom:7px;}h2{font-size:16px;}p,li,dd,dt{padding-bottom:2px;font-size:12px;line-height:18px;}code,.code{font-size:13px;}ul,ol,dl{padding:5px 5px 5px 22px;}a img{border:0;}abbr{border:0;font-variant:normal;}#logo{margin:6px 0 14px 0;border-bottom:none;text-align:center;}.step{margin:20px 0 15px;}.step,th{text-align:left;padding:0;}.submit input,.button,.button-secondary{font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;text-decoration:none;font-size:14px!important;line-height:16px;padding:6px 12px;cursor:pointer;border:1px solid #bbb;color:#464646;-moz-border-radius:15px;-khtml-border-radius:15px;-webkit-border-radius:15px;border-radius:15px;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;-khtml-box-sizing:content-box;box-sizing:content-box;}.button:hover,.button-secondary:hover,.submit input:hover{color:#000;border-color:#666;}.button,.submit input,.button-secondary{background:#f2f2f2 url(../images/white-grad.png) repeat-x scroll left top;}.button:active,.submit input:active,.button-secondary:active{background:#eee url(../images/white-grad-active.png) repeat-x scroll left top;}textarea{border:1px solid #bbb;-moz-border-radius:4px;-khtml-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.form-table{border-collapse:collapse;margin-top:1em;width:100%;}.form-table td{margin-bottom:9px;padding:10px;border-bottom:8px solid #fff;font-size:12px;}.form-table th{font-size:13px;text-align:left;padding:16px 10px 10px 10px;border-bottom:8px solid #fff;width:130px;vertical-align:top;}.form-table tr{background:#f3f3f3;}.form-table code{line-height:18px;font-size:18px;}.form-table p{margin:4px 0 0 0;font-size:11px;}.form-table input{line-height:20px;font-size:15px;padding:2px;}.form-table th p{font-weight:normal;}#error-page{margin-top:50px;}#error-page p{font-size:12px;line-height:18px;margin:25px 0 20px;}#error-page code,.code{font-family:Consolas,Monaco,Courier,monospace;}#pass-strength-result{background-color:#eee;border-color:#ddd!important;border-style:solid;border-width:1px;margin:5px 5px 5px 1px;padding:5px;text-align:center;width:200px;}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c!important;}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0!important;}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040!important;}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c!important;}.message{border:1px solid #e6db55;padding:.3em .6em;margin:5px 0 15px;background-color:#ffffe0;}
\ No newline at end of file
diff --git a/wp-admin/css/install.dev.css b/wp-admin/css/install.dev.css
index 6be5ba75..672c011b 100644
--- a/wp-admin/css/install.dev.css
+++ b/wp-admin/css/install.dev.css
@@ -1,10 +1,12 @@
-html { background: #f7f7f7; }
+html {
+ background: #f9f9f9;
+}
body {
background: #fff;
color: #333;
font-family: "Lucida Grande", Verdana, Arial, "Bitstream Vera Sans", sans-serif;
- margin: 2em auto 0 auto;
+ margin: 2em auto;
width: 700px;
padding: 1em 2em;
-moz-border-radius: 11px;
@@ -14,9 +16,14 @@ body {
border: 1px solid #dfdfdf;
}
-a { color: #2583ad; text-decoration: none; }
+a {
+ color: #2583ad;
+ text-decoration: none;
+}
-a:hover { color: #d54e21; }
+a:hover {
+ color: #d54e21;
+}
h1 {
border-bottom: 1px solid #dadada;
@@ -28,25 +35,43 @@ h1 {
padding-bottom: 7px;
}
-h2 { font-size: 16px; }
+h2 {
+ font-size: 16px;
+}
-p, li {
+p, li, dd, dt {
padding-bottom: 2px;
font-size: 12px;
line-height: 18px;
}
-code { font-size: 13px; }
-
-ul, ol { padding: 5px 5px 5px 22px; }
+code, .code {
+ font-size: 13px;
+}
-#logo { margin: 6px 0 14px 0; border-bottom: none;}
+ul, ol, dl {
+ padding: 5px 5px 5px 22px;
+}
+a img {
+ border:0
+}
+abbr {
+ border: 0;
+ font-variant: normal;
+}
+#logo {
+ margin: 6px 0 14px 0;
+ border-bottom: none;
+ text-align:center
+}
.step {
margin: 20px 0 15px;
}
-
-.step, th { text-align: left; padding: 0; }
+.step, th {
+ text-align: left;
+ padding: 0;
+}
.submit input, .button, .button-secondary {
font-family: "Lucida Grande", Verdana, Arial, "Bitstream Vera Sans", sans-serif;
@@ -80,6 +105,14 @@ ul, ol { padding: 5px 5px 5px 22px; }
background: #eee url(../images/white-grad-active.png) repeat-x scroll left top;
}
+textarea {
+ border: 1px solid #bbb;
+ -moz-border-radius: 4px;
+ -khtml-border-radius: 4px;
+ -webkit-border-radius: 4px;
+ border-radius: 4px;
+}
+
.form-table {
border-collapse: collapse;
margin-top: 1em;
@@ -98,7 +131,7 @@ ul, ol { padding: 5px 5px 5px 22px; }
text-align: left;
padding: 16px 10px 10px 10px;
border-bottom: 8px solid #fff;
- width: 110px;
+ width: 130px;
vertical-align: top;
}
@@ -122,7 +155,13 @@ ul, ol { padding: 5px 5px 5px 22px; }
padding: 2px;
}
-#error-page { margin-top: 50px; }
+.form-table th p {
+ font-weight: normal;
+}
+
+#error-page {
+ margin-top: 50px;
+}
#error-page p {
font-size: 12px;
@@ -130,4 +169,44 @@ ul, ol { padding: 5px 5px 5px 22px; }
margin: 25px 0 20px;
}
-#error-page code { font-family: Consolas, Monaco, Courier, monospace; }
+#error-page code, .code {
+ font-family: Consolas, Monaco, Courier, monospace;
+}
+
+#pass-strength-result {
+ background-color: #eee;
+ border-color: #ddd !important;
+ border-style: solid;
+ border-width: 1px;
+ margin: 5px 5px 5px 1px;
+ padding: 5px;
+ text-align: center;
+ width: 200px;
+}
+
+#pass-strength-result.bad {
+ background-color: #ffb78c;
+ border-color: #ff853c !important;
+}
+
+#pass-strength-result.good {
+ background-color: #ffec8b;
+ border-color: #ffcc00 !important;
+}
+
+#pass-strength-result.short {
+ background-color: #ffa0a0;
+ border-color: #f04040 !important;
+}
+
+#pass-strength-result.strong {
+ background-color: #c3ff88;
+ border-color: #8dff1c !important;
+}
+
+.message {
+ border: 1px solid #e6db55;
+ padding: 0.3em 0.6em;
+ margin: 5px 0 15px;
+ background-color: #ffffe0;
+}
diff --git a/wp-admin/css/login-rtl.css b/wp-admin/css/login-rtl.css
index 4a5c5f0a..11040fae 100644
--- a/wp-admin/css/login-rtl.css
+++ b/wp-admin/css/login-rtl.css
@@ -1,30 +1 @@
-body {
- font-family: Tahoma, arial;
-}
-form {
- margin-right: 8px;
- margin-left: 0;
-}
-form .forgetmenot {
- float: right;
-}
-#login form .submit input {
- font-family: Tahoma, arial;
-}
-form .submit { float: left; }
-#backtoblog a {
- left: auto;
- right: 15px;
-}
-#login_error, .message {
- margin: 0 8px 16px 0;
-}
-#nav { margin: 0 8px 0 0; }
-#user_pass, #user_login, #user_email {
- margin-left: 6px;
- margin-right: 0;
- direction:ltr;
-}
-h1 a {
- text-decoration: none;
-}
+body{font-family:Tahoma,arial;}form{margin-right:8px;margin-left:0;}form .forgetmenot{float:right;}#login form .submit input{font-family:Tahoma,arial;}form .submit{float:left;}#backtoblog a{padding:8px 15px 0 0;}#login_error,.message{margin:0 8px 16px 0;}#nav{margin:0 8px 0 0;}#user_pass,#user_login,#user_email{margin-left:6px;margin-right:0;direction:ltr;}h1 a{text-decoration:none;}
\ No newline at end of file
diff --git a/wp-admin/css/login-rtl.dev.css b/wp-admin/css/login-rtl.dev.css
new file mode 100644
index 00000000..954b320a
--- /dev/null
+++ b/wp-admin/css/login-rtl.dev.css
@@ -0,0 +1,29 @@
+body {
+ font-family: Tahoma, arial;
+}
+form {
+ margin-right: 8px;
+ margin-left: 0;
+}
+form .forgetmenot {
+ float: right;
+}
+#login form .submit input {
+ font-family: Tahoma, arial;
+}
+form .submit { float: left; }
+#backtoblog a {
+ padding: 8px 15px 0 0;
+}
+#login_error, .message {
+ margin: 0 8px 16px 0;
+}
+#nav { margin: 0 8px 0 0; }
+#user_pass, #user_login, #user_email {
+ margin-left: 6px;
+ margin-right: 0;
+ direction:ltr;
+}
+h1 a {
+ text-decoration: none;
+}
diff --git a/wp-admin/css/login.css b/wp-admin/css/login.css
index a880c037..c5920596 100644
--- a/wp-admin/css/login.css
+++ b/wp-admin/css/login.css
@@ -1 +1 @@
-*{margin:0;padding:0;}body{border-top-width:30px;border-top-style:solid;font:11px "Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;}form{margin-left:8px;padding:16px 16px 40px 16px;font-weight:normal;-moz-border-radius:11px;-khtml-border-radius:11px;-webkit-border-radius:11px;border-radius:5px;background:#fff;border:1px solid #e5e5e5;-moz-box-shadow:rgba(200,200,200,1) 0 4px 18px;-webkit-box-shadow:rgba(200,200,200,1) 0 4px 18px;-khtml-box-shadow:rgba(200,200,200,1) 0 4px 18px;box-shadow:rgba(200,200,200,1) 0 4px 18px;}form .forgetmenot{font-weight:normal;float:left;margin-bottom:0;}.button-primary{font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;padding:3px 10px;border:none;font-size:12px;border-width:1px;border-style:solid;-moz-border-radius:11px;-khtml-border-radius:11px;-webkit-border-radius:11px;border-radius:11px;cursor:pointer;text-decoration:none;margin-top:-3px;}#login form p{margin-bottom:0;}label{color:#777;font-size:13px;}form .forgetmenot label{font-size:11px;line-height:19px;}form .submit,.alignright{float:right;}form p{margin-bottom:24px;}h1 a{background:url(../images/logo-login.gif) no-repeat top center;width:326px;height:67px;text-indent:-9999px;overflow:hidden;padding-bottom:15px;display:block;}#nav{text-shadow:rgba(255,255,255,1) 0 1px 0;}#backtoblog a{position:absolute;top:7px;left:15px;text-decoration:none;}#login{width:320px;margin:7em auto;}#login_error,.message{margin:0 0 16px 8px;border-width:1px;border-style:solid;padding:12px;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}#nav{margin:0 0 0 8px;padding:16px;}#user_pass,#user_login,#user_email{font-size:24px;width:97%;padding:3px;margin-top:2px;margin-right:6px;margin-bottom:16px;border:1px solid #e5e5e5;background:#fbfbfb;}input{color:#555;}.clear{clear:both;}
\ No newline at end of file
+*{margin:0;padding:0;}body{padding-top:30px;font:11px "Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;}form{margin-left:8px;padding:16px 16px 40px 16px;font-weight:normal;-moz-border-radius:11px;-khtml-border-radius:11px;-webkit-border-radius:11px;border-radius:5px;background:#fff;border:1px solid #e5e5e5;-moz-box-shadow:rgba(200,200,200,1) 0 4px 18px;-webkit-box-shadow:rgba(200,200,200,1) 0 4px 18px;-khtml-box-shadow:rgba(200,200,200,1) 0 4px 18px;box-shadow:rgba(200,200,200,1) 0 4px 18px;}form .forgetmenot{font-weight:normal;float:left;margin-bottom:0;}.button-primary{font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;padding:3px 10px;border:none;font-size:12px;border-width:1px;border-style:solid;-moz-border-radius:11px;-khtml-border-radius:11px;-webkit-border-radius:11px;border-radius:11px;cursor:pointer;text-decoration:none;margin-top:-3px;}#login form p{margin-bottom:0;}label{color:#777;font-size:13px;}form .forgetmenot label{font-size:11px;line-height:19px;}form .submit,.alignright{float:right;}form p{margin-bottom:24px;}h1 a{background:url(../images/logo-login.gif) no-repeat top center;width:326px;height:67px;text-indent:-9999px;overflow:hidden;padding-bottom:15px;display:block;}#nav{text-shadow:rgba(255,255,255,1) 0 1px 0;}#backtoblog{position:absolute;top:0;left:0;border-bottom:#c6c6c6 1px solid;background:#d9d9d9;background:-moz-linear-gradient(bottom,#d7d7d7,#e4e4e4);background:-webkit-gradient(linear,left bottom,left top,from(#d7d7d7),to(#e4e4e4));height:30px;width:100%;}#backtoblog a{text-decoration:none;display:block;padding:8px 0 0 15px;}#login{width:320px;margin:7em auto;}#login_error,.message{margin:0 0 16px 8px;border-width:1px;border-style:solid;padding:12px;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}#nav{margin:0 0 0 8px;padding:16px;}#user_pass,#user_login,#user_email{font-size:24px;width:97%;padding:3px;margin-top:2px;margin-right:6px;margin-bottom:16px;border:1px solid #e5e5e5;background:#fbfbfb;}input{color:#555;}.clear{clear:both;}
\ No newline at end of file
diff --git a/wp-admin/css/login.dev.css b/wp-admin/css/login.dev.css
index 842debc1..b2a1f559 100644
--- a/wp-admin/css/login.dev.css
+++ b/wp-admin/css/login.dev.css
@@ -1,8 +1,7 @@
* { margin: 0; padding: 0; }
body {
- border-top-width: 30px;
- border-top-style: solid;
+ padding-top: 30px;
font: 11px "Lucida Grande", Verdana, Arial, "Bitstream Vera Sans", sans-serif;
}
@@ -81,11 +80,22 @@ h1 a {
text-shadow: rgba(255,255,255,1) 0 1px 0;
}
-#backtoblog a {
+#backtoblog {
position: absolute;
- top: 7px;
- left: 15px;
+ top: 0;
+ left: 0;
+ border-bottom: #c6c6c6 1px solid;
+ background: #d9d9d9; /* fallback color */
+ background: -moz-linear-gradient(bottom, #d7d7d7, #e4e4e4);
+ background: -webkit-gradient(linear, left bottom, left top, from(#d7d7d7), to(#e4e4e4));
+ height: 30px;
+ width: 100%;
+}
+
+#backtoblog a {
text-decoration: none;
+ display: block;
+ padding: 8px 0 0 15px;
}
#login { width: 320px; margin: 7em auto; }
diff --git a/wp-admin/css/media-rtl.css b/wp-admin/css/media-rtl.css
index fed86444..5b9e9414 100644
--- a/wp-admin/css/media-rtl.css
+++ b/wp-admin/css/media-rtl.css
@@ -1,85 +1 @@
-body#media-upload ul#sidemenu {
- left: auto;
- right: 0;
-}
-#search-filter {
- text-align: left;
-}
-/* specific to the image upload form */
-.align .field label {
- padding: 0 28px 0 0;
- margin: 0 0 0 1em;
-}
-.image-align-none-label, .image-align-left-label, .image-align-center-label, .image-align-right-label {
- background-position: center right;
-}
-tr.image-size div.image-size-item {
- float: right;
-}
-tr.image-size label {
- margin: 0 1em 0 0;
-}
-.filename.original {
- float: right;
-}
-.crunching {
- text-align: left;
- margin-right: 0;
- margin-left: 5px;
-}
-button.dismiss {
- right: auto;
- left: 5px;
-}
-.file-error {
- margin: 0 50px 5px 0;
-}
-.progress {
- left: auto;
- right: 0;
-}
-.describe td {
- padding: 0 0 0 5px;
-}
-.bar {
- border-right-width: 0;
- border-left-width: 3px;
- border-right-style: none;
- border-left-style: solid;
-}
-
-/* Specific to Uploader */
-#media-upload .media-upload-form p {
- margin: 0 0 1em 1em;
-}
-.filename {
- float: right;
- margin-left: 0;
- margin-right: 10px;
-}
-#media-upload .describe th.label {
- text-align: right;
-}
-.menu_order {
- float: left;
-}
-.media-upload-form label.form-help, td.help, #media-upload p.help, #media-upload label.help {
- font-family: Tahoma, Arial;
-}
-#gallery-settings #basic th.label {
- padding: 5px 0 5px 5px;
-}
-#gallery-settings .title, h3.media-title {
- font-family: Tahoma, Arial;
-}
-#gallery-settings .describe th.label {
- text-align: right;
-}
-#gallery-settings label,
-#gallery-settings legend {
- margin-right: 0;
- margin-left: 15px;
-}
-#gallery-settings .align .field label {
- margin: 0 0 0 1.5em;
-}
+body#media-upload ul#sidemenu{left:auto;right:0;}#search-filter{text-align:left;}.align .field label{padding:0 28px 0 0;margin:0 0 0 1em;}.image-align-none-label,.image-align-left-label,.image-align-center-label,.image-align-right-label{background-position:center right;}tr.image-size div.image-size-item{float:right;}tr.image-size label{margin:0 1em 0 0;}.filename.original{float:right;}.crunching{text-align:left;margin-right:0;margin-left:5px;}button.dismiss{right:auto;left:5px;}.file-error{margin:0 50px 5px 0;}.progress{left:auto;right:0;}.describe td{padding:0 0 0 5px;}.bar{border-right-width:0;border-left-width:3px;border-right-style:none;border-left-style:solid;}#media-upload .media-upload-form p{margin:0 0 1em 1em;}.filename{float:right;margin-left:0;margin-right:10px;}#media-upload .describe th.label{text-align:right;}.menu_order{float:left;}.media-upload-form label.form-help,td.help,#media-upload p.help,#media-upload label.help{font-family:Tahoma,Arial;}#gallery-settings #basic th.label{padding:5px 0 5px 5px;}#gallery-settings .title,h3.media-title{font-family:Tahoma,Arial;}#gallery-settings .describe th.label{text-align:right;}#gallery-settings label,#gallery-settings legend{margin-right:0;margin-left:15px;}#gallery-settings .align .field label{margin:0 0 0 1.5em;}
\ No newline at end of file
diff --git a/wp-admin/css/media-rtl.dev.css b/wp-admin/css/media-rtl.dev.css
new file mode 100644
index 00000000..fed86444
--- /dev/null
+++ b/wp-admin/css/media-rtl.dev.css
@@ -0,0 +1,85 @@
+body#media-upload ul#sidemenu {
+ left: auto;
+ right: 0;
+}
+#search-filter {
+ text-align: left;
+}
+/* specific to the image upload form */
+.align .field label {
+ padding: 0 28px 0 0;
+ margin: 0 0 0 1em;
+}
+.image-align-none-label, .image-align-left-label, .image-align-center-label, .image-align-right-label {
+ background-position: center right;
+}
+tr.image-size div.image-size-item {
+ float: right;
+}
+tr.image-size label {
+ margin: 0 1em 0 0;
+}
+.filename.original {
+ float: right;
+}
+.crunching {
+ text-align: left;
+ margin-right: 0;
+ margin-left: 5px;
+}
+button.dismiss {
+ right: auto;
+ left: 5px;
+}
+.file-error {
+ margin: 0 50px 5px 0;
+}
+.progress {
+ left: auto;
+ right: 0;
+}
+.describe td {
+ padding: 0 0 0 5px;
+}
+.bar {
+ border-right-width: 0;
+ border-left-width: 3px;
+ border-right-style: none;
+ border-left-style: solid;
+}
+
+/* Specific to Uploader */
+#media-upload .media-upload-form p {
+ margin: 0 0 1em 1em;
+}
+.filename {
+ float: right;
+ margin-left: 0;
+ margin-right: 10px;
+}
+#media-upload .describe th.label {
+ text-align: right;
+}
+.menu_order {
+ float: left;
+}
+.media-upload-form label.form-help, td.help, #media-upload p.help, #media-upload label.help {
+ font-family: Tahoma, Arial;
+}
+#gallery-settings #basic th.label {
+ padding: 5px 0 5px 5px;
+}
+#gallery-settings .title, h3.media-title {
+ font-family: Tahoma, Arial;
+}
+#gallery-settings .describe th.label {
+ text-align: right;
+}
+#gallery-settings label,
+#gallery-settings legend {
+ margin-right: 0;
+ margin-left: 15px;
+}
+#gallery-settings .align .field label {
+ margin: 0 0 0 1.5em;
+}
diff --git a/wp-admin/css/media.css b/wp-admin/css/media.css
index 3ab802f9..bfb35fc4 100644
--- a/wp-admin/css/media.css
+++ b/wp-admin/css/media.css
@@ -1 +1 @@
-div#media-upload-header{margin:0;padding:0 5px;font-weight:bold;position:relative;border-bottom-width:1px;border-bottom-style:solid;height:2.5em;}body#media-upload ul#sidemenu{font-weight:normal;margin:0 5px;position:absolute;left:0;bottom:-1px;}div#media-upload-error{margin:1em;font-weight:bold;}form{margin:1em;}#search-filter{text-align:right;}th{position:relative;}.media-upload-form label.form-help,td.help{font-family:"Lucida Grande","Bitstream Vera Sans",Verdana,Arial,sans-serif;font-style:italic;font-weight:normal;}.media-upload-form p.help{margin:0;padding:0;}.media-upload-form fieldset{width:100%;border:none;text-align:justify;margin:0 0 1em 0;padding:0;}.image-align-none-label{background:url(../images/align-none.png) no-repeat center left;}.image-align-left-label{background:url(../images/align-left.png) no-repeat center left;}.image-align-center-label{background:url(../images/align-center.png) no-repeat center left;}.image-align-right-label{background:url(../images/align-right.png) no-repeat center left;}tr.image-size td{width:460px;}tr.image-size div.image-size-item{float:left;width:25%;margin:0;}#library-form .progress,#gallery-form .progress,#flash-upload-ui,.insert-gallery,.describe.startopen,.describe.startclosed{display:none;}.media-item .thumbnail{max-width:128px;max-height:128px;}thead.media-item-info tr{background-color:transparent;}thead.media-item-info th,thead.media-item-info td{border:none;margin:0;}.form-table thead.media-item-info{border:8px solid #fff;}abbr.required{text-decoration:none;border:none;}.describe label{display:inline;}.describe td{vertical-align:middle;padding:0 5px 8px 0;}.describe td.error{padding:2px 8px;}.describe td.A1{width:132px;}.describe input[type="text"],.describe textarea{width:460px;border-width:1px;border-style:solid;}.hidden{height:0;width:0;overflow:hidden;border:none;}#media-upload p.ml-submit{padding:1em 0;}#media-upload p.help,#media-upload label.help{font-family:"Lucida Grande","Bitstream Vera Sans",Verdana,Arial,sans-serif;font-style:italic;font-weight:normal;}#media-upload tr.image-size td.field{text-align:center;}#media-upload #media-items{border-width:1px;border-style:solid;border-bottom:none;width:623px;}#media-upload .media-item{border-bottom-width:1px;border-bottom-style:solid;min-height:36px;width:100%;}#media-upload .ui-sortable .media-item{cursor:move;}.filename{line-height:36px;padding:0 10px;overflow:hidden;}#media-upload .describe{padding:5px;width:100%;clear:both;cursor:default;}#media-upload .slidetoggle{border-top-width:1px;border-top-style:solid;}#media-upload .describe th.label{padding-top:.2em;text-align:left;min-width:120px;}#media-upload tr.align td.field{text-align:center;}#media-upload tr.image-size{margin-bottom:1em;height:3em;}#media-upload #filter{width:623px;}#media-upload #filter .subsubsub{margin:8px 0;}#filter .tablenav select{border-style:solid;border-width:1px;padding:2px;vertical-align:top;width:auto;}#media-upload .del-attachment{display:none;margin:5px 0;}.menu_order{float:right;font-size:11px;margin:10px 10px 0;}.menu_order_input{border:1px solid #ddd;font-size:10px;padding:1px;width:23px;}.ui-sortable-helper{background-color:#fff;border:1px solid #aaa;opacity:.6;filter:alpha(opacity=60);}#media-upload th.order-head{width:20%;text-align:center;}#media-upload th.actions-head{width:25%;text-align:center;}#media-upload a.wp-post-thumbnail{margin:0 20px;}#media-items a.delete{display:block;float:right;}#media-upload .widefat{width:626px;border-style:solid solid none;}.sorthelper{height:37px;width:623px;display:block;}#gallery-settings th.label{width:160px;}#gallery-settings #basic th.label{padding:5px 5px 5px 0;}#gallery-settings .title{clear:both;padding:0 0 3px;font-size:1.6em;border-bottom:1px solid #DADADA;}h3.media-title{font-size:1.6em;}h4.media-sub-title{border-bottom:1px solid #DADADA;font-size:1.3em;margin:12px;padding:0 0 3px;}#gallery-settings .title,h3.media-title,h4.media-sub-title{font-family:Georgia,"Times New Roman",Times,serif;font-weight:normal;color:#5A5A5A;}#gallery-settings .describe td{vertical-align:middle;height:3em;}#gallery-settings .describe th.label{padding-top:.5em;text-align:left;}#gallery-settings .describe{padding:5px;width:615px;clear:both;cursor:default;}#gallery-settings .describe select{width:15em;}#gallery-settings .describe select option,#gallery-settings .describe td{padding:0;}#gallery-settings label,#gallery-settings legend{font-size:13px;color:#464646;margin-right:15px;}#gallery-settings .align .field label{margin:0 1.5em 0 0;}#gallery-settings p.ml-submit{border-top:1px solid #dfdfdf;}#gallery-settings select#columns{width:6em;}#sort-buttons{font-size:.8em;margin:3px 25px -8px 0;text-align:right;max-width:625px;}#sort-buttons a{text-decoration:none;}#sort-buttons #asc,#sort-buttons #showall{padding-left:5px;}#sort-buttons span{margin-right:25px;}
\ No newline at end of file
+div#media-upload-header{margin:0;padding:0 5px;font-weight:bold;position:relative;border-bottom-width:1px;border-bottom-style:solid;}body#media-upload ul#sidemenu{font-weight:normal;margin:0 5px;left:0;bottom:-1px;float:none;overflow:hidden;}div#media-upload-error{margin:1em;font-weight:bold;}form{margin:1em;}#search-filter{text-align:right;}th{position:relative;}.media-upload-form label.form-help,td.help{font-family:"Lucida Grande","Bitstream Vera Sans",Verdana,Arial,sans-serif;font-style:italic;font-weight:normal;}.media-upload-form p.help{margin:0;padding:0;}.media-upload-form fieldset{width:100%;border:none;text-align:justify;margin:0 0 1em 0;padding:0;}.image-align-none-label{background:url(../images/align-none.png) no-repeat center left;}.image-align-left-label{background:url(../images/align-left.png) no-repeat center left;}.image-align-center-label{background:url(../images/align-center.png) no-repeat center left;}.image-align-right-label{background:url(../images/align-right.png) no-repeat center left;}tr.image-size td{width:460px;}tr.image-size div.image-size-item{float:left;width:25%;margin:0;}#library-form .progress,#gallery-form .progress,#flash-upload-ui,.insert-gallery,.describe.startopen,.describe.startclosed{display:none;}.media-item .thumbnail{max-width:128px;max-height:128px;}thead.media-item-info tr{background-color:transparent;}thead.media-item-info th,thead.media-item-info td{border:none;margin:0;}.form-table thead.media-item-info{border:8px solid #fff;}abbr.required{text-decoration:none;border:none;}.describe label{display:inline;}.describe td{vertical-align:middle;padding:0 5px 8px 0;}.describe td.error{padding:2px 8px;}.describe td.A1{width:132px;}.describe input[type="text"],.describe textarea{width:460px;border-width:1px;border-style:solid;}.hidden{height:0;width:0;overflow:hidden;border:none;}#media-upload p.ml-submit{padding:1em 0;}#media-upload p.help,#media-upload label.help{font-family:"Lucida Grande","Bitstream Vera Sans",Verdana,Arial,sans-serif;font-style:italic;font-weight:normal;}#media-upload tr.image-size td.field{text-align:center;}#media-upload #media-items{border-width:1px;border-style:solid;border-bottom:none;width:623px;}#media-upload .media-item{border-bottom-width:1px;border-bottom-style:solid;min-height:36px;width:100%;}#media-upload .ui-sortable .media-item{cursor:move;}.filename{line-height:36px;padding:0 10px;overflow:hidden;}#media-upload .describe{width:100%;clear:both;cursor:default;}#media-upload .slidetoggle{border-top-width:1px;border-top-style:solid;}#media-upload .describe th.label{padding-top:.2em;text-align:left;min-width:120px;}#media-upload tr.align td.field{text-align:center;}#media-upload tr.image-size{margin-bottom:1em;height:3em;}#media-upload #filter{width:623px;}#media-upload #filter .subsubsub{margin:8px 0;}#filter .tablenav select{border-style:solid;border-width:1px;padding:2px;vertical-align:top;width:auto;}#media-upload .del-attachment{display:none;margin:5px 0;}.menu_order{float:right;font-size:11px;margin:10px 10px 0;}.menu_order_input{border:1px solid #ddd;font-size:10px;padding:1px;width:23px;}.ui-sortable-helper{background-color:#fff;border:1px solid #aaa;opacity:.6;filter:alpha(opacity=60);}#media-upload th.order-head{width:20%;text-align:center;}#media-upload th.actions-head{width:25%;text-align:center;}#media-upload a.wp-post-thumbnail{margin:0 20px;}#media-items a.delete{display:block;float:right;}#media-upload .widefat{width:626px;border-style:solid solid none;}.sorthelper{height:37px;width:623px;display:block;}#gallery-settings th.label{width:160px;}#gallery-settings #basic th.label{padding:5px 5px 5px 0;}#gallery-settings .title{clear:both;padding:0 0 3px;font-size:1.6em;border-bottom:1px solid #DADADA;}h3.media-title{font-size:1.6em;}h4.media-sub-title{border-bottom:1px solid #DADADA;font-size:1.3em;margin:12px;padding:0 0 3px;}#gallery-settings .title,h3.media-title,h4.media-sub-title{font-family:Georgia,"Times New Roman",Times,serif;font-weight:normal;color:#5A5A5A;}#gallery-settings .describe td{vertical-align:middle;height:3em;}#gallery-settings .describe th.label{padding-top:.5em;text-align:left;}#gallery-settings .describe{padding:5px;width:615px;clear:both;cursor:default;}#gallery-settings .describe select{width:15em;}#gallery-settings .describe select option,#gallery-settings .describe td{padding:0;}#gallery-settings label,#gallery-settings legend{font-size:13px;color:#464646;margin-right:15px;}#gallery-settings .align .field label{margin:0 1.5em 0 0;}#gallery-settings p.ml-submit{border-top:1px solid #dfdfdf;}#gallery-settings select#columns{width:6em;}#sort-buttons{font-size:.8em;margin:3px 25px -8px 0;text-align:right;max-width:625px;}#sort-buttons a{text-decoration:none;}#sort-buttons #asc,#sort-buttons #showall{padding-left:5px;}#sort-buttons span{margin-right:25px;}
\ No newline at end of file
diff --git a/wp-admin/css/media.dev.css b/wp-admin/css/media.dev.css
index 1c5e6921..297005c2 100644
--- a/wp-admin/css/media.dev.css
+++ b/wp-admin/css/media.dev.css
@@ -5,15 +5,15 @@ div#media-upload-header {
position: relative;
border-bottom-width: 1px;
border-bottom-style: solid;
- height: 2.5em;
}
body#media-upload ul#sidemenu {
font-weight: normal;
margin: 0 5px;
- position: absolute;
- left: 0px;
+ left: 0;
bottom: -1px;
+ float: none;
+ overflow: hidden;
}
div#media-upload-error {
@@ -187,7 +187,6 @@ abbr.required {
}
#media-upload .describe {
- padding: 5px;
width: 100%;
clear: both;
cursor: default;
diff --git a/wp-admin/css/ms.css b/wp-admin/css/ms.css
new file mode 100644
index 00000000..48152598
--- /dev/null
+++ b/wp-admin/css/ms.css
@@ -0,0 +1 @@
+#dashboard_right_now p.musub{margin-top:12px;border-top:1px solid #ececec;padding-left:16px;position:static;}#dashboard_right_now td.b a.musublink{font-size:16px;}#dashboard_right_now div.musubtable{border-top:none;}#dashboard_right_now div.musubtable .t{white-space:normal;}.ms-sites-php .postbox h3{cursor:auto;}.ms-sites-php .postbox .description{margin:10px 0 0;padding:0 10px 10px;border-bottom:1px solid #DFDFDF;}tr.site-deleted{background:#ff8573;}tr.site-spammed{background:#faa;}tr.site-archived{background:#ffebe8;}tr.site-mature{background:#fecac2;}
\ No newline at end of file
diff --git a/wp-admin/css/ms.dev.css b/wp-admin/css/ms.dev.css
new file mode 100644
index 00000000..738c834c
--- /dev/null
+++ b/wp-admin/css/ms.dev.css
@@ -0,0 +1,44 @@
+/* Dashboard: MS Specific Data */
+#dashboard_right_now p.musub {
+ margin-top: 12px;
+ border-top: 1px solid #ececec;
+ padding-left: 16px;
+ position: static;
+}
+
+#dashboard_right_now td.b a.musublink {
+ font-size: 16px;
+}
+
+#dashboard_right_now div.musubtable {
+ border-top: none;
+}
+
+#dashboard_right_now div.musubtable .t {
+ white-space: normal;
+}
+
+/* No drag and drop on ms-sites.php */
+.ms-sites-php .postbox h3 {
+ cursor: auto;
+}
+
+.ms-sites-php .postbox .description {
+ margin:10px 0 0px;
+ padding:0px 10px 10px;
+ border-bottom:1px solid #DFDFDF;
+}
+
+/* Background Color for Site Status */
+tr.site-deleted {
+ background: #ff8573;
+}
+tr.site-spammed {
+ background: #faa;
+}
+tr.site-archived {
+ background:#ffebe8;
+}
+tr.site-mature {
+ background: #fecac2;
+}
diff --git a/wp-admin/css/nav-menu-rtl.css b/wp-admin/css/nav-menu-rtl.css
new file mode 100644
index 00000000..9d24ddda
--- /dev/null
+++ b/wp-admin/css/nav-menu-rtl.css
@@ -0,0 +1 @@
+#nav-menus-frame{margin-right:300px;margin-left:0;}#wpbody-content #menu-settings-column{margin-right:-300px;margin-left:0;float:right;}#menu-management-liquid{float:right;}#menu-management{margin-left:20px;margin-right:0;}#post-body{padding:0 10px 10px 0;}.post-body-plain{padding:10px 0 0 10px;}#menu-management .nav-tabs-arrow-left{right:0;left:auto;}#menu-management .nav-tabs-arrow-right{left:0;right:auto;text-align:left;}#menu-management .nav-tabs{padding-right:20px;padding-left:10px;}.js #menu-management .nav-tabs{float:right;margin-right:0;margin-left:-400px;}#select-nav-menu-container{text-align:left;}#wpbody .open-label{float:right;}#wpbody .open-label span{padding-left:10px;padding-right:0;}.js .input-with-default-title{font-style:normal;font-weight:bold;}.postbox .howto input{float:left;}#nav-menu-theme-locations .button-controls{text-align:left;}.meta-sep,.submitdelete,.submitcancel{float:right;}#cancel-save{margin-right:20px;margin-left:0;}.list-controls{float:right;}.add-to-menu{float:left;}#add-custom-link label span{float:right;padding-left:5px;padding-right:0;}.howto span{float:right;}.list li .menu-item-title input{margin-left:3px;margin-right:0;}.menu-item-handle{padding-right:10px;padding-left:0;}.menu-item-edit-active .menu-item-handle{-moz-border-radius:6px 6px 0 0;-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:0;-khtml-border-bottom-left-radius:0;-khtml-border-bottom-right-radius:0;border-bottom-left-radius:0;border-bottom-right-radius:0;}.menu-item-handle .item-title{margin-left:13em;margin-right:0;}.menu-item-depth-0{margin-right:0;margin-left:0;}.menu-item-depth-1{margin-right:30px;margin-left:0;}.menu-item-depth-2{margin-right:60px;margin-left:0;}.menu-item-depth-3{margin-right:90px;margin-left:0;}.menu-item-depth-4{margin-right:120px;margin-left:0;}.menu-item-depth-5{margin-right:150px;margin-left:0;}.menu-item-depth-6{margin-right:180px;margin-left:0;}.menu-item-depth-7{margin-right:210px;margin-left:0;}.menu-item-depth-8{margin-right:240px;margin-left:0;}.menu-item-depth-9{margin-right:270px;margin-left:0;}.menu-item-depth-10{margin-right:300px;margin-left:0;}.menu-item-depth-11{margin-right:330px;margin-left:0;}.menu-item-depth-0 .menu-item-transport{margin-right:0;margin-left:0;}.menu-item-depth-1 .menu-item-transport{margin-right:-30px;margin-left:0;}.menu-item-depth-2 .menu-item-transport{margin-right:-60px;margin-left:0;}.menu-item-depth-3 .menu-item-transport{margin-right:-90px;margin-left:0;}.menu-item-depth-4 .menu-item-transport{margin-right:-120px;margin-left:0;}.menu-item-depth-5 .menu-item-transport{margin-right:-150px;margin-left:0;}.menu-item-depth-6 .menu-item-transport{margin-right:-180px;margin-left:0;}.menu-item-depth-7 .menu-item-transport{margin-right:-210px;margin-left:0;}.menu-item-depth-8 .menu-item-transport{margin-right:-240px;margin-left:0;}.menu-item-depth-9 .menu-item-transport{margin-right:-270px;margin-left:0;}.menu-item-depth-10 .menu-item-transport{margin-right:-300px;margin-left:0;}.menu-item-depth-11 .menu-item-transport{margin-right:-330px;margin-left:0;}.item-type{padding-left:10px;padding-right:0;}.item-controls{left:20px;right:auto;}.item-controls .item-order{padding-left:10px;padding-right:0;}.item-edit{background-image:url("../images/menu-bits-rtl.gif?ver=20100531");background-position:100% -105px;left:-20px;right:auto;-moz-border-radius-bottomright:3px;-moz-border-radius-bottomleft:0;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:0;-khtml-border-bottom-right-radius:3px;-khtml-border-bottom-left-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:0;}.menu-item-settings{padding:10px 10px 10px 0;border-width:0 1px 1px 1px;}.link-to-original{font-style:normal;font-weight:bold;}.link-to-original a{padding-right:4px;padding-left:0;}.menu-item-settings .description-thin,.menu-item-settings .description-wide{margin-left:10px;margin-right:0;float:right;}.major-publishing-actions .publishing-action{text-align:left;float:left;}.major-publishing-actions .delete-action{text-align:right;float:right;padding-left:15px;padding-right:0;}.menu-name-label{margin-left:15px;margin-right:0;}.auto-add-pages{float:right;}
\ No newline at end of file
diff --git a/wp-admin/css/nav-menu-rtl.dev.css b/wp-admin/css/nav-menu-rtl.dev.css
new file mode 100644
index 00000000..523e2165
--- /dev/null
+++ b/wp-admin/css/nav-menu-rtl.dev.css
@@ -0,0 +1,206 @@
+#nav-menus-frame {
+ margin-right: 300px;
+ margin-left: 0;
+}
+
+#wpbody-content #menu-settings-column {
+ margin-right: -300px;
+ margin-left: 0;
+ float: right;
+}
+
+/* Menu Container */
+#menu-management-liquid {
+ float: right;
+}
+#menu-management {
+ margin-left: 20px;
+ margin-right: 0;
+}
+
+
+ #post-body {
+ padding:0 10px 10px 0;
+ }
+
+ .post-body-plain {
+ padding: 10px 0 0 10px;
+ }
+
+/* Menu Tabs */
+
+ #menu-management .nav-tabs-arrow-left {
+ right: 0;
+ left:auto;
+ }
+ #menu-management .nav-tabs-arrow-right {
+ left: 0;
+ right:auto;
+ text-align: left;
+ }
+
+#menu-management .nav-tabs {
+ padding-right: 20px;
+ padding-left: 10px;
+}
+.js #menu-management .nav-tabs {
+ float: right;
+ margin-right: 0px;
+ margin-left: -400px;
+}
+
+#select-nav-menu-container {
+ text-align: left;
+}
+
+#wpbody .open-label {
+ float:right;
+}
+
+#wpbody .open-label span {
+ padding-left: 10px;
+ padding-right:0;
+}
+
+ .js .input-with-default-title {
+ font-style: normal;
+ font-weight:bold;
+ }
+
+/* Add Menu Item Boxes */
+.postbox .howto input {
+ float: left;
+}
+#nav-menu-theme-locations .button-controls {
+ text-align: left;
+}
+
+/* Button Primary Actions */
+
+.meta-sep,
+.submitdelete,
+.submitcancel {
+ float:right;
+}
+
+#cancel-save { margin-right: 20px; margin-left: 0; }
+
+/* Button Secondary Actions */
+.list-controls { float: right; }
+.add-to-menu {
+ float: left;
+}
+
+/* Custom Links */
+#add-custom-link label span { float: right; padding-left: 5px; padding-right:0;}
+.howto span { float: right; }
+
+.list li .menu-item-title input { margin-left: 3px; margin-right: 0 }
+
+/* Nav Menu */
+.menu-item-handle {
+ padding-right: 10px;
+ padding-left: 0;
+}
+.menu-item-edit-active .menu-item-handle {
+ -moz-border-radius: 6px 6px 0 0;
+ -webkit-border-bottom-left-radius: 0;
+ -webkit-border-bottom-right-radius: 0;
+ -khtml-border-bottom-left-radius: 0;
+ -khtml-border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0;
+ border-bottom-right-radius: 0;
+}
+.menu-item-handle .item-title {
+ margin-left:13em;
+ margin-right:0;
+}
+
+
+/* WARNING: The factor of 30px is hardcoded into the nav-menus javascript. */
+.menu-item-depth-0 { margin-right: 0px; margin-left:0;}
+.menu-item-depth-1 { margin-right: 30px; margin-left:0;}
+.menu-item-depth-2 { margin-right: 60px; margin-left:0;}
+.menu-item-depth-3 { margin-right: 90px; margin-left:0;}
+.menu-item-depth-4 { margin-right: 120px; margin-left:0;}
+.menu-item-depth-5 { margin-right: 150px; margin-left:0;}
+.menu-item-depth-6 { margin-right: 180px; margin-left:0;}
+.menu-item-depth-7 { margin-right: 210px; margin-left:0;}
+.menu-item-depth-8 { margin-right: 240px; margin-left:0;}
+.menu-item-depth-9 { margin-right: 270px; margin-left:0;}
+.menu-item-depth-10 { margin-right: 300px; margin-left:0;}
+.menu-item-depth-11 { margin-right: 330px; margin-left:0;}
+
+.menu-item-depth-0 .menu-item-transport { margin-right: 0px; margin-left:0;}
+.menu-item-depth-1 .menu-item-transport { margin-right: -30px; margin-left:0;}
+.menu-item-depth-2 .menu-item-transport { margin-right: -60px; margin-left:0;}
+.menu-item-depth-3 .menu-item-transport { margin-right: -90px; margin-left:0;}
+.menu-item-depth-4 .menu-item-transport { margin-right: -120px; margin-left:0;}
+.menu-item-depth-5 .menu-item-transport { margin-right: -150px; margin-left:0;}
+.menu-item-depth-6 .menu-item-transport { margin-right: -180px; margin-left:0;}
+.menu-item-depth-7 .menu-item-transport { margin-right: -210px; margin-left:0;}
+.menu-item-depth-8 .menu-item-transport { margin-right: -240px; margin-left:0;}
+.menu-item-depth-9 .menu-item-transport { margin-right: -270px; margin-left:0;}
+.menu-item-depth-10 .menu-item-transport { margin-right: -300px; margin-left:0;}
+.menu-item-depth-11 .menu-item-transport { margin-right: -330px; margin-left:0;}
+
+/* Menu item controls */
+.item-type { padding-left: 10px; padding-right:0;}
+.item-controls { left: 20px; right: auto;}
+.item-controls .item-order { padding-left: 10px; padding-right: 0;}
+
+.item-edit {
+ background-image: url("../images/menu-bits-rtl.gif?ver=20100531");
+ background-position: 100% -105px;
+ left: -20px;
+ right:auto;
+ -moz-border-radius-bottomright: 3px;
+ -moz-border-radius-bottomleft: 0;
+ -webkit-border-bottom-right-radius: 3px;
+ -webkit-border-bottom-left-radius: 0;
+ -khtml-border-bottom-right-radius: 3px;
+ -khtml-border-bottom-left-radius: 0;
+ border-bottom-right-radius: 3px;
+ border-bottom-left-radius: 0;
+}
+
+/* Menu editing */
+.menu-item-settings {
+ padding: 10px 10px 10px 0;
+ border-width: 0 1px 1px 1px;
+}
+
+.link-to-original {
+ font-style: normal;
+ font-weight: bold;
+}
+ .link-to-original a {
+ padding-right: 4px;
+ padding-left:0;
+ }
+
+.menu-item-settings .description-thin,
+.menu-item-settings .description-wide {
+ margin-left: 10px;
+ margin-right:0;
+ float: right;
+}
+
+/* Major/minor publishing actions (classes) */
+.major-publishing-actions .publishing-action {
+ text-align: left;
+ float: left;
+}
+.major-publishing-actions .delete-action {
+ text-align: right;
+ float: right;
+ padding-left: 15px;
+ padding-right:0;
+}
+.menu-name-label {
+ margin-left: 15px;
+ margin-right:0;
+}
+.auto-add-pages {
+ float: right;
+}
\ No newline at end of file
diff --git a/wp-admin/css/nav-menu.css b/wp-admin/css/nav-menu.css
new file mode 100644
index 00000000..d1714c3c
--- /dev/null
+++ b/wp-admin/css/nav-menu.css
@@ -0,0 +1 @@
+html,body{min-width:950px;}#nav-menus-frame{margin-left:300px;}#wpbody-content #menu-settings-column{display:inline;width:281px;margin-left:-300px;clear:both;float:left;padding-top:24px;}.no-js #wpbody-content #menu-settings-column{padding-top:31px;}#menu-settings-column .inside{clear:both;padding:0 10px;}.metabox-holder-disabled .postbox{opacity:.5;filter:alpha(opacity=50);}.metabox-holder-disabled .button-controls .select-all{display:none;}#wpbody{position:relative;}#menu-management-liquid{float:left;min-width:100%;}#menu-management{position:relative;margin-right:20px;margin-top:-3px;width:100%;}#menu-management .menu-edit{margin-bottom:20px;}#nav-menu-header,#post-body{border-color:#ccc;border-style:solid;}#nav-menu-header{border-width:1px 1px 0 1px;-moz-border-radius-topleft:6px;-webkit-border-top-left-radius:6px;-khtml-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-topright:6px;-webkit-border-top-right-radius:6px;-khtml-border-top-right-radius:6px;border-top-right-radius:6px;}#post-body{background:#fff;padding:10px;border-width:0 1px 1px 1px;-moz-border-radius-bottomleft:6px;-webkit-border-bottom-left-radius:6px;-khtml-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-moz-border-radius-bottomright:6px;-webkit-border-bottom-right-radius:6px;-khtml-border-bottom-right-radius:6px;border-bottom-right-radius:6px;}#post-body div.updated{margin:0;}#post-body-content{position:relative;}#menu-management .menu-add-new abbr{font-weight:bold;}#menu-management .nav-tabs-nav{margin:0 20px;}#menu-management .nav-tabs-arrow{width:10px;padding:0 5px 4px;cursor:pointer;position:absolute;top:0;line-height:22px;font-size:18px;text-shadow:0 1px 0 #fff;}#menu-management .nav-tabs-arrow a{color:#C1C1C1;}#menu-management .nav-tabs-arrow a:hover{color:#D54E21;}#menu-management .nav-tabs-arrow a:active{color:#464646;}#menu-management .nav-tabs-arrow-left{left:0;}#menu-management .nav-tabs-arrow-right{right:0;text-align:right;}#menu-management .nav-tabs-wrapper{width:100%;height:28px;margin-bottom:-1px;overflow:hidden;}#menu-management .nav-tabs{padding-left:20px;padding-right:10px;}.js #menu-management .nav-tabs{float:left;margin-left:0;margin-right:-400px;}#menu-management .nav-tab{margin-bottom:0;background:#f4f4f4;font-weight:bold;border-color:#dfdfdf;}#menu-management .nav-tab-active{border-color:#ccc;}#select-nav-menu-container{text-align:right;padding:0 10px 3px 10px;margin-bottom:5px;}#select-nav-menu{width:100px;display:inline;}#menu-name-label{margin-top:-2px;}#wpbody .open-label{display:block;float:left;}#wpbody .open-label span{padding-right:10px;}.js .input-with-default-title{color:#aaa;font-style:italic;}#menu-management .inside{padding:0 10px;}.postbox .howto input{width:180px;float:right;}.customlinkdiv .howto input{width:210px;}#nav-menu-theme-locations .howto select{width:100%;}#nav-menu-theme-locations .button-controls{text-align:right;}.add-menu-item-view-all{height:400px;}#menu-container .submit{margin:0 0 10px;padding:0;}.meta-sep,.submitdelete,.submitcancel{display:block;float:left;font-size:11px;margin:4px 0;line-height:15px;}.meta-sep{padding:0 2px;}#cancel-save{color:#f00;text-decoration:underline;font-size:11px;margin-left:20px;margin-top:5px;}#cancel-save:hover{background-color:#F00;color:#fff;}.list-controls{float:left;margin-top:5px;}.add-to-menu{float:right;}.postbox img.waiting{display:none;vertical-align:middle;}.button-controls{clear:both;margin:10px 0;}.show-all,.hide-all{cursor:pointer;}.hide-all{display:none;}#menu-name{width:270px;}#manage-menu .inside{padding:0;}#available-links dt{display:block;}#add-custom-link .howto{font-size:11px;}#add-custom-link label span{display:block;float:left;margin-top:5px;padding-right:5px;}.menu-item-textbox{width:180px;}.howto span{margin-top:4px;display:block;float:left;}.quick-search{width:190px;}.list-wrap{display:none;clear:both;margin-bottom:10px;}.list-container{max-height:200px;overflow-y:auto;padding:10px 10px 5px;border:1px solid #DFDFDF;-moz-border-radius:4px;}.postbox p.submit{margin-bottom:0;}.list li{display:none;margin:0;margin-bottom:5px;}.list li .menu-item-title{cursor:pointer;display:block;}.list li .menu-item-title input{margin-right:3px;margin-top:-3px;}#menu-container .inside{padding-bottom:10px;}.menu{padding-top:1em;}#menu-to-edit{padding:1em 0;}.menu ul{width:100%;}.menu li{margin-bottom:0;position:relative;}.menu-item-bar{clear:both;line-height:1.5em;position:relative;margin-top:13px;}.menu-item-handle{border:1px solid #E6E6E6;position:relative;padding-left:10px;height:auto;width:400px;line-height:35px;text-shadow:0 1px 0 #FFF;font-weight:bold;overflow:hidden;border-radius:6px;-webkit-border-radius:6px;-moz-border-radius:6px;-khtml-border-radius:6px;word-wrap:break-word;}.menu-item-edit-active .menu-item-handle{-moz-border-radius:6px 6px 0 0;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-khtml-border-bottom-right-radius:0;-khtml-border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0;}.no-js .menu-item-edit-active .item-edit{display:none;}.js .menu-item-handle{cursor:move;}.menu li.deleting .menu-item-handle{background-color:#f66;background-image:none;text-shadow:0 0 0 #ccc;}.menu-item-handle .item-title{padding:7px 0;line-height:20px;display:block;margin-right:13em;}li.menu-item.ui-sortable-helper dl{margin-top:0;}li.menu-item.ui-sortable-helper .menu-item-transport dl{margin-top:13px;}.menu .sortable-placeholder{height:35px;width:410px;margin-top:13px;}.menu-item-depth-0{margin-left:0;}.menu-item-depth-1{margin-left:30px;}.menu-item-depth-2{margin-left:60px;}.menu-item-depth-3{margin-left:90px;}.menu-item-depth-4{margin-left:120px;}.menu-item-depth-5{margin-left:150px;}.menu-item-depth-6{margin-left:180px;}.menu-item-depth-7{margin-left:210px;}.menu-item-depth-8{margin-left:240px;}.menu-item-depth-9{margin-left:270px;}.menu-item-depth-10{margin-left:300px;}.menu-item-depth-11{margin-left:330px;}.menu-item-depth-0 .menu-item-transport{margin-left:0;}.menu-item-depth-1 .menu-item-transport{margin-left:-30px;}.menu-item-depth-2 .menu-item-transport{margin-left:-60px;}.menu-item-depth-3 .menu-item-transport{margin-left:-90px;}.menu-item-depth-4 .menu-item-transport{margin-left:-120px;}.menu-item-depth-5 .menu-item-transport{margin-left:-150px;}.menu-item-depth-6 .menu-item-transport{margin-left:-180px;}.menu-item-depth-7 .menu-item-transport{margin-left:-210px;}.menu-item-depth-8 .menu-item-transport{margin-left:-240px;}.menu-item-depth-9 .menu-item-transport{margin-left:-270px;}.menu-item-depth-10 .menu-item-transport{margin-left:-300px;}.menu-item-depth-11 .menu-item-transport{margin-left:-330px;}body.menu-max-depth-0{min-width:950px!important;}body.menu-max-depth-1{min-width:980px!important;}body.menu-max-depth-2{min-width:1010px!important;}body.menu-max-depth-3{min-width:1040px!important;}body.menu-max-depth-4{min-width:1070px!important;}body.menu-max-depth-5{min-width:1100px!important;}body.menu-max-depth-6{min-width:1130px!important;}body.menu-max-depth-7{min-width:1160px!important;}body.menu-max-depth-8{min-width:1190px!important;}body.menu-max-depth-9{min-width:1220px!important;}body.menu-max-depth-10{min-width:1250px!important;}body.menu-max-depth-11{min-width:1280px!important;}.item-type{text-transform:uppercase;font-size:11px;color:#999;padding-right:10px;}.item-controls{font-size:11px;position:absolute;right:20px;top:-1px;}.item-controls a{text-decoration:none;}.item-controls a:hover{cursor:pointer;}.item-controls .item-order{padding-right:10px;}.item-controls .item-order a{font-weight:bold;}body.js .item-order{display:none;}.item-controls .menu-item-delete:hover{color:#f00;}.item-edit{background:url("../images/menu-bits.gif?ver=20100610") no-repeat scroll 0 -105px;position:absolute;right:-20px;top:0;display:block;width:23px;height:36px;overflow:hidden;text-indent:-999em;border-bottom:1px solid #eee;-moz-border-radius-bottomleft:3px;-webkit-border-bottom-left-radius:3px;-khtml-border-bottom-left-radius:3px;border-bottom-left-radius:3px;}.menu-instructions-inactive{display:none;}.menu-item-settings{background:#F9F9F9;display:block;width:400px;padding:10px 0 10px 10px;border:solid #E6E6E6;border-width:0 1px 1px 1px;-moz-border-radius:0 0 6px 6px;-webkit-border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-khtml-border-bottom-right-radius:6px;-khtml-border-bottom-left-radius:6px;}.menu-item-edit-active .menu-item-settings{display:block;}.menu-item-edit-inactive .menu-item-settings{display:none;}.add-menu-item-pagelinks{margin:.5em auto;text-align:center;}.link-to-original{display:block;margin:0 0 10px;padding:3px 5px 5px;font-size:11px;color:#777;font-style:italic;border:1px solid #dfdfdf;border-radius:6px;-webkit-border-radius:6px;-moz-border-radius:6px;-khtml-border-radius:6px;}.link-to-original a{padding-left:4px;font-style:normal;}.hidden-field{display:none;}.menu-item-settings .description-thin,.menu-item-settings .description-wide{margin-right:10px;float:left;}.description-thin{width:190px;height:40px;}.description-wide{width:390px;}.menu-item-actions{padding-top:15px;}#cancel-save{cursor:pointer;}#cancel-save:hover{color:#fff!important;}#update-menu-item{color:#fff!important;}#update-menu-item:hover,#update-menu-item:active,#update-menu-item:focus{color:#eaf2fa!important;border-color:#13455b!important;}.major-publishing-actions{clear:both;padding:5px 10px;}.major-publishing-actions .publishing-action{text-align:right;float:right;line-height:23px;margin:5px 0 1px;}.major-publishing-actions .delete-action{vertical-align:middle;text-align:left;float:left;padding-right:15px;margin-top:5px;}.menu-name-label span,.auto-add-pages label{font-size:11px;font-style:normal;}.menu-name-label{margin-right:15px;}.auto-add-pages input{margin-top:0;}.auto-add-pages{margin-top:4px;float:left;}.submitbox .submitcancel{color:#21759B;border-bottom:1px solid #21759B;padding:1px 2px;text-decoration:none;}.submitbox .submitcancel:hover{background:#21759B;color:#fff;}.major-publishing-actions .form-invalid{border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-khtml-border-radius:4px;padding-left:4px;margin-left:-4px;}#menu-item-name-wrap:after,#menu-item-url-wrap:after,#menu-name-label:after,#menu-settings-column .inside:after,#nav-menus-frame:after,#post-body-content:after,.button-controls:after,.major-publishing-actions:after,.menu-item-settings:after{clear:both;content:".";display:block;height:0;visibility:hidden;}#nav-menus-frame,.button-controls,#menu-item-url-wrap,#menu-item-name-wrap{display:block;}
\ No newline at end of file
diff --git a/wp-admin/css/nav-menu.dev.css b/wp-admin/css/nav-menu.dev.css
new file mode 100644
index 00000000..f1490f7d
--- /dev/null
+++ b/wp-admin/css/nav-menu.dev.css
@@ -0,0 +1,570 @@
+/**
+ * WordPress Administration Custom Navigation
+ * Interface CSS
+ *
+ * @version 2.0.0
+ *
+ * @package WordPress
+ * @subpackage Administration
+ */
+
+html,
+body {
+ min-width: 950px;
+}
+
+#nav-menus-frame {
+ margin-left: 300px;
+}
+
+#wpbody-content #menu-settings-column {
+ display:inline;
+ width:281px;
+ margin-left: -300px;
+ clear: both;
+ float: left;
+ padding-top: 24px;
+}
+ .no-js #wpbody-content #menu-settings-column {
+ padding-top: 31px;
+ }
+
+#menu-settings-column .inside {
+ clear: both;
+ padding:0 10px;
+}
+
+.metabox-holder-disabled .postbox {
+ opacity: 0.5;
+ filter: alpha(opacity=50);
+}
+
+.metabox-holder-disabled .button-controls .select-all {
+ display: none;
+}
+#wpbody {
+ position: relative;
+}
+
+/* Menu Container */
+#menu-management-liquid {
+ float: left;
+ min-width: 100%;
+}
+#menu-management {
+ position: relative;
+ margin-right: 20px;
+ margin-top: -3px;
+ width: 100%;
+}
+ #menu-management .menu-edit {
+ margin-bottom: 20px;
+ }
+
+ #nav-menu-header, #post-body {
+ border-color: #ccc;
+ border-style: solid;
+ }
+
+ #nav-menu-header {
+ border-width: 1px 1px 0 1px;
+ -moz-border-radius-topleft: 6px;
+ -webkit-border-top-left-radius: 6px;
+ -khtml-border-top-left-radius: 6px;
+ border-top-left-radius: 6px;
+ -moz-border-radius-topright: 6px;
+ -webkit-border-top-right-radius: 6px;
+ -khtml-border-top-right-radius: 6px;
+ border-top-right-radius: 6px;
+ }
+
+ #post-body {
+ background: #fff;
+ padding: 10px;
+ border-width: 0 1px 1px 1px;
+ -moz-border-radius-bottomleft: 6px;
+ -webkit-border-bottom-left-radius: 6px;
+ -khtml-border-bottom-left-radius: 6px;
+ border-bottom-left-radius: 6px;
+ -moz-border-radius-bottomright: 6px;
+ -webkit-border-bottom-right-radius: 6px;
+ -khtml-border-bottom-right-radius: 6px;
+ border-bottom-right-radius: 6px;
+ }
+
+ #post-body div.updated {
+ margin: 0;
+ }
+
+ #post-body-content {
+ position: relative;
+ }
+
+ #menu-management .menu-add-new abbr {
+ font-weight:bold;
+ }
+
+/* Menu Tabs */
+
+#menu-management .nav-tabs-nav {
+ margin: 0 20px;
+}
+
+#menu-management .nav-tabs-arrow {
+ width: 10px;
+ padding: 0 5px 4px;
+ cursor: pointer;
+ position: absolute;
+ top: 0;
+ line-height: 22px;
+ font-size: 18px;
+ text-shadow: 0 1px 0 #fff;
+}
+ #menu-management .nav-tabs-arrow a { color: #C1C1C1; }
+ #menu-management .nav-tabs-arrow a:hover { color: #D54E21; }
+ #menu-management .nav-tabs-arrow a:active { color: #464646; }
+ #menu-management .nav-tabs-arrow-left {
+ left: 0;
+ }
+ #menu-management .nav-tabs-arrow-right {
+ right: 0;
+ text-align: right;
+ }
+
+
+#menu-management .nav-tabs-wrapper {
+ width: 100%;
+ height: 28px;
+ margin-bottom: -1px;
+ overflow: hidden;
+}
+
+#menu-management .nav-tabs {
+ padding-left: 20px;
+ padding-right: 10px;
+}
+.js #menu-management .nav-tabs {
+ float: left;
+ margin-left: 0px;
+ margin-right: -400px;
+}
+
+#menu-management .nav-tab {
+ margin-bottom: 0;
+ background: #f4f4f4;
+ font-weight: bold;
+ border-color: #dfdfdf;
+}
+
+#menu-management .nav-tab-active {
+ border-color:#ccc;
+}
+
+#select-nav-menu-container {
+ text-align: right;
+ padding: 0 10px 3px 10px;
+ margin-bottom: 5px;
+}
+ #select-nav-menu {
+ width: 100px;
+ display: inline;
+ }
+
+#menu-name-label {
+ margin-top: -2px;
+}
+
+#wpbody .open-label {
+ display: block;
+ float:left;
+}
+#wpbody .open-label span {
+ padding-right: 10px;
+}
+
+ .js .input-with-default-title {
+ color: #aaa;
+ font-style: italic;
+ }
+
+#menu-management .inside { padding: 0 10px; }
+
+/* Add Menu Item Boxes */
+.postbox .howto input {
+ width: 180px;
+ float: right;
+}
+.customlinkdiv .howto input {
+ width: 210px;
+}
+#nav-menu-theme-locations .howto select {
+ width: 100%;
+}
+#nav-menu-theme-locations .button-controls {
+ text-align: right;
+}
+.add-menu-item-view-all {
+ height: 400px;
+}
+
+/* Button Primary Actions */
+#menu-container .submit { margin: 0px 0px 10px; padding: 0px; }
+
+.meta-sep,
+.submitdelete,
+.submitcancel {
+ display:block;
+ float:left;
+ font-size: 11px;
+ margin: 4px 0;
+ line-height: 15px;
+}
+.meta-sep {
+ padding: 0 2px;
+}
+
+#cancel-save { color: #ff0000; text-decoration: underline; font-size: 11px; margin-left: 20px; margin-top: 5px; }
+#cancel-save:hover { background-color: #FF0000; color: #fff; }
+
+/* Button Secondary Actions */
+.list-controls { float: left; margin-top: 5px; }
+.add-to-menu {
+ float: right;
+}
+
+.postbox img.waiting {
+ display: none;
+ vertical-align: middle;
+}
+
+.button-controls {
+ clear:both;
+ margin: 10px 0;
+}
+.show-all, .hide-all { cursor: pointer; }
+.hide-all { display: none; }
+
+/* Create Menu */
+#menu-name { width: 270px; }
+#manage-menu .inside { padding: 0px 0px; }
+
+/* Custom Links */
+#available-links dt { display: block; }
+#add-custom-link .howto { font-size: 11px; }
+#add-custom-link label span { display: block; float: left; margin-top: 5px; padding-right: 5px; }
+.menu-item-textbox { width: 180px; }
+.howto span { margin-top: 4px; display: block; float: left; }
+
+/* Menu item types */
+.quick-search { width: 190px; }
+.list-wrap { display: none; clear: both; margin-bottom: 10px; }
+.list-container { max-height: 200px; overflow-y: auto; padding: 10px 10px 5px; border: 1px solid #DFDFDF; -moz-border-radius: 4px; }
+.postbox p.submit { margin-bottom: 0; }
+
+/* Listings */
+.list li { display: none; margin: 0; margin-bottom: 5px; }
+
+.list li .menu-item-title { cursor: pointer; display: block; }
+.list li .menu-item-title input { margin-right: 3px; margin-top: -3px; }
+
+/* Nav Menu */
+#menu-container .inside { padding-bottom: 10px; }
+
+.menu {
+ padding-top:1em;
+}
+
+#menu-to-edit {
+ padding: 1em 0;
+}
+
+.menu ul {
+ width: 100%;
+}
+.menu ul.sub-menu {
+}
+.menu li {
+ margin-bottom: 0;
+ position:relative;
+}
+.menu-item-bar {
+ clear:both;
+ line-height:1.5em;
+ position:relative;
+ margin-top: 13px;
+}
+.menu-item-handle {
+ border: 1px solid #E6E6E6;
+ position: relative;
+ padding-left: 10px;
+ height: auto;
+ width: 400px;
+ line-height: 35px;
+ text-shadow: 0 1px 0 #FFFFFF;
+ font-weight:bold;
+ overflow: hidden;
+ border-radius: 6px;
+ -webkit-border-radius: 6px;
+ -moz-border-radius: 6px;
+ -khtml-border-radius: 6px;
+ word-wrap: break-word;
+}
+.menu-item-edit-active .menu-item-handle {
+ -moz-border-radius: 6px 6px 0 0;
+ -webkit-border-bottom-right-radius: 0;
+ -webkit-border-bottom-left-radius: 0;
+ -khtml-border-bottom-right-radius: 0;
+ -khtml-border-bottom-left-radius: 0;
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0;
+}
+.no-js .menu-item-edit-active .item-edit {
+ display: none;
+}
+.js .menu-item-handle {
+ cursor: move;
+}
+.menu li.deleting .menu-item-handle {
+ background-color: #f66;
+ background-image: none;
+ text-shadow: 0 0 0 #ccc;
+}
+
+.menu-item-handle .item-title {
+ padding: 7px 0;
+ line-height: 20px;
+ display:block;
+ margin-right:13em;
+}
+
+/* Sortables */
+li.menu-item.ui-sortable-helper dl {
+ margin-top: 0;
+}
+ li.menu-item.ui-sortable-helper .menu-item-transport dl {
+ margin-top: 13px;
+ }
+.menu .sortable-placeholder {
+ height: 35px;
+ width: 410px;
+ margin-top: 13px;
+}
+
+/* WARNING: The factor of 30px is hardcoded into the nav-menus javascript. */
+.menu-item-depth-0 { margin-left: 0px; }
+.menu-item-depth-1 { margin-left: 30px; }
+.menu-item-depth-2 { margin-left: 60px; }
+.menu-item-depth-3 { margin-left: 90px; }
+.menu-item-depth-4 { margin-left: 120px; }
+.menu-item-depth-5 { margin-left: 150px; }
+.menu-item-depth-6 { margin-left: 180px; }
+.menu-item-depth-7 { margin-left: 210px; }
+.menu-item-depth-8 { margin-left: 240px; }
+.menu-item-depth-9 { margin-left: 270px; }
+.menu-item-depth-10 { margin-left: 300px; }
+.menu-item-depth-11 { margin-left: 330px; }
+
+.menu-item-depth-0 .menu-item-transport { margin-left: 0px; }
+.menu-item-depth-1 .menu-item-transport { margin-left: -30px; }
+.menu-item-depth-2 .menu-item-transport { margin-left: -60px; }
+.menu-item-depth-3 .menu-item-transport { margin-left: -90px; }
+.menu-item-depth-4 .menu-item-transport { margin-left: -120px; }
+.menu-item-depth-5 .menu-item-transport { margin-left: -150px; }
+.menu-item-depth-6 .menu-item-transport { margin-left: -180px; }
+.menu-item-depth-7 .menu-item-transport { margin-left: -210px; }
+.menu-item-depth-8 .menu-item-transport { margin-left: -240px; }
+.menu-item-depth-9 .menu-item-transport { margin-left: -270px; }
+.menu-item-depth-10 .menu-item-transport { margin-left: -300px; }
+.menu-item-depth-11 .menu-item-transport { margin-left: -330px; }
+
+body.menu-max-depth-0 { min-width: 950px !important; }
+body.menu-max-depth-1 { min-width: 980px !important; }
+body.menu-max-depth-2 { min-width: 1010px !important; }
+body.menu-max-depth-3 { min-width: 1040px !important; }
+body.menu-max-depth-4 { min-width: 1070px !important; }
+body.menu-max-depth-5 { min-width: 1100px !important; }
+body.menu-max-depth-6 { min-width: 1130px !important; }
+body.menu-max-depth-7 { min-width: 1160px !important; }
+body.menu-max-depth-8 { min-width: 1190px !important; }
+body.menu-max-depth-9 { min-width: 1220px !important; }
+body.menu-max-depth-10 { min-width: 1250px !important; }
+body.menu-max-depth-11 { min-width: 1280px !important; }
+
+/* Menu item controls */
+.item-type { text-transform: uppercase; font-size: 11px; color: #999999; padding-right: 10px; }
+.item-controls { font-size: 11px; position: absolute; right: 20px; top: -1px; }
+.item-controls a { text-decoration: none; }
+.item-controls a:hover { cursor: pointer; }
+.item-controls .item-order { padding-right: 10px;}
+.item-controls .item-order a {
+ font-weight:bold;
+}
+
+body.js .item-order {
+ display:none;
+}
+
+.item-controls .menu-item-delete:hover { color: #ff0000; }
+
+.item-edit {
+ background: url("../images/menu-bits.gif?ver=20100610") no-repeat scroll 0 -105px;
+ position: absolute;
+ right: -20px;
+ top: 0;
+ display: block;
+ width: 23px;
+ height: 36px;
+ overflow: hidden;
+ text-indent:-999em;
+ border-bottom: 1px solid #eee;
+ -moz-border-radius-bottomleft: 3px;
+ -webkit-border-bottom-left-radius: 3px;
+ -khtml-border-bottom-left-radius: 3px;
+ border-bottom-left-radius: 3px;
+}
+
+/* Menu editing */
+.menu-instructions-inactive {
+ display: none;
+}
+.menu-item-settings {
+ background: #F9F9F9;
+ display:block;
+ width: 400px;
+ padding: 10px 0 10px 10px;
+ border: solid #E6E6E6;
+ border-width: 0 1px 1px 1px;
+ -moz-border-radius: 0 0 6px 6px;
+ -webkit-border-bottom-right-radius: 6px;
+ -webkit-border-bottom-left-radius: 6px;
+ -khtml-border-bottom-right-radius: 6px;
+ -khtml-border-bottom-left-radius: 6px;
+}
+.menu-item-edit-active .menu-item-settings {
+ display:block;
+}
+
+.menu-item-edit-inactive .menu-item-settings {
+ display:none;
+}
+
+.add-menu-item-pagelinks {
+ margin:.5em auto;
+ text-align:center;
+}
+
+.link-to-original {
+ display: block;
+ margin: 0 0 10px;
+ padding: 3px 5px 5px;
+ font-size: 11px;
+ color: #777;
+ font-style: italic;
+ border: 1px solid #dfdfdf;
+ border-radius: 6px;
+ -webkit-border-radius: 6px;
+ -moz-border-radius: 6px;
+ -khtml-border-radius: 6px;
+}
+ .link-to-original a {
+ padding-left: 4px;
+ font-style: normal;
+ }
+
+.hidden-field {
+ display: none;
+}
+
+.menu-item-settings .description-thin,
+.menu-item-settings .description-wide {
+ margin-right: 10px;
+ float: left;
+}
+.description-thin {
+ width: 190px;
+ height: 40px;
+}
+.description-wide {
+ width: 390px;
+}
+
+.menu-item-actions {
+ padding-top: 15px;
+}
+
+#cancel-save { cursor: pointer; }
+#cancel-save:hover { color: #fff !important; }
+#update-menu-item { color: #fff !important; }
+#update-menu-item:hover,
+#update-menu-item:active,
+#update-menu-item:focus { color: #eaf2fa !important; border-color: #13455b !important; }
+
+/* Major/minor publishing actions (classes) */
+.major-publishing-actions {
+ clear:both;
+ padding: 5px 10px;
+}
+.major-publishing-actions .publishing-action {
+ text-align: right;
+ float: right;
+ line-height: 23px;
+ margin: 5px 0 1px;
+}
+.major-publishing-actions .delete-action {
+ vertical-align: middle;
+ text-align: left;
+ float: left;
+ padding-right: 15px;
+ margin-top: 5px;
+}
+.menu-name-label span, .auto-add-pages label {
+ font-size: 11px;
+ font-style: normal;
+}
+.menu-name-label {
+ margin-right: 15px;
+}
+.auto-add-pages input {
+ margin-top: 0;
+}
+.auto-add-pages {
+ margin-top: 4px;
+ float: left;
+}
+.submitbox .submitcancel {
+ color: #21759B;
+ border-bottom: 1px solid #21759B;
+ padding: 1px 2px;
+ text-decoration: none;
+}
+.submitbox .submitcancel:hover {
+ background: #21759B;
+ color: #fff;
+}
+
+.major-publishing-actions .form-invalid {
+ border-radius: 4px;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ -khtml-border-radius: 4px;
+ padding-left: 4px;
+ margin-left: -4px;
+}
+
+/* Clearfix */
+#menu-item-name-wrap:after,
+#menu-item-url-wrap:after,
+#menu-name-label:after,
+#menu-settings-column .inside:after,
+#nav-menus-frame:after,
+#post-body-content:after,
+.button-controls:after,
+.major-publishing-actions:after,
+.menu-item-settings:after {
+ clear: both;
+ content: ".";
+ display: block;
+ height: 0;
+ visibility: hidden;
+}
+#nav-menus-frame, .button-controls, #menu-item-url-wrap, #menu-item-name-wrap { display: block; }
diff --git a/wp-admin/css/plugin-install-rtl.css b/wp-admin/css/plugin-install-rtl.css
index 9a6dd11d..f1ade77e 100644
--- a/wp-admin/css/plugin-install-rtl.css
+++ b/wp-admin/css/plugin-install-rtl.css
@@ -1,43 +1 @@
-div.star {
- left: auto;
- right: 0;
- letter-spacing: 0;
-}
-.star img, div.star a, div.star a:hover, div.star a:visited {
- right: auto;
- left: 0;
-}
-#plugin-information ul#sidemenu {
- left: auto;
- right: 0;
-}
-#plugin-information h2 {
- margin-right: 0;
- margin-left: 200px;
-}
-#plugin-information .fyi {
- margin-left: 5px;
- margin-right: 20px;
-}
-#plugin-information .fyi h2 {
- margin-left: 0;
-}
-#plugin-information .fyi ul {
- padding: 10px 7px 10px 5px;
-}
-#plugin-information #section-screenshots li p {
- padding-left: 0;
- padding-right: 20px;
-}
-#plugin-information .updated,
-#plugin-information pre {
- margin-right: 0;
- margin-left: 215px;
-}
-#plugin-information .updated, #plugin-information .error {
- clear: none;
- direction: rtl;
-}
-#section-description {
- direction: ltr;
-}
+div.star{left:auto;right:0;letter-spacing:0;}.star img,div.star a,div.star a:hover,div.star a:visited{right:auto;left:0;}#plugin-information ul#sidemenu{left:auto;right:0;}#plugin-information h2{margin-right:0;margin-left:200px;}#plugin-information .fyi{margin-left:5px;margin-right:20px;}#plugin-information .fyi h2{margin-left:0;}#plugin-information .fyi ul{padding:10px 7px 10px 5px;}#plugin-information #section-screenshots li p{padding-left:0;padding-right:20px;}#plugin-information .updated,#plugin-information pre{margin-right:0;margin-left:215px;}#plugin-information .updated,#plugin-information .error{clear:none;direction:rtl;}#section-description{direction:ltr;}
\ No newline at end of file
diff --git a/wp-admin/css/plugin-install-rtl.dev.css b/wp-admin/css/plugin-install-rtl.dev.css
new file mode 100644
index 00000000..9a6dd11d
--- /dev/null
+++ b/wp-admin/css/plugin-install-rtl.dev.css
@@ -0,0 +1,43 @@
+div.star {
+ left: auto;
+ right: 0;
+ letter-spacing: 0;
+}
+.star img, div.star a, div.star a:hover, div.star a:visited {
+ right: auto;
+ left: 0;
+}
+#plugin-information ul#sidemenu {
+ left: auto;
+ right: 0;
+}
+#plugin-information h2 {
+ margin-right: 0;
+ margin-left: 200px;
+}
+#plugin-information .fyi {
+ margin-left: 5px;
+ margin-right: 20px;
+}
+#plugin-information .fyi h2 {
+ margin-left: 0;
+}
+#plugin-information .fyi ul {
+ padding: 10px 7px 10px 5px;
+}
+#plugin-information #section-screenshots li p {
+ padding-left: 0;
+ padding-right: 20px;
+}
+#plugin-information .updated,
+#plugin-information pre {
+ margin-right: 0;
+ margin-left: 215px;
+}
+#plugin-information .updated, #plugin-information .error {
+ clear: none;
+ direction: rtl;
+}
+#section-description {
+ direction: ltr;
+}
diff --git a/wp-admin/css/plugin-install.css b/wp-admin/css/plugin-install.css
index defbb4f2..a5c27825 100644
--- a/wp-admin/css/plugin-install.css
+++ b/wp-admin/css/plugin-install.css
@@ -1 +1 @@
-div.star-holder{position:relative;height:19px;width:100px;font-size:19px;}div.star{height:100%;position:absolute;top:0;left:0;background-color:transparent;letter-spacing:1ex;border:none;}.star1{width:20%;}.star2{width:40%;}.star3{width:60%;}.star4{width:80%;}.star5{width:100%;}.star img,div.star a,div.star a:hover,div.star a:visited{display:block;position:absolute;right:0;border:none;text-decoration:none;}div.star img{width:19px;height:19px;border-left:1px solid #fff;border-right:1px solid #fff;}#plugin-information-header{margin:0;padding:0 5px;font-weight:bold;position:relative;border-bottom-width:1px;border-bottom-style:solid;height:2.5em;}#plugin-information ul#sidemenu{font-weight:normal;margin:0 5px;position:absolute;left:0;bottom:-1px;}#plugin-information p.action-button{width:100%;padding-bottom:0;margin-bottom:0;margin-top:10px;-moz-border-radius:3px 0 0 3px;-webkit-border-top-left-radius:3px;-khtml-border-top-left-radius:3px;border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;-khtml-border-bottom-left-radius:3px;border-bottom-left-radius:3px;}#plugin-information .action-button a{text-align:center;font-weight:bold;text-decoration:none;display:block;line-height:2em;}#plugin-information h2{clear:none!important;margin-right:200px;}#plugin-information .fyi{margin:0 10px 50px;width:210px;}#plugin-information .fyi h2{font-size:.9em;margin-bottom:0;margin-right:0;}#plugin-information .fyi h2.mainheader{padding:5px;-moz-border-radius-topleft:3px;-webkit-border-top-left-radius:3px;-khtml-border-top-left-radius:3px;border-top-left-radius:3px;}#plugin-information .fyi ul{padding:10px 5px 10px 7px;margin:0;list-style:none;-moz-border-radius-bottomleft:3px;-webkit-border-bottom-left-radius:3px;-khtml-border-bottom-left-radius:3px;border-bottom-left-radius:3px;}#plugin-information .fyi li{margin-right:0;}#plugin-information #section-holder{padding:10px;}#plugin-information .section ul,#plugin-information .section ol{margin-left:16px;list-style-type:square;list-style-image:none;}#plugin-information #section-screenshots li img{vertical-align:text-top;}#plugin-information #section-screenshots li p{font-style:italic;padding-left:20px;padding-bottom:2em;}#plugin-information .updated,#plugin-information pre{margin-right:215px;}#plugin-information pre{padding:7px;}
\ No newline at end of file
+div.star-holder{position:relative;height:19px;width:100px;font-size:19px;}div.action-links{font-weight:normal;margin:6px 0 0;}div.star{height:100%;position:absolute;top:0;left:0;background-color:transparent;letter-spacing:1ex;border:none;}.star1{width:20%;}.star2{width:40%;}.star3{width:60%;}.star4{width:80%;}.star5{width:100%;}.star img,div.star a,div.star a:hover,div.star a:visited{display:block;position:absolute;right:0;border:none;text-decoration:none;}div.star img{width:19px;height:19px;border-left:1px solid #fff;border-right:1px solid #fff;}table#install-plugins th.num{white-space:nowrap;}#plugin-information-header{margin:0;padding:0 5px;font-weight:bold;position:relative;border-bottom-width:1px;border-bottom-style:solid;height:2.5em;}#plugin-information ul#sidemenu{font-weight:normal;margin:0 5px;position:absolute;left:0;bottom:-1px;}#plugin-information p.action-button{width:100%;padding-bottom:0;margin-bottom:0;margin-top:10px;-moz-border-radius:3px 0 0 3px;-webkit-border-top-left-radius:3px;-khtml-border-top-left-radius:3px;border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;-khtml-border-bottom-left-radius:3px;border-bottom-left-radius:3px;}#plugin-information .action-button a{text-align:center;font-weight:bold;text-decoration:none;display:block;line-height:2em;}#plugin-information h2{clear:none!important;margin-right:200px;}#plugin-information .fyi{margin:0 10px 50px;width:210px;}#plugin-information .fyi h2{font-size:.9em;margin-bottom:0;margin-right:0;}#plugin-information .fyi h2.mainheader{padding:5px;-moz-border-radius-topleft:3px;-webkit-border-top-left-radius:3px;-khtml-border-top-left-radius:3px;border-top-left-radius:3px;}#plugin-information .fyi ul{padding:10px 5px 10px 7px;margin:0;list-style:none;-moz-border-radius-bottomleft:3px;-webkit-border-bottom-left-radius:3px;-khtml-border-bottom-left-radius:3px;border-bottom-left-radius:3px;}#plugin-information .fyi li{margin-right:0;}#plugin-information #section-holder{padding:10px;}#plugin-information .section ul,#plugin-information .section ol{margin-left:16px;list-style-type:square;list-style-image:none;}#plugin-information #section-screenshots li img{vertical-align:text-top;}#plugin-information #section-screenshots li p{font-style:italic;padding-left:20px;padding-bottom:2em;}#plugin-information .updated,#plugin-information pre{margin-right:215px;}#plugin-information pre{padding:7px;}
\ No newline at end of file
diff --git a/wp-admin/css/plugin-install.dev.css b/wp-admin/css/plugin-install.dev.css
index 87fc417c..368f953c 100644
--- a/wp-admin/css/plugin-install.dev.css
+++ b/wp-admin/css/plugin-install.dev.css
@@ -6,6 +6,11 @@ div.star-holder {
font-size: 19px;
}
+div.action-links {
+ font-weight: normal;
+ margin: 6px 0 0;
+}
+
div.star {
height: 100%;
position: absolute;
@@ -37,7 +42,11 @@ div.star img {
border-right: 1px solid #fff;
}
-/* Start custom CSS */
+/* Table layout CSS */
+table#install-plugins th.num {
+ white-space: nowrap; /* Prevents long plugin titles from causing the version column to wrap */
+}
+
/* Header on thickbox */
#plugin-information-header {
margin: 0;
diff --git a/wp-admin/css/press-this-rtl.css b/wp-admin/css/press-this-rtl.css
index 9f4a37ef..0f378c62 100644
--- a/wp-admin/css/press-this-rtl.css
+++ b/wp-admin/css/press-this-rtl.css
@@ -1,128 +1 @@
-body {
- font-family: Tahoma, Arial;
-}
-
-#poststuff #edButtonPreview,
-#poststuff #edButtonHTML {
- margin: 0 0 0 5px;
- float: right;
-}
-
-/* Editor/Main Column */
-div#poststuff {
- padding-left: 0;
- padding-right: 10px;
-}
-
-.posting {
- margin-right: 0;
- margin-left: 228px;
- left: auto;
- right: 0;
-}
-
-#side-info-column {
- float: left;
- right: auto;
- left: 0;
- margin-right: 0;
- margin-left: 10px;
-}
-
-#side-info-column .sleeve {
- padding-left: 0;
- padding-right: 10px;
-}
-
-h3.tb {
- margin-left: 0;
- margin-right: 5px;
-}
-
-#actions {
- float: left;
-}
-
-#extra_fields #actions {
- right: auto;
- left: 4px;
-}
-
-#actions li {
- float: right;
- margin-right: 0;
- margin-left: 10px;
-}
-
-#extra_fields .button {
- margin-right: 0;
- margin-left: 5px;
-}
-
-/* Photo Styles */
-#img_container a {
- float: right;
-}
-
-#category-add input, #category-add select {
- font-family: Tahoma, Arial;
-}
-
-#categorydiv ul.categorychecklist ul {
- margin-left: 0;
- margin-right: 18px;
-}
-
-/* Tags */
-#tagsdiv #newtag {
- margin-right: 0;
- margin-left: 5px;
-}
-
-#tagadd {
- margin-left: 0;
- margin-right: 3px;
-}
-
-#tagchecklist span {
- margin-left: .5em;
- margin-right: 10px;
- float: right;
-}
-#tagchecklist span a {
- margin: 6px -9px 0 0;
- float: right;
-}
-
-#content {
- margin-left: 0;
- margin-right: 1%;
-}
-
-.submit input,
-.button,
-.button-primary,
-.button-secondary,
-.button-highlighted,
-#postcustomstuff .submit input {
- font-family: Tahoma, Arial, sans-serif;
-}
-
-.ac_results li {
- text-align: right;
-}
-
-#TB_ajaxContent #options {
- right: auto;
- left: 25px;
-}
-
-#post_status {
- margin-left: 0;
- margin-right: 10px;
-}
-
-/* Footer */
-#footer {
- padding: 10px 60px 0 0;
-}
+body{font-family:Tahoma,Arial;}#poststuff #edButtonPreview,#poststuff #edButtonHTML{margin:0 0 0 5px;float:right;}div#poststuff{padding-left:0;padding-right:10px;}.posting{margin-right:0;margin-left:228px;left:auto;right:0;}#side-info-column{float:left;right:auto;left:0;margin-right:0;margin-left:10px;}#side-info-column .sleeve{padding-left:0;padding-right:10px;}h3.tb{margin-left:0;margin-right:5px;}#actions{float:left;}#extra_fields #actions{right:auto;left:4px;}#actions li{float:right;margin-right:0;margin-left:10px;}#extra_fields .button{margin-right:0;margin-left:5px;}#img_container a{float:right;}#category-add input,#category-add select{font-family:Tahoma,Arial;}.inline-editor ul.cat-checklist ul,.categorydiv ul.categorychecklist ul,#linkcategorydiv ul.categorychecklist ul{margin-left:0;margin-right:18px;}#tagsdiv #newtag{margin-right:0;margin-left:5px;}#tagadd{margin-left:0;margin-right:3px;}#tagchecklist span{margin-left:.5em;margin-right:10px;float:right;}#tagchecklist span a{margin:6px -9px 0 0;float:right;}#content{margin-left:0;margin-right:1%;}.submit input,.button,.button-primary,.button-secondary,.button-highlighted,#postcustomstuff .submit input{font-family:Tahoma,Arial,sans-serif;}.ac_results li{text-align:right;}#TB_ajaxContent #options{right:auto;left:25px;}#post_status{margin-left:0;margin-right:10px;}#footer{padding:10px 60px 0 0;}
\ No newline at end of file
diff --git a/wp-admin/css/press-this-rtl.dev.css b/wp-admin/css/press-this-rtl.dev.css
new file mode 100644
index 00000000..b056591c
--- /dev/null
+++ b/wp-admin/css/press-this-rtl.dev.css
@@ -0,0 +1,130 @@
+body {
+ font-family: Tahoma, Arial;
+}
+
+#poststuff #edButtonPreview,
+#poststuff #edButtonHTML {
+ margin: 0 0 0 5px;
+ float: right;
+}
+
+/* Editor/Main Column */
+div#poststuff {
+ padding-left: 0;
+ padding-right: 10px;
+}
+
+.posting {
+ margin-right: 0;
+ margin-left: 228px;
+ left: auto;
+ right: 0;
+}
+
+#side-info-column {
+ float: left;
+ right: auto;
+ left: 0;
+ margin-right: 0;
+ margin-left: 10px;
+}
+
+#side-info-column .sleeve {
+ padding-left: 0;
+ padding-right: 10px;
+}
+
+h3.tb {
+ margin-left: 0;
+ margin-right: 5px;
+}
+
+#actions {
+ float: left;
+}
+
+#extra_fields #actions {
+ right: auto;
+ left: 4px;
+}
+
+#actions li {
+ float: right;
+ margin-right: 0;
+ margin-left: 10px;
+}
+
+#extra_fields .button {
+ margin-right: 0;
+ margin-left: 5px;
+}
+
+/* Photo Styles */
+#img_container a {
+ float: right;
+}
+
+#category-add input, #category-add select {
+ font-family: Tahoma, Arial;
+}
+
+.inline-editor ul.cat-checklist ul,
+.categorydiv ul.categorychecklist ul,
+#linkcategorydiv ul.categorychecklist ul {
+ margin-left: 0;
+ margin-right: 18px;
+}
+
+/* Tags */
+#tagsdiv #newtag {
+ margin-right: 0;
+ margin-left: 5px;
+}
+
+#tagadd {
+ margin-left: 0;
+ margin-right: 3px;
+}
+
+#tagchecklist span {
+ margin-left: .5em;
+ margin-right: 10px;
+ float: right;
+}
+#tagchecklist span a {
+ margin: 6px -9px 0 0;
+ float: right;
+}
+
+#content {
+ margin-left: 0;
+ margin-right: 1%;
+}
+
+.submit input,
+.button,
+.button-primary,
+.button-secondary,
+.button-highlighted,
+#postcustomstuff .submit input {
+ font-family: Tahoma, Arial, sans-serif;
+}
+
+.ac_results li {
+ text-align: right;
+}
+
+#TB_ajaxContent #options {
+ right: auto;
+ left: 25px;
+}
+
+#post_status {
+ margin-left: 0;
+ margin-right: 10px;
+}
+
+/* Footer */
+#footer {
+ padding: 10px 60px 0 0;
+}
diff --git a/wp-admin/css/press-this.css b/wp-admin/css/press-this.css
index 46590f3c..8c72aa77 100644
--- a/wp-admin/css/press-this.css
+++ b/wp-admin/css/press-this.css
@@ -1 +1 @@
-body{font:13px "Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;color:#333;margin:0;padding:0;min-width:675px;min-height:400px;}img{border:none;}#wphead{border-top:none;padding-top:4px;background:#444!important;}.tagchecklist span a{background:transparent url(../images/xit.gif) no-repeat 0 0;}#poststuff #edButtonPreview,#poststuff #edButtonHTML{-moz-border-radius:3px 3px 0 0;-webkit-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;-khtml-border-top-right-radius:3px;-khtml-border-top-left-radius:3px;border-top-right-radius:3px;border-top-left-radius:3px;border-style:solid;border-width:1px;cursor:pointer;display:block;height:18px;margin:0 5px 0 0;padding:0 5px 0;font-size:10px;line-height:18px;float:left;}.howto{margin-top:2px;margin-bottom:3px;font-size:11px;font-style:italic;display:block;}input.text{outline-color:-moz-use-text-color;outline-style:none;outline-width:medium;width:100%;}#message{-moz-border-radius:6px;-khtml-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;}div#poststuff{margin:10px;}div.zerosize{border:0 none;height:0;margin:0;overflow:hidden;padding:0;width:0;}#poststuff #edButtonPreview.active,#poststuff #edButtonHTML.active{display:none;}.posting{margin-right:212px;position:relative;}#side-info-column{float:right;width:200px;position:relative;right:0;}#side-info-column .sleeve{padding-top:5px;}#poststuff .inside{font-size:11px;margin:8px;}#poststuff h2,#poststuff h3{font-size:12px;font-weight:bold;line-height:1;margin:0;padding:7px 9px;}#tagsdiv-post_tag h3,#categorydiv h3{cursor:pointer;}h3.tb{text-shadow:0 1px 0 #fff;font-weight:bold;font-size:12px;margin-left:5px;}#TB_window{border:1px solid #333;-moz-border-radius:6px;-khtml-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;}.postbox,.stuffbox{margin-bottom:10px;border-width:1px;border-style:solid;line-height:1;-moz-border-radius:6px;-khtml-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;}.stuffbox:hover .handlediv{background:transparent url(../images/menu-bits-vs.gif) no-repeat scroll left -111px;}.handlediv{float:right;height:26px;width:23px;}#title,.tbtitle{-moz-border-radius:6px;-khtml-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;border-style:solid;border-width:1px;font-size:1.7em;outline:none;padding:3px 4px;border-color:#dfdfdf;}.tbtitle{font-size:12px;padding:3px;}#title{width:97%;}.editor-container{-moz-border-radius:6px;-khtml-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;border:1px solid #dfdfdf;background-color:#fff;}.postdivrich{padding-top:25px;position:relative;}.actions{float:right;margin:-19px 0 0;}#extra-fields .actions{margin:-15px -5px 0 0;}.actions li{float:left;list-style:none;margin-right:10px;}#extra-fields .button{margin-right:5px;padding:3px 6px;border-radius:10px;-webkit-border-radius:10px;-khtml-border-radius:10px;-moz-border-radius:10px;}.photolist{margin-top:-10px;}#photo_saving{margin:0 8px 8px;vertical-align:middle;}#img_container{background-color:#fff;}#img_container_container{overflow:auto;}#extra-fields{margin-top:10px;position:relative;}#waiting{margin-top:10px;}#extra-fields .postbox{margin-bottom:5px;}#extra-fields .titlewrap{padding:0;overflow:auto;height:100px;}#img_container a{display:block;float:left;overflow:hidden;vertical-align:center;}#img_container img,#img_container a{width:68px;height:68px;}#img_container img{border:none;background-color:#f4f4f4;cursor:pointer;}#img_container a,#img_container a:link,#img_container a:visited{border:1px solid #ccc;display:block;position:relative;}#img_container a:hover,#img_container a:active{border-color:#000;z-index:1000;border-width:2px;margin:-1px;}#embed-code{width:100%;height:98px;}#viewsite{padding:0;margin:0 0 20px 5px;font-size:10px;clear:both;}.wp-hidden-children .wp-hidden-child{display:none;}#category-adder{padding:4px 0;}#category-adder h4{margin:0 0 8px;}#category-add input{width:94%;font-family:Verdana,Arial,Helvetica,sans-serif;font-size:13px;margin:1px;padding:3px;}#category-add select{width:70%;-x-system-font:none;border-style:solid;border-width:1px;font-family:"Lucida Grande","Bitstream Vera Sans",Verdana,Arial,sans-serif;font-size:12px;height:2em;line-height:20px;padding:2px;margin:1px;vertical-align:top;}#category-add input,#category-add-sumbit{width:auto;}#categorydiv ul,#linkcategorydiv ul{list-style:none;padding:0;margin:0;}#categorydiv ul.categorychecklist ul{margin-left:18px;}#categorydiv div.tabs-panel{height:140px;overflow:auto;}ul.categorychecklist li{margin:0;padding:0;line-height:19px;}.screen-reader-text{display:none;}.tagsdiv .newtag{margin-right:5px;}.jaxtag{clear:both;margin:0;}.tagadd{margin-left:3px;}.tagchecklist{margin-top:3px;margin-bottom:1em;font-size:12px;overflow:auto;}.tagchecklist strong{position:absolute;font-size:.75em;}.tagchecklist span{margin-right:.5em;margin-left:10px;display:block;float:left;font-size:11px;line-height:1.8em;white-space:nowrap;cursor:default;}.tagchecklist span a{margin:6px 0 0 -9px;cursor:pointer;width:10px;height:10px;display:block;float:left;text-indent:-9999px;overflow:hidden;position:absolute;}#content{margin:5px 0;padding:0 5px;border:0 none;height:365px;width:97%!important;}* html .postdivrich{zoom:1;}#saving{display:inline;vertical-align:middle;}.submit input,.button,.button-primary,.button-secondary,.button-highlighted,#postcustomstuff .submit input{font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;text-decoration:none;font-size:11px!important;line-height:16px;padding:2px 8px;cursor:pointer;border-width:1px;border-style:solid;-moz-border-radius:11px;-khtml-border-radius:11px;-webkit-border-radius:11px;border-radius:11px;}.button-primary{background:#21759B url(../images/button-grad.png) repeat-x scroll left top;border-color:#21759B;color:#fff;}.ac_results{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;display:none;border-width:1px;border-style:solid;}.ac_results li{padding:2px 5px;white-space:nowrap;text-align:left;}.ac_over{cursor:pointer;}.ac_match{text-decoration:underline;}#TB_ajaxContent #options{position:absolute;top:20px;right:25px;padding:5px;}#TB_ajaxContent h3{margin-bottom:.25em;}.updated{margin:10px 0;padding:0;border-width:1px;border-style:solid;width:99%;}.updated p,.error p{margin:.6em 0;padding:0 .6em;}.error a{text-decoration:underline;}.updated a{text-decoration:none;padding-bottom:2px;}#post_status{margin-left:10px;margin-bottom:1em;display:block;}#footer{height:65px;display:block;width:640px;padding:10px 0 0 60px;margin:0;position:absolute;bottom:0;font-size:12px;}#footer p{margin:0;padding:7px 0;}#footer p a{text-decoration:none;}#footer p a:hover{text-decoration:underline;}.centered{text-align:center;}.hidden{display:none;}.postbox input[type="text"],.postbox textarea,.stuffbox input[type="text"],.stuffbox textarea{border-width:1px;border-style:solid;}.taghint{color:#aaa;margin:-17px 0 0 7px;visibility:hidden;}input.newtag ~ div.taghint{visibility:visible;}input.newtag:focus ~ div.taghint{visibility:hidden;}
\ No newline at end of file
+body{font:13px "Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;color:#333;margin:0;padding:0;min-width:675px;min-height:400px;}img{border:none;}#wphead{border-top:none;padding-top:4px;background:#444!important;}.tagchecklist span a{background:transparent url(../images/xit.gif) no-repeat 0 0;}#poststuff #edButtonPreview,#poststuff #edButtonHTML{-moz-border-radius:3px 3px 0 0;-webkit-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;-khtml-border-top-right-radius:3px;-khtml-border-top-left-radius:3px;border-top-right-radius:3px;border-top-left-radius:3px;border-style:solid;border-width:1px;cursor:pointer;display:block;height:18px;margin:0 5px 0 0;padding:0 5px 0;font-size:10px;line-height:18px;float:left;}.howto{margin-top:2px;margin-bottom:3px;font-size:11px;font-style:italic;display:block;}input.text{outline-color:-moz-use-text-color;outline-style:none;outline-width:medium;width:100%;}#message{-moz-border-radius:6px;-khtml-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;}div#poststuff{margin:10px;}div.zerosize{border:0 none;height:0;margin:0;overflow:hidden;padding:0;width:0;}#poststuff #edButtonPreview.active,#poststuff #edButtonHTML.active{display:none;}.posting{margin-right:212px;position:relative;}#side-info-column{float:right;width:200px;position:relative;right:0;}#side-info-column .sleeve{padding-top:5px;}#poststuff .inside{font-size:11px;margin:8px;}#poststuff h2,#poststuff h3{font-size:12px;font-weight:bold;line-height:1;margin:0;padding:7px 9px;}#tagsdiv-post_tag h3,#categorydiv h3{cursor:pointer;}h3.tb{text-shadow:0 1px 0 #fff;font-weight:bold;font-size:12px;margin-left:5px;}#TB_window{border:1px solid #333;-moz-border-radius:6px;-khtml-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;}.postbox,.stuffbox{margin-bottom:10px;border-width:1px;border-style:solid;line-height:1;-moz-border-radius:6px;-khtml-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;}.postbox:hover .handlediv,.stuffbox:hover .handlediv{background:transparent url(../images/menu-bits-vs.gif) no-repeat scroll left -111px;}.handlediv{float:right;height:26px;width:23px;}#title,.tbtitle{-moz-border-radius:6px;-khtml-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;border-style:solid;border-width:1px;font-size:1.7em;outline:none;padding:3px 4px;border-color:#dfdfdf;}.tbtitle{font-size:12px;padding:3px;}#title{width:97%;}.editor-container{-moz-border-radius:6px;-khtml-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;border:1px solid #dfdfdf;background-color:#fff;}.postdivrich{padding-top:25px;position:relative;}.actions{float:right;margin:-19px 0 0;}#extra-fields .actions{margin:-15px -5px 0 0;}.actions li{float:left;list-style:none;margin-right:10px;}#extra-fields .button{margin-right:5px;padding:3px 6px;border-radius:10px;-webkit-border-radius:10px;-khtml-border-radius:10px;-moz-border-radius:10px;}.photolist{margin-top:-10px;}#photo_saving{margin:0 8px 8px;vertical-align:middle;}#img_container{background-color:#fff;}#img_container_container{overflow:auto;}#extra-fields{margin-top:10px;position:relative;}#waiting{margin-top:10px;}#extra-fields .postbox{margin-bottom:5px;}#extra-fields .titlewrap{padding:0;overflow:auto;height:100px;}#img_container a{display:block;float:left;overflow:hidden;vertical-align:center;}#img_container img,#img_container a{width:68px;height:68px;}#img_container img{border:none;background-color:#f4f4f4;cursor:pointer;}#img_container a,#img_container a:link,#img_container a:visited{border:1px solid #ccc;display:block;position:relative;}#img_container a:hover,#img_container a:active{border-color:#000;z-index:1000;border-width:2px;margin:-1px;}#embed-code{width:100%;height:98px;}#viewsite{padding:0;margin:0 0 20px 5px;font-size:10px;clear:both;}.wp-hidden-children .wp-hidden-child{display:none;}.category-add input{width:94%;font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;font-size:12px;margin:1px;}.category-add select{width:100%;-x-system-font:none;border-style:solid;border-width:1px;font-family:"Lucida Grande","Bitstream Vera Sans",Verdana,Arial,sans-serif;font-size:11px;height:2em;line-height:20px;padding:2px;margin:1px;vertical-align:top;}.category-add input.category-add-sumbit{width:auto;}.categorydiv div.tabs-panel,#linkcategorydiv div.tabs-panel{height:100px;overflow:auto;padding:.5em .9em;border-style:solid;border-width:1px;}.category-tabs li{display:inline;padding-right:8px;}.category-tabs a{text-decoration:none;}.categorydiv ul,#linkcategorydiv ul{list-style:none;padding:0;margin:0;}.inline-editor ul.cat-checklist ul,.categorydiv ul.categorychecklist ul,#linkcategorydiv ul.categorychecklist ul{margin-left:18px;}ul.categorychecklist li{margin:0;padding:0;line-height:19px;}.categorydiv .tabs-panel{border-width:3px;border-style:solid;}ul.category-tabs{margin-top:12px;margin-bottom:6px;}ul.category-tabs li.tabs{border-style:solid solid none;border-width:1px 1px 0;}ul.category-tabs li{padding:5px 8px;-moz-border-radius:3px 3px 0 0;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-khtml-border-top-left-radius:3px;-khtml-border-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px;}.screen-reader-text{display:none;}.tagsdiv .newtag{margin-right:5px;}.jaxtag{clear:both;margin:0;}.tagadd{margin-left:3px;}.tagchecklist{margin-top:3px;margin-bottom:1em;font-size:12px;overflow:auto;}.tagchecklist strong{position:absolute;font-size:.75em;}.tagchecklist span{margin-right:.5em;margin-left:10px;display:block;float:left;font-size:11px;line-height:1.8em;white-space:nowrap;cursor:default;}.tagchecklist span a{margin:6px 0 0 -9px;cursor:pointer;width:10px;height:10px;display:block;float:left;text-indent:-9999px;overflow:hidden;position:absolute;}#content{margin:5px 0;padding:0 5px;border:0 none;height:365px;width:97%!important;}* html .postdivrich{zoom:1;}#saving{display:inline;vertical-align:middle;}.submit input,.button,.button-primary,.button-secondary,.button-highlighted,#postcustomstuff .submit input{font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;text-decoration:none;font-size:11px!important;line-height:16px;padding:2px 8px;cursor:pointer;border-width:1px;border-style:solid;-moz-border-radius:11px;-khtml-border-radius:11px;-webkit-border-radius:11px;border-radius:11px;}.button-primary{background:#21759B url(../images/button-grad.png) repeat-x scroll left top;border-color:#21759B;color:#fff;}.ac_results{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;display:none;border-width:1px;border-style:solid;}.ac_results li{padding:2px 5px;white-space:nowrap;text-align:left;}.ac_over{cursor:pointer;}.ac_match{text-decoration:underline;}#TB_ajaxContent #options{position:absolute;top:20px;right:25px;padding:5px;}#TB_ajaxContent h3{margin-bottom:.25em;}.updated{margin:10px 0;padding:0;border-width:1px;border-style:solid;width:99%;}.updated p,.error p{margin:.6em 0;padding:0 .6em;}.error a{text-decoration:underline;}.updated a{text-decoration:none;padding-bottom:2px;}#post_status{margin-left:10px;margin-bottom:1em;display:block;}#footer{height:65px;display:block;width:640px;padding:10px 0 0 60px;margin:0;position:absolute;bottom:0;font-size:12px;}#footer p{margin:0;padding:7px 0;}#footer p a{text-decoration:none;}#footer p a:hover{text-decoration:underline;}.centered{text-align:center;}.hidden{display:none;}.postbox input[type="text"],.postbox textarea,.stuffbox input[type="text"],.stuffbox textarea{border-width:1px;border-style:solid;}.taghint{color:#aaa;margin:-17px 0 0 7px;visibility:hidden;}input.newtag ~ div.taghint{visibility:visible;}input.newtag:focus ~ div.taghint{visibility:hidden;}
\ No newline at end of file
diff --git a/wp-admin/css/press-this.dev.css b/wp-admin/css/press-this.dev.css
index 4bb4d5c1..a72ea3e6 100644
--- a/wp-admin/css/press-this.dev.css
+++ b/wp-admin/css/press-this.dev.css
@@ -1,4 +1,3 @@
-
body {
font: 13px "Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;
color: #333;
@@ -146,8 +145,9 @@ h3.tb {
border-radius: 6px;
}
+.postbox:hover .handlediv,
.stuffbox:hover .handlediv {
- background: transparent url(../images/menu-bits-vs.gif) no-repeat scroll left -111px;
+ background: transparent url(../images/menu-bits-vs.gif) no-repeat scroll left -111px;
}
.handlediv {
@@ -308,29 +308,22 @@ h3.tb {
display: none;
}
-#category-adder {
- padding: 4px 0;
-}
-
-#category-adder h4 {
- margin: 0 0 8px;
-}
+/* Categories */
-#category-add input {
+.category-add input {
width: 94%;
- font-family: Verdana,Arial,Helvetica,sans-serif;
- font-size: 13px;
+ font-family: "Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;
+ font-size: 12px;
margin: 1px;
- padding: 3px;
}
-#category-add select {
- width: 70%;
+.category-add select {
+ width: 100%;
-x-system-font: none;
border-style: solid;
border-width: 1px;
font-family: "Lucida Grande","Bitstream Vera Sans",Verdana,Arial,sans-serif;
- font-size: 12px;
+ font-size: 11px;
height: 2em;
line-height: 20px;
padding: 2px;
@@ -338,34 +331,73 @@ h3.tb {
vertical-align: top;
}
-#category-add input,
-#category-add-sumbit {
+.category-add input.category-add-sumbit {
width: auto;
}
-/* Categories */
-#categorydiv ul,
+.categorydiv div.tabs-panel,
+#linkcategorydiv div.tabs-panel {
+ height: 100px;
+ overflow: auto;
+ padding: 0.5em 0.9em;
+ border-style: solid;
+ border-width: 1px;
+}
+
+.category-tabs li {
+ display: inline;
+ padding-right: 8px;
+}
+
+.category-tabs a {
+ text-decoration: none;
+}
+
+.categorydiv ul,
#linkcategorydiv ul {
list-style: none;
padding: 0;
margin: 0;
}
-#categorydiv ul.categorychecklist ul {
+.inline-editor ul.cat-checklist ul,
+.categorydiv ul.categorychecklist ul,
+#linkcategorydiv ul.categorychecklist ul {
margin-left: 18px;
}
-#categorydiv div.tabs-panel {
- height: 140px;
- overflow: auto;
-}
-
ul.categorychecklist li {
margin: 0;
padding: 0;
line-height: 19px;
}
+.categorydiv .tabs-panel {
+ border-width: 3px;
+ border-style: solid;
+}
+
+ul.category-tabs {
+ margin-top: 12px;
+ margin-bottom: 6px;
+}
+
+ul.category-tabs li.tabs {
+ border-style: solid solid none;
+ border-width: 1px 1px 0;
+}
+
+ul.category-tabs li {
+ padding: 5px 8px;
+ -moz-border-radius: 3px 3px 0 0;
+ -webkit-border-top-left-radius: 3px;
+ -webkit-border-top-right-radius: 3px;
+ -khtml-border-top-left-radius: 3px;
+ -khtml-border-top-right-radius: 3px;
+ border-top-left-radius: 3px;
+ border-top-right-radius: 3px;
+}
+
/* Tags */
.screen-reader-text {
display: none;
diff --git a/wp-admin/css/theme-editor-rtl.css b/wp-admin/css/theme-editor-rtl.css
index a4dcb46e..23023dff 100644
--- a/wp-admin/css/theme-editor-rtl.css
+++ b/wp-admin/css/theme-editor-rtl.css
@@ -1,3 +1 @@
-#templateside {
- float: left;
-}
+#templateside{float: left;}
diff --git a/wp-admin/css/theme-editor-rtl.dev.css b/wp-admin/css/theme-editor-rtl.dev.css
new file mode 100644
index 00000000..a4dcb46e
--- /dev/null
+++ b/wp-admin/css/theme-editor-rtl.dev.css
@@ -0,0 +1,3 @@
+#templateside {
+ float: left;
+}
diff --git a/wp-admin/css/theme-editor.css b/wp-admin/css/theme-editor.css
index c0bb2dcb..fdfdbbee 100644
--- a/wp-admin/css/theme-editor.css
+++ b/wp-admin/css/theme-editor.css
@@ -1 +1 @@
-#template textarea{font-family:Consolas,Monaco,Courier,monospace;font-size:12px;width:97%;}#template p{width:97%;}#templateside{float:right;width:190px;word-wrap:break-word;}#templateside h3,#postcustomstuff p.submit{margin:0;}#templateside h4{margin:1em 0 0;}#templateside ol,#templateside ul{margin:.5em;padding:0;}#templateside li{margin:4px 0;}.nonessential{font-size:small;}.highlight{padding:1px;}div.tablenav{margin-right:210px;}#documentation{margin-top:10px;}#documentation label{line-height:22px;vertical-align:top;font-weight:bold;}.fileedit-sub{padding:10px 0 8px;line-height:180%;}
\ No newline at end of file
+#template textarea{font-family:Consolas,Monaco,Courier,monospace;font-size:12px;width:97%;}#template p{width:97%;}#templateside{float:right;width:190px;word-wrap:break-word;}#templateside h3,#postcustomstuff p.submit{margin:0;}#templateside h4{margin:1em 0 0;}#templateside ol,#templateside ul{margin:.5em;padding:0;}#templateside li{margin:4px 0;}#templateside ul li a span.highlight{display:block;}.nonessential{font-size:11px;font-style:italic;padding-left:12px;}.highlight{padding:3px 3px 3px 12px;margin-left:-12px;font-weight:bold;-moz-border-radius:8px;-khtml-border-radius:8px;-webkit-border-radius:8px;border-radius:8px;}div.tablenav{margin-right:210px;}#documentation{margin-top:10px;}#documentation label{line-height:22px;vertical-align:top;font-weight:bold;}.fileedit-sub{padding:10px 0 8px;line-height:180%;}
\ No newline at end of file
diff --git a/wp-admin/css/theme-editor.dev.css b/wp-admin/css/theme-editor.dev.css
index 0a2a554e..17546493 100644
--- a/wp-admin/css/theme-editor.dev.css
+++ b/wp-admin/css/theme-editor.dev.css
@@ -33,12 +33,24 @@
margin: 4px 0;
}
+#templateside ul li a span.highlight {
+ display:block;
+}
+
.nonessential {
- font-size: small;
+ font-size: 11px;
+ font-style: italic;
+ padding-left: 12px;
}
.highlight {
- padding: 1px;
+ padding: 3px 3px 3px 12px;
+ margin-left: -12px;
+ font-weight: bold;
+ -moz-border-radius: 8px;
+ -khtml-border-radius: 8px;
+ -webkit-border-radius: 8px;
+ border-radius: 8px;
}
div.tablenav {
diff --git a/wp-admin/css/theme-install.css b/wp-admin/css/theme-install.css
index 6ce9918b..a54afc74 100644
--- a/wp-admin/css/theme-install.css
+++ b/wp-admin/css/theme-install.css
@@ -1 +1 @@
-div.star-holder{position:relative;height:19px;width:100px;font-size:19px;}div.star{height:100%;position:absolute;top:0;left:0;background-color:transparent;letter-spacing:1ex;border:none;}.star1{width:20%;}.star2{width:40%;}.star3{width:60%;}.star4{width:80%;}.star5{width:100%;}.star img,div.star a,div.star a:hover,div.star a:visited{display:block;position:absolute;right:0;border:none;text-decoration:none;}div.star img{width:19px;height:19px;border-left:1px solid #fff;border-right:1px solid #fff;}.theme-listing .theme-item{display:inline-block;width:200px;border:thin solid #ccc;vertical-align:top;}.theme-listing .theme-item h3{text-align:center;font-size:14px;font-style:italic;margin:0;padding:0;}.theme-listing .theme-item img{max-width:150px;max-height:150px;}.theme-listing .theme-item-info span{display:none;}.theme-listing .theme-item:hover .theme-item-info span{display:inline;}.theme-listing .theme-item:hover .theme-item-info span.dots{display:none;}.theme-listing .theme-item-info span.action-links{font-weight:bold;text-align:center;}.theme-listing br.line{border-bottom-width:1px;border-bottom-style:solid;margin-bottom:3px;}.available-theme{padding:20px 15px;}#theme-information .theme-preview-img{float:left;margin:5px 25px 10px 15px;width:300px;}#theme-information .action-button{border-top-width:1px;border-top-style:solid;margin:10px 5px 20px;}#theme-information .action-button #cancel{float:left;margin:10px 15px;}#theme-information .action-button #install{float:right;margin:10px 15px;}#theme-information .available-theme h3{margin:1em 0;}body#theme-information{height:auto;}.feature-filter{-moz-border-radius:8px;-khtml-border-radius:8px;-webkit-border-radius:8px;border-radius:8px;border-width:1px;border-style:solid;padding:8px 12px 0;}.feature-filter .feature-group{float:left;margin-bottom:20px;width:695px;}.feature-filter .feature-name{float:left;text-align:right;width:95px;}.feature-filter .feature-group li{display:inline;float:left;list-style-type:none;padding-right:25px;min-width:145px;}
\ No newline at end of file
+div.star-holder{position:relative;height:19px;width:100px;font-size:19px;}div.star{height:100%;position:absolute;top:0;left:0;background-color:transparent;letter-spacing:1ex;border:none;}.star1{width:20%;}.star2{width:40%;}.star3{width:60%;}.star4{width:80%;}.star5{width:100%;}.star img,div.star a,div.star a:hover,div.star a:visited{display:block;position:absolute;right:0;border:none;text-decoration:none;}div.star img{width:19px;height:19px;border-left:1px solid #fff;border-right:1px solid #fff;}.theme-listing .theme-item{display:inline-block;width:200px;border:thin solid #ccc;vertical-align:top;}.theme-listing .theme-item h3{text-align:center;font-size:14px;font-style:italic;margin:0;padding:0;}.theme-listing .theme-item img{max-width:150px;max-height:150px;}.theme-listing .theme-item-info span{display:none;}.theme-listing .theme-item:hover .theme-item-info span{display:inline;}.theme-listing .theme-item:hover .theme-item-info span.dots{display:none;}.theme-listing .theme-item-info span.action-links{font-weight:bold;text-align:center;}.theme-listing br.line{border-bottom-width:1px;border-bottom-style:solid;margin-bottom:3px;}.available-theme{padding:20px 15px;}#theme-information .theme-preview-img{float:left;margin:5px 25px 10px 15px;width:300px;}#theme-information .action-button{border-top-width:1px;border-top-style:solid;margin:10px 5px 0;}#theme-information .action-button #cancel{float:left;margin:10px 15px;}#theme-information .action-button #install{float:right;margin:10px 15px;}#theme-information .available-theme h3{margin:1em 0;}body#theme-information{height:auto;}.feature-filter{-moz-border-radius:8px;-khtml-border-radius:8px;-webkit-border-radius:8px;border-radius:8px;border-width:1px;border-style:solid;padding:8px 12px 0;}.feature-filter .feature-group{float:left;margin-bottom:20px;width:695px;}.feature-filter .feature-name{float:left;text-align:right;width:95px;}.feature-filter .feature-group li{display:inline;float:left;list-style-type:none;padding-right:25px;min-width:145px;}
\ No newline at end of file
diff --git a/wp-admin/css/theme-install.dev.css b/wp-admin/css/theme-install.dev.css
index 576dec4b..12f0579e 100644
--- a/wp-admin/css/theme-install.dev.css
+++ b/wp-admin/css/theme-install.dev.css
@@ -60,12 +60,15 @@ div.star img {
.theme-listing .theme-item-info span {
display: none;
}
+
.theme-listing .theme-item:hover .theme-item-info span {
display: inline;
}
+
.theme-listing .theme-item:hover .theme-item-info span.dots {
display: none;
}
+
.theme-listing .theme-item-info span.action-links {
font-weight: bold;
text-align: center;
@@ -90,7 +93,7 @@ div.star img {
#theme-information .action-button {
border-top-width: 1px;
border-top-style: solid;
- margin: 10px 5px 20px;
+ margin: 10px 5px 0;
}
#theme-information .action-button #cancel {
diff --git a/wp-admin/css/widgets-rtl.css b/wp-admin/css/widgets-rtl.css
index b3499722..4825066c 100644
--- a/wp-admin/css/widgets-rtl.css
+++ b/wp-admin/css/widgets-rtl.css
@@ -1,11 +1 @@
-
-ul#widget-list li.widget-list-item div.widget-description {
- margin: 0 200px 0 0;
- padding: 0 4em 0 0;
-}
-.widget-control-save,
-.widget-control-remove {
- margin-right: 0;
- margin-left: 8px;
- float: right;
-}
+ul#widget-list li.widget-list-item div.widget-description{margin:0 200px 0 0;padding:0 4em 0 0;}.widget-control-save,.widget-control-remove{margin-right:0;margin-left:8px;float:right;}
\ No newline at end of file
diff --git a/wp-admin/css/widgets-rtl.dev.css b/wp-admin/css/widgets-rtl.dev.css
new file mode 100644
index 00000000..ffb266d0
--- /dev/null
+++ b/wp-admin/css/widgets-rtl.dev.css
@@ -0,0 +1,10 @@
+ul#widget-list li.widget-list-item div.widget-description {
+ margin: 0 200px 0 0;
+ padding: 0 4em 0 0;
+}
+.widget-control-save,
+.widget-control-remove {
+ margin-right: 0;
+ margin-left: 8px;
+ float: right;
+}
diff --git a/wp-admin/css/widgets.css b/wp-admin/css/widgets.css
index bd15ffa4..44eb420e 100644
--- a/wp-admin/css/widgets.css
+++ b/wp-admin/css/widgets.css
@@ -1 +1 @@
-html,body{min-width:950px;}div.widget-liquid-left{float:left;clear:left;width:100%;margin-right:-325px;}div#widgets-left{margin-left:5px;margin-right:325px;}div#widgets-right{width:285px;margin:0 auto;}div.widget-liquid-right{float:right;clear:right;width:300px;}.widget-liquid-right .widget,#wp_inactive_widgets .widget,.widget-liquid-right .sidebar-description{width:250px;margin:0 auto 20px;overflow:hidden;}.widget-liquid-right .sidebar-description{margin-bottom:10px;}#wp_inactive_widgets .widget{margin:0 10px 20px;float:left;}div.sidebar-name h3{margin:0;padding:5px 12px;font-size:13px;height:19px;overflow:hidden;white-space:nowrap;}div.sidebar-name{background-repeat:repeat-x;background-position:0 0;cursor:pointer;font-size:13px;border-width:1px;border-style:solid;-moz-border-radius-topleft:8px;-moz-border-radius-topright:8px;-webkit-border-top-right-radius:8px;-webkit-border-top-left-radius:8px;-khtml-border-top-right-radius:8px;-khtml-border-top-left-radius:8px;border-top-right-radius:8px;border-top-left-radius:8px;}.js .closed .sidebar-name{-moz-border-radius-bottomleft:8px;-moz-border-radius-bottomright:8px;-webkit-border-bottom-right-radius:8px;-webkit-border-bottom-left-radius:8px;-khtml-border-bottom-right-radius:8px;-khtml-border-bottom-left-radius:8px;border-bottom-right-radius:8px;border-bottom-left-radius:8px;}.widget-liquid-right .widgets-sortables,#widgets-left .widget-holder{border-width:0 1px 1px;border-style:none solid solid;-moz-border-radius-bottomleft:8px;-moz-border-radius-bottomright:8px;-webkit-border-bottom-right-radius:8px;-webkit-border-bottom-left-radius:8px;-khtml-border-bottom-right-radius:8px;-khtml-border-bottom-left-radius:8px;border-bottom-right-radius:8px;border-bottom-left-radius:8px;}.js .closed .widgets-sortables,.js .closed .widget-holder{display:none;}.widget-liquid-right .widgets-sortables{padding:15px 0 0;}#available-widgets .widget-holder{padding:7px 5px 0;}#wp_inactive_widgets{padding:5px 5px 0;}#widget-list .widget{width:250px;margin:0 10px 15px;border:0 none;float:left;}#widget-list .widget-description{padding:5px 8px;}#widget-list .widget-top{border-width:1px;border-style:solid;-moz-border-radius:6px;-khtml-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;}.widget-placeholder{border-width:1px;border-style:dashed;margin:0 auto 20px;height:26px;width:250px;}#wp_inactive_widgets .widget-placeholder{margin:0 10px 20px;float:left;}div.widgets-holder-wrap{padding:0;margin:10px 0 20px;}#widgets-left #available-widgets{background-color:transparent;border:0 none;}ul#widget-list{list-style:none;margin:0;padding:0;min-height:100px;}.widget .widget-top{font-size:12px;font-weight:bold;height:26px;overflow:hidden;}.widget-top .widget-title{padding:5px 9px;}.widget-top .widget-title-action{float:right;}a.widget-action{display:block;width:24px;height:26px;}#available-widgets a.widget-action{display:none;}.widget-top a.widget-action{background:url("../images/menu-bits.gif") no-repeat scroll 0 -110px;}.widget .widget-inside,.widget .widget-description{padding:12px 12px 10px;font-size:11px;line-height:16px;}.widget-inside,.widget-description{display:none;}#available-widgets .widget-description{display:block;}.widget .widget-inside p{margin:0 0 1em;padding:0;}.widget-title h4{margin:0;line-height:1.3;overflow:hidden;white-space:nowrap;}.widgets-sortables{min-height:90px;}.widget-control-actions{margin-top:8px;}.widget-control-actions a{text-decoration:none;}.widget-control-actions a:hover{text-decoration:underline;}.widget-control-actions .ajax-feedback{padding-bottom:3px;}.widget-control-actions div.alignleft{margin-top:6px;}div#sidebar-info{padding:0 1em;margin-bottom:1em;font-size:11px;}.widget-title a,.widget-title a:hover{text-decoration:none;border-bottom:none;}.widget-control-edit{display:block;font-size:11px;font-weight:normal;line-height:26px;padding:0 8px 0 0;}a.widget-control-edit{text-decoration:none;}.widget-control-edit .add,.widget-control-edit .edit{display:none;}#available-widgets .widget-control-edit .add,#widgets-right .widget-control-edit .edit,#wp_inactive_widgets .widget-control-edit .edit{display:inline;}.editwidget{margin:0 auto 15px;}.editwidget .widget-inside{display:block;border-width:1px;border-style:solid;padding:10px;-moz-border-radius:6px;-khtml-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;}.inactive p.description{margin:5px 15px 8px;}#available-widgets p.description{margin:0 12px 12px;}.widget-position{margin-top:8px;}.inactive{padding-top:2px;}.sidebar-name-arrow{float:right;height:29px;width:26px;}.widget-title .in-widget-title{font-size:11px;white-space:nowrap;}#removing-widget{display:none;font-weight:normal;padding-left:15px;font-size:12px;}.widget-control-noform,#access-off,.widgets_access .widget-action,.widgets_access .sidebar-name-arrow,.widgets_access #access-on,.widgets_access .widget-holder .description{display:none;}.widgets_access .widget-holder,.widgets_access #widget-list{padding-top:10px;}.widgets_access #access-off{display:inline;}.widgets_access #wpbody-content .widget-title-action,.widgets_access #wpbody-content .widget-control-edit,.widgets_access .closed .widgets-sortables,.widgets_access .closed .widget-holder{display:block;}.widgets_access .closed .sidebar-name{-moz-border-radius-bottomleft:0;-moz-border-radius-bottomright:0;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-khtml-border-bottom-right-radius:0;-khtml-border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0;}.widgets_access .sidebar-name,.widgets_access .widget .widget-top{cursor:default;}
\ No newline at end of file
+html,body{min-width:950px;}div.widget-liquid-left{float:left;clear:left;width:100%;margin-right:-325px;}div#widgets-left{margin-left:5px;margin-right:325px;}div#widgets-right{width:285px;margin:0 auto;}div.widget-liquid-right{float:right;clear:right;width:300px;}.widget-liquid-right .widget,#wp_inactive_widgets .widget,.widget-liquid-right .sidebar-description{width:250px;margin:0 auto 20px;overflow:hidden;}.widget-liquid-right .sidebar-description{margin-bottom:10px;}#wp_inactive_widgets .widget{margin:0 10px 20px;float:left;}div.sidebar-name h3{margin:0;padding:5px 12px;font-size:13px;height:19px;overflow:hidden;white-space:nowrap;}div.sidebar-name{background-repeat:repeat-x;background-position:0 0;cursor:pointer;font-size:13px;border-width:1px;border-style:solid;-moz-border-radius-topleft:8px;-moz-border-radius-topright:8px;-webkit-border-top-right-radius:8px;-webkit-border-top-left-radius:8px;-khtml-border-top-right-radius:8px;-khtml-border-top-left-radius:8px;border-top-right-radius:8px;border-top-left-radius:8px;}.js .closed .sidebar-name{-moz-border-radius-bottomleft:8px;-moz-border-radius-bottomright:8px;-webkit-border-bottom-right-radius:8px;-webkit-border-bottom-left-radius:8px;-khtml-border-bottom-right-radius:8px;-khtml-border-bottom-left-radius:8px;border-bottom-right-radius:8px;border-bottom-left-radius:8px;}.widget-liquid-right .widgets-sortables,#widgets-left .widget-holder{border-width:0 1px 1px;border-style:none solid solid;-moz-border-radius-bottomleft:8px;-moz-border-radius-bottomright:8px;-webkit-border-bottom-right-radius:8px;-webkit-border-bottom-left-radius:8px;-khtml-border-bottom-right-radius:8px;-khtml-border-bottom-left-radius:8px;border-bottom-right-radius:8px;border-bottom-left-radius:8px;}.js .closed .widgets-sortables,.js .closed .widget-holder{display:none;}.widget-liquid-right .widgets-sortables{padding:15px 0 0;}#available-widgets .widget-holder{padding:7px 5px 0;}#wp_inactive_widgets{padding:5px 5px 0;}#widget-list .widget{width:250px;margin:0 10px 15px;border:0 none;float:left;}#widget-list .widget-description{padding:5px 8px;}#widget-list .widget-top{border-width:1px;border-style:solid;-moz-border-radius:6px;-khtml-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;}.widget-placeholder{border-width:1px;border-style:dashed;margin:0 auto 20px;height:26px;width:250px;}#wp_inactive_widgets .widget-placeholder{margin:0 10px 20px;float:left;}div.widgets-holder-wrap{padding:0;margin:10px 0 20px;}#widgets-left #available-widgets{background-color:transparent;border:0 none;}ul#widget-list{list-style:none;margin:0;padding:0;min-height:100px;}.widget .widget-top{font-size:12px;font-weight:bold;height:26px;overflow:hidden;}.widget-top .widget-title{padding:5px 9px;}.widget-top .widget-title-action{float:right;}a.widget-action{display:block;width:24px;height:26px;}#available-widgets a.widget-action{display:none;}.widget-top a.widget-action{background:url("../images/menu-bits.gif?ver=20100610") no-repeat scroll 0 -110px;}.widget .widget-inside,.widget .widget-description{padding:12px 12px 10px;font-size:11px;line-height:16px;}.widget-inside,.widget-description{display:none;}#available-widgets .widget-description{display:block;}.widget .widget-inside p{margin:0 0 1em;padding:0;}.widget-title h4{margin:0;line-height:1.3;overflow:hidden;white-space:nowrap;}.widgets-sortables{min-height:90px;}.widget-control-actions{margin-top:8px;}.widget-control-actions a{text-decoration:none;}.widget-control-actions a:hover{text-decoration:underline;}.widget-control-actions .ajax-feedback{padding-bottom:3px;}.widget-control-actions div.alignleft{margin-top:6px;}div#sidebar-info{padding:0 1em;margin-bottom:1em;font-size:11px;}.widget-title a,.widget-title a:hover{text-decoration:none;border-bottom:none;}.widget-control-edit{display:block;font-size:11px;font-weight:normal;line-height:26px;padding:0 8px 0 0;}a.widget-control-edit{text-decoration:none;}.widget-control-edit .add,.widget-control-edit .edit{display:none;}#available-widgets .widget-control-edit .add,#widgets-right .widget-control-edit .edit,#wp_inactive_widgets .widget-control-edit .edit{display:inline;}.editwidget{margin:0 auto 15px;}.editwidget .widget-inside{display:block;border-width:1px;border-style:solid;padding:10px;-moz-border-radius:6px;-khtml-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;}.inactive p.description{margin:5px 15px 8px;}#available-widgets p.description{margin:0 12px 12px;}.widget-position{margin-top:8px;}.inactive{padding-top:2px;}.sidebar-name-arrow{float:right;height:29px;width:26px;}.widget-title .in-widget-title{font-size:11px;white-space:nowrap;}#removing-widget{display:none;font-weight:normal;padding-left:15px;font-size:12px;}.widget-control-noform,#access-off,.widgets_access .widget-action,.widgets_access .sidebar-name-arrow,.widgets_access #access-on,.widgets_access .widget-holder .description{display:none;}.widgets_access .widget-holder,.widgets_access #widget-list{padding-top:10px;}.widgets_access #access-off{display:inline;}.widgets_access #wpbody-content .widget-title-action,.widgets_access #wpbody-content .widget-control-edit,.widgets_access .closed .widgets-sortables,.widgets_access .closed .widget-holder{display:block;}.widgets_access .closed .sidebar-name{-moz-border-radius-bottomleft:0;-moz-border-radius-bottomright:0;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-khtml-border-bottom-right-radius:0;-khtml-border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0;}.widgets_access .sidebar-name,.widgets_access .widget .widget-top{cursor:default;}
\ No newline at end of file
diff --git a/wp-admin/css/widgets.dev.css b/wp-admin/css/widgets.dev.css
index 4fa2f7d9..0ce9fd3c 100644
--- a/wp-admin/css/widgets.dev.css
+++ b/wp-admin/css/widgets.dev.css
@@ -151,8 +151,8 @@ div.widgets-holder-wrap {
}
#widgets-left #available-widgets {
- background-color: transparent;
- border: 0 none;
+ background-color: transparent;
+ border: 0 none;
}
ul#widget-list {
@@ -178,9 +178,9 @@ ul#widget-list {
}
a.widget-action {
- display: block;
- width: 24px;
- height: 26px;
+ display: block;
+ width: 24px;
+ height: 26px;
}
#available-widgets a.widget-action {
@@ -188,7 +188,7 @@ a.widget-action {
}
.widget-top a.widget-action {
- background: url("../images/menu-bits.gif") no-repeat scroll 0 -110px;
+ background: url("../images/menu-bits.gif?ver=20100610") no-repeat scroll 0 -110px;
}
.widget .widget-inside,
@@ -220,11 +220,11 @@ a.widget-action {
}
.widgets-sortables {
- min-height: 90px;
+ min-height: 90px;
}
.widget-control-actions {
- margin-top: 8px;
+ margin-top: 8px;
}
.widget-control-actions a {
diff --git a/wp-admin/css/wp-admin-rtl.css b/wp-admin/css/wp-admin-rtl.css
new file mode 100644
index 00000000..8f3c6dae
--- /dev/null
+++ b/wp-admin/css/wp-admin-rtl.css
@@ -0,0 +1 @@
+td.available-theme{text-align:right;}#current-theme img{float:right;margin-right:0;margin-left:1em;}.quicktags,.search{font-family:Tahoma,Arial,sans-serif;}#save-post{float:right;}.preview{float:left;}#sticky-span{margin-left:0;margin-right:18px;}#post-body .misc-pub-section{border-right-width:0;border-left-width:1px;border-right-style:none;border-left-style:solid;float:right;}#post-body .misc-pub-section-last{border-left:0;}#delete-action{text-align:right;float:right;}#publishing-action{text-align:left;float:left;}.side-info ul{padding-left:0;padding-right:18px;}.submit input,.button,.button-primary,.button-secondary,.button-highlighted,#postcustomstuff .submit input{font-family:Tahoma,Arial,sans-serif;}#wpcontent select{font-family:Tahoma,Arial,sans-serif;}#quicktags{background-position:right top;}#template div{margin-right:0;margin-left:190px;}* html #template div{margin-left:0;}#your-profile legend{font-family:Tahoma,Arial,sans-serif;}#ajax-response.alignleft{margin-left:0;margin-right:2em;}.page-numbers{margin-right:0;margin-left:1px;}.column-author img,.column-username img{float:right;margin-right:0;margin-left:10px;}.tablenav a.button-secondary{margin:8px 0 0 8px;}.tablenav .tablenav-pages{float:left;}.tablenav .displaying-num{margin-right:0;margin-left:10px;font-family:Tahoma,Arial,sans-serif;}#postcustomstuff table input,#postcustomstuff table select,#postcustomstuff table textarea{margin:8px 8px 8px 0;}#pass-strength-result{float:right;margin:12px 1px 5px 5px;}#user_info{float:left;}#header-logo{float:right;margin:7px 15px 0 0;}#wphead h1{font-family:Tahoma,Arial,sans-serif;float:right;}#wphead h1.long-title{font-family:Tahoma,Arial,sans-serif;}#adminmenu .wp-submenu a{padding-left:0;padding-right:12px;border-width:0 0 0 1px;border-style:none none none solid;font-family:Tahoma,Arial,sans-serif;}#adminmenu a.menu-top,#adminmenu .wp-submenu-head{font-family:Tahoma,Arial,sans-serif;}#adminmenu img.wp-menu-image{float:right;}.folded #adminmenu img.wp-menu-image{padding:7px 6px 0 0;}#adminmenu a.separator{cursor:e-resize;}.folded #adminmenu a.separator{cursor:w-resize;}#adminmenu .wp-submenu .wp-submenu-head{padding:6px 10px 6px 4px;}.folded #adminmenu .wp-submenu{margin:-1px 28px 0 0;}.folded #adminmenu .wp-submenu a{padding-left:0;padding-right:10px;}.folded #adminmenu a.wp-has-submenu{margin-left:0;margin-right:40px;}#adminmenu .wp-menu-toggle{float:left;padding:1px 0 0 2px;clear:left;}#adminmenu div.wp-menu-image{float:right;}#wphead-info{margin:0 15px 0 0;padding-right:0;padding-left:15px;}#adminmenu #awaiting-mod,#adminmenu span.update-plugins,#sidemenu li a span.update-plugins{font-family:Tahoma,Arial,sans-serif;margin-left:0;margin-right:7px;}.post-com-count-wrapper{font-family:Tahoma,Arial,sans-serif;}.column-response .post-com-count{float:right;margin-right:0;margin-left:5px;}.form-table th{text-align:right;}.form-table input.tog{margin-right:0;margin-left:2px;float:right;}.form-table table.color-palette{float:right;}#profile-page .form-table #rich_editing{margin-right:0;margin-left:5px;}#normal-sortables .postbox .submit{float:left;}#post-body .tagsdiv #newtag{margin-right:0;margin-left:5px;}#post-status-info{padding:0 7px 0 15px;}#comment-status-radio input{margin:2px 0 5px 3px;}.tagchecklist{margin-left:0;margin-right:10px;}.tagchecklist strong{margin-left:0;margin-right:-8px;}.tagchecklist span{float:right;}.tagchecklist span a{margin:6px -9px 0 0;float:right;}.ac_results li{text-align:right;}#poststuff h2{clear:right;}.description,.form-wrap p{font-family:Tahoma,Arial,sans-serif;}.autosave-info{padding:2px 2px 2px 15px;text-align:left;}.meta-box-sortables .postbox .handlediv{float:left;}.howto{font-family:Tahoma,Arial,sans-serif;}.postarea h3 label{float:right;}.postarea #add-media-button{float:left;right:auto;left:10px;}.wp_themeSkin tr.mceFirst td.mceToolbar{background-position:right top;}#poststuff #edButtonPreview,#poststuff #edButtonHTML{margin:5px 0 0 5px;float:left;}#poststuff #edButtonHTML{margin-right:0;margin-left:15px;}#media-buttons a{padding:0 10px 5px 0;}.submitbox .submit{text-align:right;}.inside-submitbox #post_status{margin:2px -2px 2px 0;}.submitbox .submit input{margin-right:0;margin-left:4px;}.category-adder{margin-left:0;margin-right:120px;}#post-body ul.category-tabs li.tabs,#post-body ul.add-menu-item-tabs li.tabs{-moz-border-radius:0 3px 3px 0;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:3px;-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:3px;border-top-left-radius:0;border-top-right-radius:3px;border-bottom-left-radius:0;border-bottom-right-radius:3px;}#post-body ul.category-tabs,#post-body ul.add-menu-item-tabs{float:right;text-align:left;margin:0 0 0 -120px;}#post-body .categorydiv div.tabs-panel,#post-body .taxonomy div.tabs-panel,#post-body #linkcategorydiv div.tabs-panel{margin:0 120px 0 5px;}#front-page-warning,#front-static-pages ul,.inline-editor ul.cat-checklist ul,.categorydiv ul.categorychecklist ul,.customlinkdiv ul.categorychecklist ul,.posttypediv ul.categorychecklist ul,.taxonomydiv ul.categorychecklist ul,#linkcategorydiv ul.categorychecklist ul{margin-left:0;margin-right:18px;}p.search-box{float:left;}#posts-filter fieldset{float:right;margin:0 0 1em 1.5ex;}#posts-filter fieldset legend{padding:0 1px .2em 0;}.view-switch{float:left;}.filter{float:right;margin:-5px 10px 0 0;}#the-comment-list td.comment p.comment-author{margin-right:0;}#the-comment-list p.comment-author img{float:right;margin-right:0;margin-left:8px;}.tablenav .delete{margin-right:0;margin-left:20px;}td.action-links,th.action-links{text-align:left;}.filter .subsubsub{margin-left:0;margin-right:-10px;}#wp-word-count{margin-right:10px;}.tool-box .title{font-family:Tahoma,Arial,sans-serif;}.settings-toggle{text-align:left;margin:5px 0 15px 7px;}.curtime #timestamp{background-position:right top;padding-left:0;padding-right:18px;}#sidemenu{margin:-30px 315px 0 15px;float:left;padding-left:0;padding-right:10px;}#sidemenu a{float:right;}#replysubmit .button{margin-right:0;margin-left:5px;}#edithead .inside{float:right;margin:3px 5px 2px 0;}#replyrow #ed_reply_toolbar input{margin:1px 1px 1px 2px;}#screen-meta-links{margin:0 0 0 18px;}#screen-options-link-wrap,#contextual-help-link-wrap{float:left;font-family:Tahoma,Arial,sans-serif;margin:0 0 0 6px;}#screen-meta a.show-settings{padding:0 6px 0 16px;background-position:left bottom;}.metabox-prefs label{padding-right:0;padding-left:15px;}.metabox-prefs label input{margin:0 2px 0 5px;}.inline-editor .save,.inline-editor .cancel{margin-right:0;margin-left:5px;}#replysubmit img.waiting,.inline-edit-save img.waiting{float:left;}#bulk-titles div a{float:right;margin:3px -2px 0 3px;}#wpbody-content .filename{margin-left:0;margin-right:10px;}#wpbody-content .inline-edit-row fieldset{float:right;}#wpbody-content .quick-edit-row-page fieldset.inline-edit-col-right .inline-edit-col{border-left:0 none;border-right:1px solid;}#wpbody-content .bulk-edit-row .inline-edit-col-bottom{float:left;}.inline-edit-row fieldset label span.title{float:right;}.inline-edit-row fieldset label span.input-text-wrap{margin-left:0;margin-right:5em;}.quick-edit-row-post fieldset.inline-edit-col-right label span.title{padding-right:0;padding-left:.5em;}#wpbody-content .quick-edit-row fieldset .inline-edit-group label.alignleft:first-child{margin-right:0;margin-left:.5em;}.inline-edit-row fieldset span.title,.inline-edit-row fieldset span.checkbox-title{font-family:Tahoma,Arial,sans-serif;}.inline-edit-row fieldset .inline-edit-date{float:right;}.inline-edit-row fieldset ul.cat-checklist label,.inline-edit-row .catshow,.inline-edit-row .cathide,.inline-edit-row #bulk-titles div{font-family:Tahoma,Arial,sans-serif;}.quick-edit-row-post fieldset label.inline-edit-status{float:right;}.describe-toggle-on,.describe-toggle-off{float:left;margin-right:0;margin-left:20px;}#wpbody-content #media-items .filename{float:right;margin-left:0;margin-right:10px;}.media-item .pinkynail{float:right;}#find-posts-response .found-radio{padding:8px 8px 0 0;}.find-box-buttons{left:auto;right:12px;}.find-box-search label{padding-right:0;padding-left:6px;}#favorite-actions{float:left;}#favorite-first{padding:3px 12px 4px 30px;}#favorite-inside a{padding:3px 10px 3px 5px;}#favorite-toggle{right:auto;left:0;background:transparent url(../images/fav-arrow-rtl.gif?ver=20100531) no-repeat 10px -4px;}#utc-time,#local-time{padding-left:0;padding-right:25px;font-family:Tahoma,Arial;}.icon32{float:right;margin:14px 0 0 6px;}.subtitle{padding-left:0;padding-right:25px;}ol{list-style-type:decimal;margin-left:0;margin-right:2em;}.postbox-container{float:right;padding-left:.5%;padding-right:0;}#wpbody-content .describe th{text-align:right;}.describe .media-item-info .A1B1{padding:0 10px 0 0;}.media-upload-form td label{margin-left:6px;margin-right:2px;}.media-upload-form .align .field label{padding:0 22px 0 0;margin:0 0 0 1em;}.media-upload-form tr.image-size label{margin:0 3px 0 0;}#wpbody-content .describe p.help{padding:0 5px 0 0;}.describe-toggle-on,.describe-toggle-off{float:left;margin-left:20px;margin-right:0;}.media-item .pinkynail{float:right;}.crunching{text-align:left;margin-left:5px;margin-right:0;}button.dismiss{right:auto;left:5px;}.file-error{float:right;}.bar{border-left-width:3px;border-left-style:solid;border-right:none;}.clearlooks2 .mceTop .mceLeft{width:100%!important;}.taghint{margin:15px 12px -24px 0;}#poststuff .tagsdiv .howto{margin:0 8px 6px 0;}#broken-themes{text-align:right;}.describe .del-link{padding-right:5px;padding-left:0;}.comment-ays th{border-left-style:solid;border-left-width:1px;}table#available-headers td{padding:0 0 10px 20px;}table#available-headers label input{margin-right:0;margin-left:8px;}#author-email,#author-url,#rss-url-1,#edit-slug-box,#post_name,#trackback_url,#metakeyinput,#post_password,#slug,#category_nicename,#link_url,#link_image,#rss_uri,#menu_order,#email,#newcomment_author_url,#pages-exclude,#template textarea,#user_login,#url,#pass1,#pass2,#aim,#yim,#jabber,#siteurl,#home,#admin_email,#gmt_offset,#default_post_edit_rows,#mailserver_url,#mailserver_login,#mailserver_pass,#mailserver_port,#ping_sites,#posts_per_page,#posts_per_rss,#blog_charset,#close_comments_days_old,#comments_per_page,#comment_max_links,#moderation_keys,#blacklist_keys,#thumbnail_size_w,#thumbnail_size_h,#medium_size_w,#medium_size_h,#large_size_w,#large_size_h,#permalink_structure,#category_base,#tag_base,#upload_path,#upload_url_path,#rules{direction:ltr;}#quicktags #ed_em,#ed_reply_toolbar #ed_reply_em,.tablenav .displaying-num,#footer,#footer a,p.help,p.description,span.description,.form-wrap p,#side-sortables .comments-box thead th,#normal-sortables .comments-box thead th,.howto,.inline-edit-row fieldset span.title,.inline-edit-row fieldset span.checkbox-title,#utc-time,#local-time,form.upgrade .hint,p.install-help,.imgedit-help{font-style:normal;}
\ No newline at end of file
diff --git a/wp-admin/rtl.dev.css b/wp-admin/css/wp-admin-rtl.dev.css
similarity index 76%
rename from wp-admin/rtl.dev.css
rename to wp-admin/css/wp-admin-rtl.dev.css
index 9e988b53..156c14f9 100644
--- a/wp-admin/rtl.dev.css
+++ b/wp-admin/css/wp-admin-rtl.dev.css
@@ -9,7 +9,7 @@ td.available-theme {
margin-left: 1em;
}
.quicktags, .search {
- font-family: Tahoma, Arial, sans-serif;
+ font-family: Tahoma, Arial, sans-serif;
}
/* 200 - 500
=================================== */
@@ -25,7 +25,7 @@ td.available-theme {
}
#post-body .misc-pub-section {
border-right-width: 0;
- border-left-width: 1;
+ border-left-width: 1px;
border-right-style: none;
border-left-style: solid;
float: right;
@@ -51,10 +51,10 @@ td.available-theme {
.button-secondary,
.button-highlighted,
#postcustomstuff .submit input {
- font-family: Tahoma, Arial, sans-serif;
+ font-family: Tahoma, Arial, sans-serif;
}
#wpcontent select {
- font-family: Tahoma, Arial, sans-serif;
+ font-family: Tahoma, Arial, sans-serif;
}
#quicktags {
background-position: right top;
@@ -69,7 +69,7 @@ td.available-theme {
margin-left: 0;
}
#your-profile legend {
- font-family: Tahoma, Arial, sans-serif;
+ font-family: Tahoma, Arial, sans-serif;
}
#ajax-response.alignleft {
margin-left: 0;
@@ -93,7 +93,7 @@ td.available-theme {
.tablenav .displaying-num {
margin-right: 0;
margin-left: 10px;
- font-family: Tahoma, Arial, sans-serif;
+ font-family: Tahoma, Arial, sans-serif;
}
#postcustomstuff table input,
#postcustomstuff table select,
@@ -115,22 +115,22 @@ td.available-theme {
margin: 7px 15px 0 0;
}
#wphead h1 {
- font-family: Tahoma, Arial, sans-serif;
+ font-family: Tahoma, Arial, sans-serif;
float: right;
}
#wphead h1.long-title {
- font-family: Tahoma, Arial, sans-serif;
+ font-family: Tahoma, Arial, sans-serif;
}
#adminmenu .wp-submenu a {
padding-left: 0;
padding-right: 12px;
border-width: 0 0 0 1px;
border-style: none none none solid;
- font-family: Tahoma, Arial, sans-serif;
+ font-family: Tahoma, Arial, sans-serif;
}
#adminmenu a.menu-top,
#adminmenu .wp-submenu-head {
- font-family: Tahoma, Arial, sans-serif;
+ font-family: Tahoma, Arial, sans-serif;
}
#adminmenu img.wp-menu-image {
float: right;
@@ -177,17 +177,12 @@ td.available-theme {
#adminmenu #awaiting-mod,
#adminmenu span.update-plugins,
#sidemenu li a span.update-plugins {
- font-family: Tahoma, Arial, sans-serif;
+ font-family: Tahoma, Arial, sans-serif;
margin-left: 0;
- margin-right: 2px;
-}
-#adminmenu li #awaiting-mod span,
-#adminmenu li span.update-plugins span,
-#sidemenu li a span.update-plugins span {
- float: right;
+ margin-right: 7px;
}
.post-com-count-wrapper {
- font-family: Tahoma, Arial, sans-serif;
+ font-family: Tahoma, Arial, sans-serif;
}
.column-response .post-com-count {
float: right;
@@ -195,8 +190,7 @@ td.available-theme {
margin-left: 5px;
}
/* Tables used on comment.php and option/setting pages */
-.form-table th,
-#wpbody-content .describe th {
+.form-table th {
text-align: right;
}
.form-table input.tog {
@@ -249,15 +243,19 @@ td.available-theme {
clear: right;
}
.description, .form-wrap p {
- font-family: Tahoma, Arial, sans-serif;
+ font-family: Tahoma, Arial, sans-serif;
}
/* 1500 - 1800
=================================== */
+.autosave-info {
+ padding: 2px 2px 2px 15px;
+ text-align: left;
+}
.meta-box-sortables .postbox .handlediv {
float: left;
}
.howto {
- font-family: Tahoma, Arial, sans-serif;
+ font-family: Tahoma, Arial, sans-serif;
}
.postarea h3 label {
float: right;
@@ -294,11 +292,12 @@ td.available-theme {
margin-left: 4px;
}
/* Categories */
-#category-adder {
+.category-adder {
margin-left: 0;
margin-right: 120px;
}
-#post-body ul#category-tabs li.tabs {
+#post-body ul.category-tabs li.tabs,
+#post-body ul.add-menu-item-tabs li.tabs {
-moz-border-radius: 0 3px 3px 0;
-webkit-border-top-left-radius: 0;
-webkit-border-top-right-radius: 3px;
@@ -309,23 +308,27 @@ td.available-theme {
border-bottom-left-radius: 0;
border-bottom-right-radius: 3px;
}
-#post-body ul#category-tabs {
+#post-body ul.category-tabs,
+#post-body ul.add-menu-item-tabs {
float: right;
text-align: left;
margin: 0 0 0 -120px;
}
-#post-body #categorydiv div.tabs-panel,
+#post-body .categorydiv div.tabs-panel,
+#post-body .taxonomy div.tabs-panel,
#post-body #linkcategorydiv div.tabs-panel {
margin: 0 120px 0 5px;
}
/* 1800 - 2000
=================================== */
-#side-sortables #category-tabs li {
- padding-right: 0;
- padding-left: 8px;
-}
-#categorydiv ul.categorychecklist ul,
-#linkcategorydiv ul.categorychecklist ul {
+#front-page-warning,
+#front-static-pages ul,
+.inline-editor ul.cat-checklist ul,
+.categorydiv ul.categorychecklist ul,
+.customlinkdiv ul.categorychecklist ul,
+.posttypediv ul.categorychecklist ul,
+.taxonomydiv ul.categorychecklist ul,
+#linkcategorydiv ul.categorychecklist ul{
margin-left: 0;
margin-right: 18px;
}
@@ -372,7 +375,7 @@ td.action-links, th.action-links {
margin-right: 10px;
}
.tool-box .title {
- font-family: Tahoma, Arial, sans-serif;
+ font-family: Tahoma, Arial, sans-serif;
}
.settings-toggle {
text-align: left;
@@ -408,14 +411,18 @@ td.action-links, th.action-links {
}
/* show/hide settings */
#screen-meta-links {
- margin: 0 0 0 9px;
+ margin: 0 0 0 18px;
}
#screen-options-link-wrap,
#contextual-help-link-wrap {
float: left;
- font-family: Tahoma, Arial, sans-serif;
+ font-family: Tahoma, Arial, sans-serif;
margin: 0 0 0 6px;
}
+#screen-meta a.show-settings {
+ padding: 0 6px 0 16px;
+ background-position: left bottom;
+}
.metabox-prefs label {
padding-right: 0;
padding-left: 15px;
@@ -428,6 +435,10 @@ td.action-links, th.action-links {
margin-right: 0;
margin-left: 5px;
}
+#replysubmit img.waiting,
+.inline-edit-save img.waiting {
+ float: left;
+}
/* 2500 - 2700
=================================== */
#bulk-titles div a {
@@ -476,7 +487,7 @@ td.action-links, th.action-links {
.inline-edit-row .catshow,
.inline-edit-row .cathide,
.inline-edit-row #bulk-titles div {
- font-family: Tahoma, Arial, sans-serif;
+ font-family: Tahoma, Arial, sans-serif;
}
.quick-edit-row-post fieldset label.inline-edit-status {
float: right;
@@ -520,7 +531,7 @@ td.action-links, th.action-links {
#favorite-toggle {
right: auto;
left: 0;
- background:transparent url(images/fav-arrow-rtl.gif) no-repeat 10px -4px;
+ background:transparent url(../images/fav-arrow-rtl.gif?ver=20100531) no-repeat 10px -4px;
}
#utc-time, #local-time {
padding-left: 0;
@@ -548,13 +559,114 @@ ol {
padding-right: 0;
}
+/* Media library */
+#wpbody-content .describe th {
+ text-align: right;
+}
+
+.describe .media-item-info .A1B1 {
+ padding: 0 10px 0 0;
+}
+
+.media-upload-form td label {
+ margin-left: 6px;
+ margin-right: 2px;
+}
+
+.media-upload-form .align .field label {
+ padding: 0 22px 0 0;
+ margin: 0 0 0 1em;
+}
+
+.media-upload-form tr.image-size label {
+ margin: 0 3px 0 0 ;
+}
+
+#wpbody-content .describe p.help {
+ padding: 0 5px 0 0 ;
+}
+
+.describe-toggle-on,
+.describe-toggle-off {
+ float: left;
+ margin-left: 20px;
+ margin-right: 0;
+}
+
+.media-item .pinkynail {
+ float: right;
+}
+
+.crunching {
+ text-align: left;
+ margin-left: 5px;
+ margin-right: 0;
+}
+
+button.dismiss {
+ right: auto;
+ left: 5px;
+}
+
+.file-error {
+ float: right;
+}
+
+.bar {
+ border-left-width: 3px;
+ border-left-style: solid;
+ border-right: none;
+}
+
+
/* TinyMCE
=================================== */
.clearlooks2 .mceTop .mceLeft {
width:100% !important;
}
+
+/* tag hints */
+.taghint {
+ margin: 15px 12px -24px 0;
+}
+
+#poststuff .tagsdiv .howto {
+ margin: 0 8px 6px 0;
+}
+
+#broken-themes {
+ text-align: right;
+}
+
+.describe .del-link {
+ padding-right: 5px;
+ padding-left: 0;
+}
+
+.comment-ays th {
+ border-left-style: solid;
+ border-left-width: 1px;
+}
+
+/* Custom Header */
+table#available-headers td {
+ padding: 0 0 10px 20px;
+}
+table#available-headers label input {
+ margin-right: 0;
+ margin-left: 8px;
+}
+
/* ltr
=================================== */
#author-email, #author-url, #rss-url-1, #edit-slug-box, #post_name, #trackback_url, #metakeyinput, #post_password, #slug, #category_nicename, #link_url, #link_image, #rss_uri, #menu_order, #email, #newcomment_author_url, #pages-exclude, #template textarea, #user_login, #url, #pass1, #pass2, #aim, #yim, #jabber, #siteurl, #home, #admin_email, #gmt_offset, #default_post_edit_rows, #mailserver_url, #mailserver_login, #mailserver_pass, #mailserver_port, #ping_sites, #posts_per_page, #posts_per_rss, #blog_charset, #close_comments_days_old, #comments_per_page, #comment_max_links, #moderation_keys, #blacklist_keys, #thumbnail_size_w, #thumbnail_size_h, #medium_size_w, #medium_size_h, #large_size_w, #large_size_h, #permalink_structure, #category_base, #tag_base, #upload_path, #upload_url_path, #rules {
direction: ltr;
}
+
+/* no italic
+=================================== */
+
+#quicktags #ed_em, #ed_reply_toolbar #ed_reply_em, .tablenav .displaying-num, #footer, #footer a, p.help, p.description, span.description, .form-wrap p, #side-sortables .comments-box thead th,
+#normal-sortables .comments-box thead th, .howto, .inline-edit-row fieldset span.title, .inline-edit-row fieldset span.checkbox-title, #utc-time, #local-time, form.upgrade .hint, p.install-help, .imgedit-help {
+ font-style: normal;
+}
diff --git a/wp-admin/css/wp-admin.css b/wp-admin/css/wp-admin.css
new file mode 100644
index 00000000..a7a2dbf9
--- /dev/null
+++ b/wp-admin/css/wp-admin.css
@@ -0,0 +1 @@
+textarea,input[type="text"],input[type="password"],input[type="file"],input[type="button"],input[type="submit"],input[type="reset"],select{border-width:1px;border-style:solid;-moz-border-radius:4px;-khtml-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}p,ul,ol,blockquote,input,select{font-size:12px;}select option{padding:2px;}.plugins .name,#pass-strength-result.strong,#pass-strength-result.short,.button-highlighted,input.button-highlighted,#quicktags #ed_strong,#ed_reply_toolbar #ed_reply_strong{font-weight:bold;}.plugins p{margin:0 4px;padding:0;}.plugins .desc p{margin:0 0 8px;}.plugins td.desc{line-height:1.5em;}.plugins .desc ul,.plugins .desc ol{margin:0 0 0 2em;}.plugins .desc ul{list-style-type:disc;}.plugins .action-links{white-space:nowrap;}.plugins .row-actions-visible{padding:0;}.widefat tbody.plugins th.check-column{padding:7px 0;}.widefat .plugins td,.widefat .plugins th{border-bottom:0 none;}#install-plugins .plugins td,#install-plugins .plugins th{border-bottom-style:solid;border-bottom-width:1px;}.plugins .inactive td,.plugins .inactive th,.plugins .active td,.plugins .active th{border-top-style:solid;border-top-width:1px;padding:5px 7px 0;}#wpbody-content .plugins .plugin-title{padding-right:12px;}.plugins .second td,.plugins .second th{border-top:0 none;padding:0 7px 5px;}.plugins-php .widefat tfoot th,.plugins-php .widefat tfoot td{border-top-style:solid;border-top-width:1px;}.import-system{font-size:16px;}.anchors{margin:10px 20px 10px 20px;}table#availablethemes{border-spacing:0;border-width:1px 0;border-style:solid none;margin:10px auto;width:100%;}td.available-theme{vertical-align:top;width:240px;margin:0;padding:20px;text-align:left;}table#availablethemes td{border-width:0 1px 1px;border-style:none solid solid;}table#availablethemes td.right,table#availablethemes td.left{border-right:0 none;border-left:0 none;}table#availablethemes td.bottom{border-bottom:0 none;}.available-theme a.screenshot{width:240px;height:180px;display:block;border-width:1px;border-style:solid;margin-bottom:10px;overflow:hidden;}.available-theme img{width:240px;}.available-theme h3{margin:15px 0 5px;}#current-theme{margin:1em 0 1.5em;}#current-theme a{border-bottom:none;}#current-theme h3{font-size:17px;font-weight:normal;margin:0;}#current-theme .theme-description{margin-top:5px;}#current-theme img{float:left;border-width:1px;border-style:solid;margin-right:1em;margin-bottom:1.5em;width:150px;}#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{font-weight:bold;text-decoration:none;}#TB_window #TB_title{background-color:#222;color:#cfcfcf;}.checkbox{border:none;margin:0;padding:0;}.code,code{font-family:Consolas,Monaco,Courier,monospace;}kbd,code{padding:1px 3px;margin:0 1px;font-size:11px;}.commentlist li{padding:1em 1em .2em;margin:0;border-bottom-width:1px;border-bottom-style:solid;}.commentlist li li{border-bottom:0;padding:0;}.commentlist p{padding:0;margin:0 0 .8em;}.post-categories{display:inline;margin:0;padding:0;}.post-categories li{display:inline;}.quicktags,.search{font:12px Georgia,"Times New Roman","Bitstream Charter",Times,serif;}.submit{padding:1.5em 0;margin:5px 0;-moz-border-radius:0 0 3px 3px;-webkit-border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;-khtml-border-bottom-left-radius:3px;-khtml-border-bottom-right-radius:3px;border-bottom-left-radius:3px;border-bottom-right-radius:3px;}form p.submit a.cancel:hover{text-decoration:none;}#submitdiv h3{margin-bottom:0!important;}#misc-publishing-actions{padding:6px 0 16px 0;}.misc-pub-section{padding:6px;border-bottom-width:1px;border-bottom-style:solid;}.misc-pub-section-last{border-bottom:0 none;}#minor-publishing-actions{padding:6px;text-align:right;}#minor-publishing{border-bottom-width:1px;border-bottom-style:solid;}#save-post{float:left;}.preview{float:right;}#major-publishing-actions{padding:6px;clear:both;border-top:none;}#minor-publishing-actions input,#major-publishing-actions input,#minor-publishing-actions .preview{min-width:80px;text-align:center;}#delete-action{line-height:25px;vertical-align:middle;text-align:left;float:left;}#publishing-action{text-align:right;float:right;line-height:23px;}#post-body #minor-publishing{padding-bottom:10px;}#post-body #misc-publishing-actions{padding:0;}#post-body .misc-pub-section{border-right-width:1px;border-right-style:solid;border-bottom:0 none;min-height:30px;float:left;max-width:32%;}#post-body .misc-pub-section-last{border-right:0;}#sticky-span{margin-left:18px;}#post-status-display,#post-visibility-display{font-weight:bold;}.side-info{margin:0;padding:4px;font-size:11px;}.side-info h5{padding-bottom:7px;font-size:14px;margin:12px 2px 5px;border-bottom-width:1px;border-bottom-style:solid;}.side-info ul{margin:0;padding-left:18px;list-style:square;}.submit input,.button,input.button,.button-primary,input.button-primary,.button-secondary,input.button-secondary,.button-highlighted,input.button-highlighted,#postcustomstuff .submit input{text-decoration:none;font-size:11px!important;line-height:13px;padding:3px 8px;cursor:pointer;border-width:1px;border-style:solid;-moz-border-radius:11px;-khtml-border-radius:11px;-webkit-border-radius:11px;border-radius:11px;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;-khtml-box-sizing:content-box;box-sizing:content-box;}a.button,a.button-primary,a.button-secondary{line-height:15px;padding:3px 10px;white-space:nowrap;-webkit-border-radius:10px;}#doaction,#doaction2,#post-query-submit{margin-right:8px;}.tablenav select[name="action"],.tablenav select[name="action2"]{width:130px;}.tablenav select[name="m"]{width:155px;}.tablenav select#cat{width:170px;}#wpcontent select{padding:2px;height:2em;font-size:11px;}#wpcontent option{padding:2px;}#timezone_string option{margin-left:1em;}.approve{display:none;}.unapproved .approve,.spam .approve,.trash .approve{display:inline;}.unapproved .unapprove{display:none;}.narrow{width:70%;margin-bottom:40px;}.narrow p{line-height:150%;}textarea.all-options,input.all-options{width:250px;}#namediv table{width:100%;}#namediv td.first{width:10px;white-space:nowrap;}#namediv input{width:98%;}#namediv p{margin:10px 0;}#wpbody-content .metabox-holder{padding-top:10px;}#content{margin:0;width:100%;}#editorcontainer #content{padding:6px;line-height:150%;border:0 none;outline:none;resize:vertical;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-khtml-box-sizing:border-box;box-sizing:border-box;}#editorcontainer,#quicktags{border-style:solid;border-width:1px;border-collapse:separate;-moz-border-radius:6px 6px 0 0;-webkit-border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-khtml-border-top-right-radius:6px;-khtml-border-top-left-radius:6px;border-top-right-radius:6px;border-top-left-radius:6px;}#quicktags{padding:0;margin-bottom:-3px;border-bottom-width:3px;background-image:url("../images/ed-bg.gif");background-position:left top;background-repeat:repeat-x;}#quicktags #ed_toolbar{padding:2px 4px 0;}#ed_toolbar input,#ed_reply_toolbar input{margin:3px 1px 4px;line-height:18px;display:inline-block;min-width:26px;padding:2px 4px;font-size:12px;}#ed_reply_toolbar input{margin:1px 2px 1px 1px;}#quicktags #ed_link,#ed_reply_toolbar #ed_reply_link{text-decoration:underline;}#quicktags #ed_del,#ed_reply_toolbar #ed_reply_del{text-decoration:line-through;}#quicktags #ed_em,#ed_reply_toolbar #ed_reply_em{font-style:italic;}#excerpt,.attachmentlinks{margin:0;height:4em;width:98%;}#postcustomstuff table,#postcustomstuff input,#postcustomstuff textarea{border-width:1px;border-style:solid;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}#postcustomstuff .updatemeta,#postcustomstuff .deletemeta{margin:auto;}#postcustomstuff thead th{padding:5px 8px 8px;}#postcustom #postcustomstuff .submit{border:0 none;float:none;padding:5px 8px;}#side-sortables #postcustom #postcustomstuff .submit{padding:0 5px;}#side-sortables #postcustom #postcustomstuff td.left input{margin:3px 3px 0;}#side-sortables #postcustom #postcustomstuff #the-list textarea{height:85px;margin:3px;}#postcustomstuff table{margin:0;width:100%;border-width:1px;border-style:solid;border-spacing:0;}#postcustomstuff table input,#postcustomstuff table select,#postcustomstuff table textarea{width:95%;margin:8px 0 8px 8px;}#postcustomstuff th.left,#postcustomstuff td.left{width:38%;}#postcustomstuff .submit input{width:auto;}#postcustomstuff #newmeta .submit{padding:0 8px;}#postcustomstuff table #addmetasub{width:auto;}#postcustomstuff #newmetaleft{vertical-align:top;}#postcustomstuff #newmetaleft a{padding:0 10px;text-decoration:none;}#save{width:15em;}#template div{margin-right:190px;}* html #template div{margin-right:0;}.zerosize{height:0;width:0;margin:0;border:0;padding:0;overflow:hidden;position:absolute;}* html #themeselect{padding:0 3px;height:22px;}#your-profile legend{font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;font-size:22px;}#your-profile #rich_editing{border:none;}#howto{font-size:11px;margin:0 5px;display:block;}#ajax-response.alignleft{margin-left:2em;}div.nav{height:2em;padding:7px 10px;vertical-align:text-top;margin:5px 0;}.nav .button-secondary{padding:2px 4px;}a.page-numbers{border-bottom-style:solid;border-bottom-width:2px;font-weight:bold;margin-right:1px;padding:0 2px;}p.pagenav{margin:0;display:inline;}.pagenav span{font-weight:bold;margin:0 6px;}.row-title{font-size:12px!important;font-weight:bold;}.widefat .column-comment p{margin:.6em 0;}.column-author img,.column-username img{float:left;margin-right:10px;margin-top:3px;}.tablenav a.button-secondary{display:block;margin:3px 8px 0 0;}.tablenav{clear:both;height:30px;margin:6px 0 4px;vertical-align:middle;}.tablenav .tablenav-pages{float:right;display:block;cursor:default;height:30px;line-height:30px;font-size:11px;}.tablenav .tablenav-pages a,.tablenav-pages span.current{text-decoration:none;border:none;padding:3px 6px;border-width:1px;border-style:solid;-moz-border-radius:5px;-khtml-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;}.tablenav .displaying-num{margin-right:10px;font-size:12px;font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;font-style:italic;}.tablenav .actions{padding:2px 8px 0 0;}td.media-icon{text-align:center;width:80px;padding-top:8px;padding-bottom:8px;}td.media-icon img{max-width:80px;max-height:60px;}#update-nag,.update-nag{line-height:19px;padding:5px 0;font-size:12px;text-align:center;margin:0 15px;border-width:1px;border-style:solid;border-top-width:0;border-top-style:none;-moz-border-radius:0 0 6px 6px;-webkit-border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-khtml-border-bottom-right-radius:6px;-khtml-border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-bottom-left-radius:6px;}.plugins .plugin-update{padding:0;}.plugin-update .update-message{margin:0 10px 8px 31px;font-weight:bold;}#pass-strength-result{border-style:solid;border-width:1px;float:left;margin:12px 5px 5px 1px;padding:3px 5px;text-align:center;width:200px;}.row-actions{visibility:hidden;padding:2px 0 0;}tr:hover .row-actions,div.comment-item:hover .row-actions{visibility:visible;}.row-actions-visible{padding:2px 0 0;}#wphead-info{margin:0 0 0 15px;padding-right:15px;}#user_info{float:right;font-size:12px;line-height:46px;height:46px;}#user_info p{margin:0;padding:0;line-height:46px;}#wphead{height:46px;}#wphead a,#adminmenu a,#sidemenu a,#taglist a,#catlist a,#show-settings a{text-decoration:none;}#header-logo{float:left;margin:7px 0 0 15px;}#wphead h1{font:normal 22px Georgia,"Times New Roman","Bitstream Charter",Times,serif;padding:10px 8px 5px;margin:0;float:left;}#wphead h1.long-title{font:normal 18px Georgia,"Times New Roman","Bitstream Charter",Times,serif;padding:12px 10px 5px;}#wphead #privacy-on-link{font-size:50%;font-style:normal;line-height:17px;padding:0 6px;vertical-align:middle;}#wphead h1 a:hover{text-decoration:none;}#wphead h1 a:hover #site-title,#wphead h1 a#privacy-on-link:hover{text-decoration:underline;}#adminmenu *{-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;user-select:none;}#adminmenu .wp-submenu{display:none;list-style:none;padding:0;margin:0;position:relative;z-index:2;border-width:1px 0 0;border-style:solid none none;}#adminmenu .wp-submenu a{font:normal 11px/18px "Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover{font-weight:bold;}#adminmenu a.menu-top,#adminmenu .wp-submenu-head{font:normal 13px/18px Georgia,"Times New Roman","Bitstream Charter",Times,serif;}#adminmenu div.wp-submenu-head{display:none;}.folded #adminmenu div.wp-submenu-head,.folded #adminmenu li.wp-has-submenu div.sub-open{display:block;}.folded #adminmenu a.menu-top,.folded #adminmenu .wp-submenu,.folded #adminmenu li.wp-menu-open .wp-submenu,.folded #adminmenu div.wp-menu-toggle{display:none;}#adminmenu li.wp-menu-open .wp-submenu,.no-js #adminmenu .open-if-no-js .wp-submenu{display:block;}#adminmenu div.wp-menu-image{float:left;width:28px;height:28px;}#adminmenu li{margin:0;padding:0;cursor:pointer;}#adminmenu a{display:block;line-height:18px;padding:1px 5px 3px;}#adminmenu li.menu-top{min-height:26px;}#adminmenu a.menu-top{line-height:18px;min-width:10em;padding:5px 5px;border-width:1px 1px 0;border-style:solid solid none;}#adminmenu .wp-submenu a{margin:0;padding-left:12px;border-width:0 1px 0 0;border-style:none solid none none;}#adminmenu .menu-top-last ul.wp-submenu{border-width:0 0 1px;border-style:none none solid;}#adminmenu .wp-submenu li{padding:0;margin:0;}.folded #adminmenu li.menu-top{width:28px;height:30px;overflow:hidden;border-width:1px 1px 0;border-style:solid solid none;}#adminmenu .menu-top-first a.menu-top,.folded #adminmenu li.menu-top-first,#adminmenu .wp-submenu .wp-submenu-head{border-width:1px 1px 0;border-style:solid solid none;-moz-border-radius-topleft:6px;-moz-border-radius-topright:6px;-webkit-border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-khtml-border-top-right-radius:6px;-khtml-border-top-left-radius:6px;border-top-right-radius:6px;border-top-left-radius:6px;}#adminmenu .menu-top-last a.menu-top,.folded #adminmenu li.menu-top-last{border-width:1px;border-style:solid;-moz-border-radius-bottomleft:6px;-moz-border-radius-bottomright:6px;-webkit-border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-khtml-border-bottom-right-radius:6px;-khtml-border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-bottom-left-radius:6px;}#adminmenu li.wp-menu-open a.menu-top-last{border-bottom:0 none;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-khtml-border-bottom-right-radius:0;-khtml-border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0;}#adminmenu .wp-menu-image img{float:left;padding:8px 6px 0;opacity:.6;filter:alpha(opacity=60);}#adminmenu li.menu-top:hover .wp-menu-image img,#adminmenu li.wp-has-current-submenu .wp-menu-image img{opacity:1;filter:alpha(opacity=100);}#adminmenu li.wp-menu-separator{height:21px;padding:0;margin:0;}#adminmenu a.separator{cursor:w-resize;height:20px;padding:0;}.folded #adminmenu a.separator{cursor:e-resize;}#adminmenu .wp-menu-separator-last{height:10px;width:1px;}#adminmenu .wp-submenu .wp-submenu-head{border-width:1px;border-style:solid;padding:6px 4px 6px 10px;cursor:default;}.folded #adminmenu .wp-submenu{position:absolute;margin:-1px 0 0 28px;padding:0 8px 8px;z-index:999;border:0 none;}.folded #adminmenu .wp-submenu ul{width:140px;border-width:0 0 1px;border-style:none none solid;}.folded #adminmenu .wp-submenu li.wp-first-item{border-top:0 none;}.folded #adminmenu .wp-submenu a{padding-left:10px;}.folded #adminmenu a.wp-has-submenu{margin-left:40px;}#adminmenu li.menu-top-last .wp-submenu ul{border-width:0 0 1px;border-style:none none solid;}#adminmenu .wp-menu-toggle{width:22px;clear:right;float:right;margin:1px 0 0;height:27px;padding:1px 2px 0 0;cursor:default;}#adminmenu li.wp-has-current-submenu ul{border-bottom-width:1px;border-bottom-style:solid;}#adminmenu .wp-menu-image a{height:24px;}#adminmenu .wp-menu-image img{padding:6px 0 0 1px;}#adminmenu #awaiting-mod,#adminmenu span.update-plugins,#sidemenu li a span.update-plugins{position:absolute;font-family:Helvetica,Arial,sans-serif;font-size:9px;line-height:17px;font-weight:bold;margin-top:1px;margin-left:7px;-moz-border-radius:10px;-khtml-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;}#adminmenu li #awaiting-mod span,#adminmenu li span.update-plugins span,#sidemenu li a span.update-plugins span{display:block;padding:0 6px;}#adminmenu li span.count-0,#sidemenu li a .count-0{display:none;}.post-com-count-wrapper{min-width:22px;font-family:Helvetica,Arial,sans-serif;}.post-com-count{height:1.3em;line-height:1.1em;display:block;text-decoration:none;padding:0 0 6px;cursor:pointer;background-position:center -80px;background-repeat:no-repeat;}.post-com-count span{font-size:9px;font-weight:bold;height:1.7em;line-height:1.70em;min-width:.7em;padding:0 6px;display:inline-block;cursor:pointer;-moz-border-radius:5px;-khtml-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;}strong .post-com-count{background-position:center -55px;}.post-com-count:hover{background-position:center -3px;}.column-response .post-com-count{float:left;margin-right:5px;text-align:center;}.response-links{float:left;}#the-comment-list .attachment-80x60{padding:4px 8px;}#footer{margin-top:-46px;border-top:1px;border-style:solid;}#footer,#footer a{font-size:12px;font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;font-style:italic;}#footer p{margin:0;padding:15px;line-height:15px;}#footer a{text-decoration:none;}#footer a:hover{text-decoration:underline;}.form-table{border-collapse:collapse;margin-top:.5em;width:100%;margin-bottom:-8px;clear:both;}.form-table td{margin-bottom:9px;padding:8px 10px;line-height:20px;font-size:11px;}.form-table th,.form-wrap label{font-weight:normal;text-shadow:rgba(255,255,255,1) 0 1px 0;}.form-table th{vertical-align:top;text-align:left;padding:10px;width:200px;}.form-table th.th-full{width:auto;}.form-table div.color-option{display:block;clear:both;margin-top:12px;}.form-table input.tog{margin-top:2px;margin-right:2px;float:left;}.form-table table.color-palette{vertical-align:bottom;float:left;margin:-12px 3px 11px;}.form-table .color-palette td{border-width:1px 1px 0;border-style:solid solid none;height:10px;line-height:20px;width:10px;}input.large-text,textarea.large-text{width:99%;}.form-table input.regular-text,#adduser .form-field input{width:25em;}.form-table input.small-text{width:50px;}#profile-page .form-table textarea{width:500px;margin-bottom:6px;}#profile-page .form-table #rich_editing{margin-right:5px;}.form-table .pre{padding:8px;margin:0;}.pre{white-space:pre-wrap;white-space:-moz-pre-wrap!important;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word;}table.form-table td .updated{font-size:13px;}.form-wrap{margin:10px 0;width:97%;}.form-wrap p,.form-wrap label{font-size:11px;}.form-wrap label{display:block;padding:2px;font-size:12px;}.form-field input,.form-field textarea{border-style:solid;border-width:1px;width:95%;}p.description,.form-wrap p{margin:2px 0 5px;}p.help,p.description,span.description,.form-wrap p{font-size:12px;font-style:italic;font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;}.form-wrap .form-field{margin:0 0 10px;padding:8px;}.col-wrap h3{margin:12px 0;font-size:1.1em;}.col-wrap p.submit{margin-top:-10px;}.tagcloud{width:97%;margin:0 0 40px;text-align:justify;}.tagcloud h3{margin:2px 0 12px;}#post-body #normal-sortables{min-height:50px;}#post-body #advanced-sortables{min-height:20px;}.postbox{position:relative;min-width:255px;width:99.5%;}#trackback_url{width:99%;}#normal-sortables .postbox .submit{background:transparent none;border:0 none;float:right;padding:0 12px;margin:0;}#normal-sortables .postbox #replyrow .submit{float:none;margin:0;padding:3px 7px;}#side-sortables .submitbox .submit input,#side-sortables .submitbox .submit .preview,#side-sortables .submitbox .submit a.preview:hover{border:0 none;}#side-sortables .inside-submitbox .insidebox,.stuffbox .insidebox{margin:11px 0;}#side-sortables .comments-box,#normal-sortables .comments-box{border:0 none;}#side-sortables .comments-box thead th,#normal-sortables .comments-box thead th{background:transparent;padding:0 7px 4px;font-style:italic;}#commentsdiv img.waiting{padding-left:5px;vertical-align:middle;}#post-body .tagsdiv #newtag{margin-right:5px;width:16em;}#side-sortables input#post_password{width:94%;}#side-sortables .tagsdiv #newtag{width:68%;}#post-status-info{border-width:0 1px 1px;border-style:none solid solid;width:100%;-moz-border-radius:0 0 6px 6px;-webkit-border-bottom-left-radius:6px;-webkit-border-bottom-right-radius:6px;-khtml-border-bottom-left-radius:6px;-khtml-border-bottom-right-radius:6px;border-bottom-left-radius:6px;border-bottom-right-radius:6px;}#post-status-info td{font-size:11px;}.autosave-info{padding:2px 15px 2px 2px;text-align:right;}#editorcontent #post-status-info{border:none;}#post-body .wp_themeSkin .mceStatusbar a.mceResize{display:block;background:transparent url(../images/resize.gif) no-repeat scroll right bottom;width:12px;cursor:se-resize;margin:0 2px;position:relative;top:22px;}#linksubmitdiv div.inside,div.inside{padding:0;margin:0;}#comment-status-radio p{margin:3px 0 5px;}#comment-status-radio input{margin:2px 3px 5px 0;vertical-align:middle;}#comment-status-radio label{padding:5px 0;}.tagchecklist{margin-left:14px;font-size:12px;overflow:auto;}.tagchecklist strong{margin-left:-8px;position:absolute;}.tagchecklist span{margin-right:25px;display:block;float:left;font-size:11px;line-height:1.8em;white-space:nowrap;cursor:default;}.tagchecklist span a{margin:6px 0 0 -9px;cursor:pointer;width:10px;height:10px;display:block;float:left;text-indent:-9999px;overflow:hidden;position:absolute;}.howto{font-style:italic;display:block;font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;}.ac_results{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;display:none;border-width:1px;border-style:solid;}.ac_results li{padding:2px 5px;white-space:nowrap;text-align:left;}.ac_over{cursor:pointer;}.ac_match{text-decoration:underline;}#poststuff h2{margin-top:20px;font-size:1.5em;margin-bottom:15px;padding:0 0 3px;clear:left;}.widget .widget-top,.postbox h3{cursor:move;-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;user-select:none;}.postbox .hndle span{padding:6px 0;}.postbox .hndle{cursor:move;}.hndle a{font-size:11px;font-weight:normal;}#dashboard-widgets .meta-box-sortables{margin:0 5px;}.postbox .handlediv{float:right;width:23px;height:26px;}.sortable-placeholder{border-width:1px;border-style:dashed;margin-bottom:20px;}#poststuff h3,.metabox-holder h3{font-size:12px;font-weight:bold;padding:7px 9px;margin:0;line-height:1;}.widget,.postbox,.stuffbox{margin-bottom:20px;border-width:1px;border-style:solid;line-height:1;-moz-border-radius:6px;-khtml-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;}.widget .widget-top,.postbox h3,.postbox h3,.stuffbox h3{-moz-border-radius:6px 6px 0 0;-webkit-border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-khtml-border-top-right-radius:6px;-khtml-border-top-left-radius:6px;border-top-right-radius:6px;border-top-left-radius:6px;}.postbox.closed h3{-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;-khtml-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;-khtml-border-bottom-right-radius:4px;border-bottom-right-radius:4px;}.postbox table.form-table{margin-bottom:0;}.postbox input[type="text"],.postbox textarea,.stuffbox input[type="text"],.stuffbox textarea{border-width:1px;border-style:solid;}#poststuff .inside,#poststuff .inside p{font-size:11px;margin:6px 6px 8px;}#poststuff .inside .submitbox p{margin:1em 0;}#post-visibility-select{line-height:1.5em;margin-top:3px;}#poststuff #submitdiv .inside{margin:0;}#titlediv,#poststuff .postarea{margin-bottom:20px;}#titlediv{position:relative;margin-bottom:20px;}#titlediv label{cursor:text;}#titlediv div.inside{margin:0;}#poststuff #titlewrap{border:0;padding:0;}#titlediv #title{padding:3px 4px;border-width:1px;border-style:solid;-moz-border-radius:6px;-khtml-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;font-size:1.7em;line-height:100%;width:100%;outline:none;}#titlediv #title-prompt-text{color:#bbb;position:absolute;font-size:1.7em;padding:8px;}#poststuff .inside-submitbox,#side-sortables .inside-submitbox{margin:0 3px;font-size:11px;}input#link_description,input#link_url{width:98%;}#pending{background:0 none;border:0 none;padding:0;font-size:11px;margin-top:-1px;}#edit-slug-box{height:1em;margin-top:8px;padding:0 7px;}#editable-post-name-full{display:none;}#editable-post-name input{width:16em;}.postarea h3 label{float:left;}.postarea #add-media-button{float:right;margin:7px 0 0;position:relative;right:10px;}#poststuff #editor-toolbar{height:30px;}.wp_themeSkin tr.mceFirst td.mceToolbar{border-width:0 0 1px;border-style:none none solid;}#edButtonPreview,#edButtonHTML{height:18px;margin:5px 5px 0 0;padding:4px 5px 2px;float:right;cursor:pointer;border-width:1px;border-style:solid;-moz-border-radius:3px 3px 0 0;-webkit-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;-khtml-border-top-right-radius:3px;-khtml-border-top-left-radius:3px;border-top-right-radius:3px;border-top-left-radius:3px;}.js .theEditor{color:white;}#poststuff #edButtonHTML{margin-right:15px;}#media-buttons{cursor:default;padding:8px 8px 0;}#media-buttons a{cursor:pointer;padding:0 0 5px 10px;}#media-buttons img,#submitpost #ajax-loading{vertical-align:middle;}.submitbox .submit{text-align:left;padding:12px 10px 10px;font-size:11px;}.submitbox .submitdelete{border-bottom-width:1px;border-bottom-style:solid;text-decoration:none;padding:1px 2px;}.inside-submitbox #post_status{margin:2px 0 2px -2px;}.submitbox .submit a:hover{border-bottom-width:1px;border-bottom-style:solid;}.submitbox .submit input{margin-bottom:8px;margin-right:4px;padding:6px;}#post-status-select{line-height:2.5em;margin-top:3px;}.category-adder{margin-left:120px;padding:4px 0;}.category-adder h4{margin:0 0 8px;}#side-sortables .category-adder{margin:0;}#post-body .category-add input,.category-add select{width:30%;}#side-sortables .category-add input{width:94%;}#side-sortables .category-add select{width:100%;}#side-sortables .category-add input.category-add-sumbit,#post-body .category-add input.category-add input.category-add-sumbit{width:auto;}#post-body ul.category-tabs,#post-body ul.add-menu-item-tabs{float:left;width:120px;text-align:right;margin:0 -120px 0 5px;padding:0;}#post-body ul.category-tabs li,#post-body ul.add-menu-item-tabs li{padding:8px;}#post-body ul.category-tabs li.tabs,#post-body ul.add-menu-item-tabs li.tabs{-moz-border-radius:3px 0 0 3px;-webkit-border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;-khtml-border-top-left-radius:3px;-khtml-border-bottom-left-radius:3px;border-top-left-radius:3px;border-bottom-left-radius:3px;}#post-body ul.category-tabs li.tabs a,#post-body ul.add-menu-item-tabs li.tabs a{font-weight:bold;text-decoration:none;}.categorydiv div.tabs-panel,.customlinkdiv div.tabs-panel,.posttypediv div.tabs-panel,.taxonomydiv div.tabs-panel,#linkcategorydiv div.tabs-panel{height:200px;overflow:auto;padding:.5em .9em;border-style:solid;border-width:1px;}.nav-menus-php .customlinkdiv div.tabs-panel,.nav-menus-php .posttypediv div.tabs-panel,.nav-menus-php .taxonomydiv div.tabs-panel{height:auto;max-height:205px;}div.tabs-panel-active{display:block;}div.tabs-panel-inactive{display:none;}#post-body .categorydiv div.tabs-panel,.taxonomy div.tabs-panel,#post-body #linkcategorydiv div.tabs-panel{margin:0 5px 0 125px;}#side-sortables .category-tabs li,#side-sortables .add-menu-item-tabs li{display:inline;}#side-sortables .category-tabs a,#side-sortables .add-menu-item-tabs a{text-decoration:none;}#side-sortables .category-tabs,#side-sortables .add-menu-item-tabs{margin-bottom:3px;}.categorydiv ul,.customlinkdiv ul,.posttypediv ul,.taxonomydiv ul,#linkcategorydiv ul{list-style:none;padding:0;margin:0;}#front-page-warning,#front-static-pages ul,.inline-editor ul.cat-checklist ul,.categorydiv ul.categorychecklist ul,.customlinkdiv ul.categorychecklist ul,.posttypediv ul.categorychecklist ul,.taxonomydiv ul.categorychecklist ul,#linkcategorydiv ul.categorychecklist ul{margin-left:18px;}ul.categorychecklist li{margin:0;padding:0;line-height:19px;word-wrap:break-word;}.category-adder h4{margin-top:4px;margin-bottom:0;}.categorydiv .tabs-panel,.customlinkdiv .tabs-panel,.posttypediv .tabs-panel,.taxonomydiv .tabs-panel{border-width:3px;border-style:solid;}ul.category-tabs,ul.add-menu-item-tabs{margin-top:12px;}ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs{border-style:solid solid none;border-width:1px 1px 0;}#post-body .category-tabs li.tabs,#post-body .add-menu-item-tabs li.tabs{border-style:solid none solid solid;border-width:1px 0 1px 1px;margin-right:-1px;}ul.category-tabs li,ul.add-menu-item-tabs li{padding:5px;-moz-border-radius:3px 3px 0 0;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-khtml-border-top-left-radius:3px;-khtml-border-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px;}form#tags-filter{position:relative;}p.search-box{float:right;margin:-5px 0 0;}.screen-per-page{width:3em;}#posts-filter fieldset{float:left;margin:0 1.5ex 1em 0;padding:0;}#posts-filter fieldset legend{padding:0 0 .2em 1px;}td.post-title strong,td.plugin-title strong{display:block;margin-bottom:.2em;}td.post-title p,td.plugin-title p{margin:6px 0;}td.plugin-title{white-space:nowrap;}.wp-hidden-children .wp-hidden-child,.ui-tabs-hide{display:none;}.commentlist .avatar{vertical-align:text-top;}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle;}body.wp-admin{min-width:785px;}.view-switch{float:right;margin:6px 8px 0;}.view-switch a{text-decoration:none;}.filter{float:left;margin:-5px 0 0 10px;}.filter .subsubsub{margin-left:-10px;margin-top:13px;}#the-comment-list td.comment p.comment-author{margin-top:0;margin-left:0;}#the-comment-list p.comment-author img{float:left;margin-right:8px;}#the-comment-list p.comment-author strong a{border:none;}#the-comment-list td{vertical-align:top;}#the-comment-list td.comment{word-wrap:break-word;}#the-comment-list .check-column{padding-top:8px;}#templateside ul li a{text-decoration:none;}.indicator-hint{padding-top:8px;}#display_name{width:15em;}.tablenav .delete{margin-right:20px;}td.action-links,th.action-links{text-align:right;}table.diff{width:100%;}table.diff col.content{width:50%;}table.diff tr{background-color:transparent;}table.diff td,table.diff th{padding:.5em;font-family:Consolas,Monaco,Courier,monospace;border:none;}table.diff .diff-deletedline del,table.diff .diff-addedline ins{text-decoration:none;}#wp-word-count{display:block;padding:2px 7px;}fieldset{border:0;padding:0;margin:0;}.tool-box{margin:15px 0 35px;}.tool-box .buttons{margin:15px 0;}.tool-box .title{margin:8px 0;font:18px/24px Georgia,"Times New Roman","Bitstream Charter",Times,serif;}.pressthis a{font-size:1.2em;}#wp_editbtns,#wp_gallerybtns{padding:2px;position:absolute;display:none;z-index:999998;}#wp_editimgbtn,#wp_delimgbtn,#wp_editgallery,#wp_delgallery{margin:2px;padding:2px;border-width:1px;border-style:solid;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}.settings-toggle{text-align:right;margin:5px 7px 15px 0;font-size:12px;}.settings-toggle h3{margin:0;}#timestampdiv select{height:20px;line-height:14px;padding:0;vertical-align:top;}#jj,#hh,#mn{width:2em;padding:1px;font-size:12px;}#aa{width:3.4em;padding:1px;font-size:12px;}.curtime #timestamp{background-repeat:no-repeat;background-position:left top;padding-left:18px;}#timestampdiv{padding-top:5px;line-height:23px;}#timestampdiv p{margin:8px 0 6px;}#timestampdiv input{border-width:1px;border-style:solid;}#sidemenu{margin:-30px 15px 0 315px;list-style:none;position:relative;float:right;padding-left:10px;font-size:12px;}#sidemenu a{padding:0 7px;display:block;float:left;line-height:28px;border-top-width:1px;border-top-style:solid;border-bottom-width:1px;border-bottom-style:solid;}#sidemenu li{display:inline;line-height:200%;list-style:none;text-align:center;white-space:nowrap;margin:0;padding:0;}#sidemenu a.current{font-weight:normal;padding-left:6px;padding-right:6px;-moz-border-radius:4px 4px 0 0;-webkit-border-top-left-radius:4px;-webkit-border-top-right-radius:4px;-khtml-border-top-left-radius:4px;-khtml-border-top-right-radius:4px;border-top-left-radius:4px;border-top-right-radius:4px;border-width:1px;border-style:solid;}#sidemenu{margin:-30px 15px 0 315px;list-style:none;position:relative;float:right;padding-left:10px;font-size:12px;}#sidemenu a{padding:0 7px;display:block;float:left;line-height:28px;border-top-width:1px;border-top-style:solid;border-bottom-width:1px;border-bottom-style:solid;}#sidemenu li a .count-0{display:none;}#replyrow{font-size:11px;}#replyrow input{border-width:1px;border-style:solid;}#replyrow td{padding:2px;}#replyrow #editorcontainer{border:0 none;}#replysubmit{margin:0;padding:3px 7px;}#replysubmit img.waiting,.inline-edit-save img.waiting{padding:4px 10px 0;vertical-align:top;float:right;}#replysubmit .button{margin-right:5px;}#replyrow #editor-toolbar{display:none;}#replyhead{font-size:12px;font-weight:bold;padding:2px 10px 4px;}#edithead .inside{float:left;padding:3px 0 2px 5px;margin:0;text-align:center;font-size:11px;}#edithead .inside input{width:180px;font-size:11px;}#edithead label{padding:2px 0;}#replycontainer{padding:5px;border:0 none;height:120px;overflow:hidden;position:relative;}#replycontent{resize:none;margin:0;width:100%;height:100%;padding:0;line-height:150%;border:0 none;outline:none;font-size:12px;}#replyrow #ed_reply_toolbar{margin:0;padding:2px 3px;}#screen-meta{position:relative;clear:both;}#screen-meta-links{margin:0 18px 0 0;}#screen-meta .screen-reader-text{visibility:hidden;}#screen-options-link-wrap,#contextual-help-link-wrap{float:right;height:22px;padding:0;margin:0 6px 0 0;font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;background:#e3e3e3;-moz-border-radius-bottomleft:3px;-moz-border-radius-bottomright:3px;-webkit-border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;}#contextual-help-wrap li{list-style-type:disc;margin-left:18px;}#screen-meta a.show-settings{text-decoration:none;z-index:1;padding:0 16px 0 6px;height:22px;line-height:22px;font-size:10px;display:block;background-repeat:no-repeat;background-position:right bottom;}#screen-meta a.show-settings{background-image:url(../images/screen-options-right.gif?ver=20100531);}#screen-meta a.show-settings:hover{text-decoration:none;}#screen-options-wrap h5,#contextual-help-wrap h5{margin:8px 0;font-size:13px;}#screen-options-wrap,#contextual-help-wrap{border-style:none solid solid;border-top:0 none;border-width:0 1px 1px;margin:0 15px;padding:8px 12px 12px;-moz-border-radius:0 0 0 4px;-webkit-border-bottom-left-radius:4px;-khtml-border-bottom-left-radius:4px;border-bottom-left-radius:4px;}.metabox-prefs label{padding-right:15px;white-space:nowrap;line-height:30px;}.metabox-prefs label input{margin:0 5px 0 2px;}.metabox-prefs label a{display:none;}tr.inline-edit-row td{padding:0 .5em;}#wpbody-content .inline-edit-row fieldset{font-size:12px;float:left;margin:0;padding:0;width:100%;}#wpbody-content .inline-edit-row fieldset .inline-edit-col{padding:0 .5em;}#wpbody-content .quick-edit-row-page fieldset.inline-edit-col-right .inline-edit-col{border-width:0 0 0 1px;border-style:none none none solid;}#wpbody-content .quick-edit-row-post .inline-edit-col-left{width:40%;}#wpbody-content .quick-edit-row-post .inline-edit-col-right{width:39%;}#wpbody-content .inline-edit-row-post .inline-edit-col-center{width:20%;}#wpbody-content .quick-edit-row-page .inline-edit-col-left{width:50%;}#wpbody-content .quick-edit-row-page .inline-edit-col-right,#wpbody-content .bulk-edit-row-post .inline-edit-col-right{width:49%;}#wpbody-content .bulk-edit-row .inline-edit-col-left{width:30%;}#wpbody-content .bulk-edit-row-page .inline-edit-col-right{width:69%;}#wpbody-content .bulk-edit-row .inline-edit-col-bottom{float:right;width:69%;}#wpbody-content .inline-edit-row-page .inline-edit-col-right,#owpbody-content .bulk-edit-row-post .inline-edit-col-right{margin-top:27px;}.inline-edit-row fieldset .inline-edit-group{clear:both;}.inline-edit-row fieldset .inline-edit-group:after{content:".";display:block;height:0;clear:both;visibility:hidden;}.inline-edit-row p.submit{clear:both;padding:.5em;margin:.5em 0 0;}.inline-edit-row span.error{line-height:22px;margin:0 15px;padding:3px 5px;}.inline-edit-row h4{margin:.2em 0;padding:0;line-height:23px;}.inline-edit-row fieldset span.title,.inline-edit-row fieldset span.checkbox-title{margin:0;padding:0;line-height:27px;}.inline-edit-row fieldset label,.inline-edit-row fieldset span.inline-edit-categories-label{display:block;margin:.2em 0;}.inline-edit-row fieldset label.inline-edit-tags{margin-top:0;}.inline-edit-row fieldset label.inline-edit-tags span.title{margin:.2em 0;}.inline-edit-row fieldset label span.title{display:block;float:left;width:5em;}.inline-edit-row fieldset label span.input-text-wrap{display:block;margin-left:5em;}.quick-edit-row-post fieldset.inline-edit-col-right label span.title{width:auto;padding-right:.5em;}.inline-edit-row .input-text-wrap input[type=text]{width:100%;}.inline-edit-row fieldset label input[type=checkbox]{vertical-align:text-bottom;}.inline-edit-row fieldset label textarea{width:100%;height:4em;}#wpbody-content .bulk-edit-row fieldset .inline-edit-group label{max-width:50%;}#wpbody-content .quick-edit-row fieldset .inline-edit-group label.alignleft:first-child{margin-right:.5em;}.inline-edit-row h4{text-transform:uppercase;}.inline-edit-row fieldset span.title,.inline-edit-row fieldset span.checkbox-title{font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;font-style:italic;line-height:1.8em;}.inline-edit-row fieldset input[type="text"],.inline-edit-row fieldset textarea{border-style:solid;border-width:1px;}.inline-edit-row fieldset .inline-edit-date{float:left;}.inline-edit-row fieldset input[name=jj],.inline-edit-row fieldset input[name=hh],.inline-edit-row fieldset input[name=mn]{font-size:12px;width:2.1em;}.inline-edit-row fieldset input[name=aa]{font-size:12px;width:3.5em;}.inline-edit-row fieldset label input.inline-edit-password-input{width:8em;}.inline-edit-row .catshow,.inline-edit-row .cathide{cursor:pointer;}ul.cat-checklist{height:12em;border-style:solid;border-width:1px;overflow-y:scroll;padding:0 5px;margin:0;}#bulk-titles{display:block;height:12em;border-style:solid;border-width:1px;overflow-y:scroll;padding:0 5px;margin:0 0 5px;}.inline-edit-row fieldset ul.cat-checklist li,.inline-edit-row fieldset ul.cat-checklist input{margin:0;}.inline-edit-row fieldset ul.cat-checklist label,.inline-edit-row .catshow,.inline-edit-row .cathide,.inline-edit-row #bulk-titles div{font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;font-style:normal;font-size:11px;}table .inline-edit-row fieldset ul.cat-hover{height:auto;max-height:30em;overflow-y:auto;position:absolute;}.inline-edit-row fieldset label input.inline-edit-menu-order-input{width:3em;}.inline-edit-row fieldset label input.inline-edit-slug-input{width:75%;}.quick-edit-row-post fieldset label.inline-edit-status{float:left;}#bulk-titles{line-height:140%;}#bulk-titles div{margin:.2em .3em;}#bulk-titles div a{cursor:pointer;display:block;float:left;height:10px;margin:3px 3px 0 -2px;overflow:hidden;position:relative;text-indent:-9999px;width:10px;}#wpbody-content #media-items .describe{border-collapse:collapse;width:100%;border-top-style:solid;border-top-width:1px;clear:both;cursor:default;padding:5px;}#wpbody-content .describe th{vertical-align:top;text-align:left;padding:10px;width:140px;}#wpbody-content .describe .media-item-info tr{background-color:transparent;}#wpbody-content .describe .media-item-info td{padding:4px 10px 0;}.describe .media-item-info .A1B1{padding:0 0 0 10px;}#wpbody-content .filename{padding:0 10px;}#wpbody-content .media-item .thumbnail{max-height:128px;max-width:128px;}#wpbody-content #async-upload-wrap a{display:none;}.media-upload-form td label{margin-right:6px;margin-left:2px;}.media-upload-form .align .field label{display:inline;padding:0 0 0 22px;margin:0 1em 0 0;font-weight:bold;}.media-upload-form tr.image-size label{margin:0 0 0 3px;font-weight:bold;}.media-upload-form th.label label{font-weight:bold;margin:.5em;font-size:13px;}.media-upload-form th.label label span{padding:0 5px;}abbr.required{border:medium none;text-decoration:none;}#wpbody-content .describe input[type="text"],#wpbody-content .describe textarea{width:460px;}#wpbody-content .describe p.help{margin:0;padding:0 0 0 5px;}.media-item .error-div a.dismiss,.describe-toggle-on,.describe-toggle-off{display:block;line-height:36px;float:right;margin-right:20px;}.describe-toggle-off{display:none;}#wpbody-content .media-item{border-bottom-style:solid;border-bottom-width:1px;min-height:36px;position:relative;width:100%;}#wpbody-content .media-single .media-item{border-bottom-style:none;border-bottom-width:0;}#wpbody-content #media-items{border-style:solid solid none;border-width:1px;width:670px;}#wpbody-content #media-items .filename{line-height:36px;overflow:hidden;}.media-item .error-div{padding-left:10px;}.media-item .pinkynail{float:left;margin:2px;max-width:40px;max-height:32px;}.media-item .startopen,.media-item .startclosed{display:none;}.media-item .original{position:relative;height:34px;width:503px;}.media-item .percent{font-weight:bold;}.crunching{display:block;line-height:32px;text-align:right;margin-right:5px;}.progress{position:relative;margin-bottom:-36px;height:36px;}.bar{width:0;height:100%;border-right-width:3px;border-right-style:solid;}.upload-php .fixed .column-parent{width:25%;}.find-box{width:500px;height:300px;overflow:hidden;padding:33px 5px 40px;position:absolute;z-index:1000;}.find-box-head{cursor:move;font-weight:bold;height:2em;line-height:2em;padding:1px 12px;position:absolute;top:5px;width:100%;}.find-box-inside{overflow:auto;width:100%;height:100%;}.find-box-search{padding:12px;border-width:1px;border-style:none none solid;}#find-posts-response{margin:8px 0;padding:0 1px;}#find-posts-response table{width:100%;}#find-posts-response .found-radio{padding:5px 0 0 8px;width:15px;}.find-box-buttons{width:480px;margin:8px;}.find-box-search label{padding-right:6px;}.find-box #resize-se{position:absolute;right:1px;bottom:1px;}#favorite-actions{float:right;margin:11px 12px 0;min-width:130px;position:relative;}#favorite-first{-moz-border-radius:12px;-khtml-border-radius:12px;-webkit-border-radius:12px;border-radius:12px;line-height:15px;padding:3px 30px 4px 12px;border-width:1px;border-style:solid;}#favorite-inside{margin:0;padding:2px 1px;border-width:1px;border-style:solid;position:absolute;z-index:11;display:none;-moz-border-radius:0 0 12px 12px;-webkit-border-bottom-right-radius:12px;-webkit-border-bottom-left-radius:12px;-khtml-border-bottom-right-radius:12px;-khtml-border-bottom-left-radius:12px;border-bottom-right-radius:12px;border-bottom-left-radius:12px;}#favorite-actions a{display:block;text-decoration:none;font-size:11px;}#favorite-inside a{padding:3px 5px 3px 10px;}#favorite-toggle{height:22px;position:absolute;right:0;top:1px;width:28px;}#favorite-actions .slide-down{-moz-border-radius:12px 12px 0 0;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-khtml-border-bottom-right-radius:0;-khtml-border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0;border-bottom:none;}#utc-time,#local-time{padding-left:25px;font-style:italic;font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;}ul#dismissed-updates{display:none;}form.upgrade{margin-top:8px;}form.upgrade .hint{font-style:italic;font-size:85%;margin:-0.5em 0 2em 0;}#poststuff .inside .the-tagcloud{margin:5px 0 10px;padding:8px;border-width:1px;border-style:solid;line-height:1.8em;word-spacing:3px;-moz-border-radius:6px;-khtml-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;}br.clear{height:2px;line-height:2px;}.swfupload{margin:5px 10px;vertical-align:middle;}table.fixed{table-layout:fixed;}.fixed .column-rating,.fixed .column-visible{width:8%;}.fixed .column-date,.fixed .column-parent,.fixed .column-links{width:10%;}.fixed .column-response,.fixed .column-author,.fixed .column-categories,.fixed .column-tags,.fixed .column-rel,.fixed .column-role{width:15%;}.fixed .column-comments{width:4em;padding-top:8px;}.fixed .column-slug{width:25%;}.fixed .column-posts{width:10%;}.fixed .column-icon{width:80px;}#commentsdiv .fixed .column-author,#comments-form .fixed .column-author{width:20%;}.widefat th,.widefat td{overflow:hidden;}.widefat td p{margin:2px 0 .8em;}table .vers,table .column-visible,table .column-rating{text-align:center;}.icon32{float:left;height:36px;margin:14px 6px 0 0;width:36px;}.key-labels label{line-height:24px;}.subtitle{font-size:.75em;line-height:1;padding-left:25px;}ol{list-style-type:decimal;margin-left:2em;}.postbox-container{float:left;padding-right:.5%;}.postbox-container .meta-box-sortables{min-height:300px;}.temp-border{border:1px dotted #ccc;}.columns-prefs label{padding:0 5px;}.theme-install-php h4,.plugin-install-php h4{margin:2.5em 0 8px;}p.install-help{margin:8px 0;font-style:italic;}p.popular-tags{-moz-border-radius:8px;-khtml-border-radius:8px;-webkit-border-radius:8px;border-radius:8px;border-width:1px;border-style:solid;line-height:2em;padding:8px 12px 12px;text-align:justify;}p.popular-tags a{padding:0 3px;}.stuffbox .editcomment{clear:none;}.ajax-feedback{visibility:hidden;vertical-align:bottom;}.tagsdiv .newtag{width:180px;}.tagsdiv .the-tags{display:block;height:60px;margin:0 auto;overflow:auto;width:260px;}#post-body-content .tagsdiv .the-tags{margin:0 5px;}label,#your-profile label+a{vertical-align:middle;}#misc-publishing-actions label{vertical-align:baseline;}.plugin-update-tr .update-message{margin:5px;padding:3px 5px;border-width:1px;border-style:solid;-moz-border-radius:5px;-khtml-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;}.add-new-h2{font-style:normal;margin:0 6px;position:relative;top:-3px;}.describe .image-editor{vertical-align:top;}.imgedit-wrap{position:relative;}.imgedit-settings p{margin:8px 0;}.describe .imgedit-wrap table td{vertical-align:top;padding-top:0;}.imgedit-wrap p,.describe .imgedit-wrap table td{font-size:11px;line-height:18px;}.describe .imgedit-wrap table td.imgedit-settings{padding:0 5px;}td.imgedit-settings input{vertical-align:middle;}.imgedit-wait{position:absolute;top:0;background:#FFF url(../images/wpspin_light.gif) no-repeat scroll 22px 10px;opacity:.7;filter:alpha(opacity=70);width:100%;height:500px;display:none;}.media-disabled,.imgedit-settings .disabled{color:grey;}.imgedit-wait-spin{padding:0 4px 4px;vertical-align:bottom;visibility:hidden;}.imgedit-menu{margin:0 0 12px;min-width:300px;}.imgedit-menu div{float:left;width:32px;height:32px;-moz-border-radius:4px;-khtml-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;border-width:1px;border-style:solid;}.imgedit-crop-wrap{position:relative;}.imgedit-crop{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -9px -31px;margin:0 8px 0 0;}.imgedit-crop.disabled:hover{background-position:-9px -31px;}.imgedit-crop:hover{background-position:-9px -1px;}.imgedit-rleft{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -46px -31px;margin:0 3px;}.imgedit-rleft.disabled:hover{background-position:-46px -31px;}.imgedit-rleft:hover{background-position:-46px -1px;}.imgedit-rright{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -77px -31px;margin:0 8px 0 3px;}.imgedit-rright.disabled:hover{background-position:-77px -31px;}.imgedit-rright:hover{background-position:-77px -1px;}.imgedit-flipv{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -115px -31px;margin:0 3px;}.imgedit-flipv.disabled:hover{background-position:-115px -31px;}.imgedit-flipv:hover{background-position:-115px -1px;}.imgedit-fliph{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -147px -31px;margin:0 8px 0 3px;}.imgedit-fliph.disabled:hover{background-position:-147px -31px;}.imgedit-fliph:hover{background-position:-147px -1px;}.imgedit-undo{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -184px -31px;margin:0 3px;}.imgedit-undo.disabled:hover{background-position:-184px -31px;}.imgedit-undo:hover{background-position:-184px -1px;}.imgedit-redo{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -215px -31px;margin:0 8px 0 3px;}.imgedit-redo.disabled:hover{background-position:-215px -31px;}.imgedit-redo:hover{background-position:-215px -1px;}.imgedit-applyto img{margin:0 8px 0 0;}.imgedit-group-top{margin:5px 0;}.imgedit-applyto .imgedit-label{padding:2px 0 0;display:block;}.imgedit-help{display:none;font-style:italic;margin-bottom:8px;}.imgedit-help ul li{font-size:11px;}a.imgedit-help-toggle{text-decoration:none;}#wpbody-content .imgedit-response div{width:600px;margin:8px;}.form-table td.imgedit-response{padding:0;}.imgedit-submit{margin:8px 0;}.imgedit-submit-btn{margin-left:20px;}.imgedit-wrap .nowrap{white-space:nowrap;}span.imgedit-scale-warn{color:red;font-size:20px;font-style:normal;visibility:hidden;vertical-align:middle;}.imgedit-group{border-width:1px;border-style:solid;-moz-border-radius:8px;-khtml-border-radius:8px;-webkit-border-radius:8px;border-radius:8px;margin-bottom:8px;padding:2px 10px;}#dashboard_recent_comments div.undo{border-top-style:solid;border-top-width:1px;margin:0 -10px;padding:3px 8px;font-size:11px;}.trash-undo-inside,.spam-undo-inside{margin:1px 8px 1px 0;line-height:16px;}.spam-undo-inside .avatar,.trash-undo-inside .avatar{height:20px;width:20px;margin-right:8px;vertical-align:middle;}.taghint{color:#aaa;margin:15px 0 -24px 12px;}#poststuff .tagsdiv .howto{margin:0 0 6px 8px;}.ajaxtag .newtag{background:transparent;position:relative;}#broken-themes{text-align:left;width:50%;border-spacing:3px;padding:3px;}.describe .del-link{padding-left:5px;}.comment-ays{margin-bottom:0;border-style:solid;border-width:1px;}.comment-ays th{border-right-style:solid;border-right-width:1px;}div#custom-background-image{min-height:100px;border:1px solid #dfdfdf;}div#custom-background-image img{max-width:400px;max-height:300px;}#custom-background label{padding-right:15px;}.appearance_page_custom-header #headimg{border:1px solid #DFDFDF;min-height:100px;width:100%;}.appearance_page_custom-header #upload-form p label{font-size:11px;}.appearance_page_custom-header #available-headers .default-header{float:left;margin:0 20px 20px 0;}.appearance_page_custom-header #available-headers label input{margin-right:10px;}.appearance_page_custom-header #available-headers label img{vertical-align:middle;}.nav-tab{border-style:solid;border-color:#ccc #ccc #f9f9f9;border-width:1px 1px 0;color:#c1c1c1;text-shadow:rgba(255,255,255,1) 0 1px 0;font-size:12px;line-height:16px;display:inline-block;padding:4px 14px 6px;text-decoration:none;margin:0 6px -1px 0;-moz-border-radius:5px 5px 0 0;-webkit-border-top-left-radius:5px;-webkit-border-top-right-radius:5px;-khtml-border-top-left-radius:5px;-khtml-border-top-right-radius:5px;border-top-left-radius:5px;border-top-right-radius:5px;}.nav-tab-active{border-width:1px;color:#464646;}.themes-php .wrap h2,.theme-install-php .wrap h2{border-bottom:1px solid #ccc;padding-bottom:0;}h2 .nav-tab{padding:4px 20px 6px;font:italic normal normal 24px/35px Georgia,"Times New Roman","Bitstream Charter",Times,serif;}body.update-php{height:98%;}
\ No newline at end of file
diff --git a/wp-admin/wp-admin.dev.css b/wp-admin/css/wp-admin.dev.css
similarity index 89%
rename from wp-admin/wp-admin.dev.css
rename to wp-admin/css/wp-admin.dev.css
index 4813e8f4..cb84cc33 100644
--- a/wp-admin/wp-admin.dev.css
+++ b/wp-admin/css/wp-admin.dev.css
@@ -389,8 +389,8 @@ input.button-highlighted,
#postcustomstuff .submit input {
text-decoration: none;
font-size: 11px !important;
- line-height: 14px;
- padding: 2px 8px;
+ line-height: 13px;
+ padding: 3px 8px;
cursor: pointer;
border-width: 1px;
border-style: solid;
@@ -504,6 +504,7 @@ textarea.all-options, input.all-options {
line-height: 150%;
border: 0 none;
outline: none;
+ resize: vertical;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
-khtml-box-sizing: border-box;
@@ -528,7 +529,7 @@ textarea.all-options, input.all-options {
padding: 0;
margin-bottom: -3px;
border-bottom-width: 3px;
- background-image: url("images/ed-bg.gif");
+ background-image: url("../images/ed-bg.gif");
background-position: left top;
background-repeat: repeat-x;
}
@@ -795,6 +796,7 @@ td.media-icon {
text-align: center;
width: 80px;
padding-top: 8px;
+ padding-bottom: 8px;
}
td.media-icon img {
@@ -802,15 +804,23 @@ td.media-icon img {
max-height: 60px;
}
-#update-nag {
- line-height: 29px;
+#update-nag, .update-nag {
+ line-height: 19px;
+ padding: 5px 0;
font-size: 12px;
text-align: center;
-}
-
-#update-nag {
- border-width: 1px 0;
- border-style: solid none;
+ margin: 0 15px;
+ border-width: 1px;
+ border-style: solid;
+ border-top-width: 0;
+ border-top-style: none;
+ -moz-border-radius: 0 0 6px 6px;
+ -webkit-border-bottom-right-radius: 6px;
+ -webkit-border-bottom-left-radius: 6px;
+ -khtml-border-bottom-right-radius: 6px;
+ -khtml-border-bottom-left-radius: 6px;
+ border-bottom-right-radius: 6px;
+ border-bottom-left-radius: 6px;
}
.plugins .plugin-update {
@@ -844,7 +854,6 @@ div.comment-item:hover .row-actions {
.row-actions-visible {
padding: 2px 0 0;
- cursor: pointer;
}
/* Admin Header */
@@ -896,28 +905,19 @@ div.comment-item:hover .row-actions {
padding: 12px 10px 5px;
}
-#wphead #site-visit-button {
- background-repeat:repeat-x;
- background-position:0 0;
- -moz-border-radius:3px;
- -webkit-border-radius:3px;
- -khtml-border-radius:3px;
- border-radius:3px;
- cursor:pointer; /* to keep IE happy */
- display:-moz-inline-stack; /* to keep FF2 happy */
- display:inline-block;
+#wphead #privacy-on-link {
font-size: 50%;
- font-style:normal;
- line-height:17px;
- margin-left:5px;
- padding:0 6px;
- vertical-align:middle;
+ font-style: normal;
+ line-height: 17px;
+ padding: 0 6px;
+ vertical-align: middle;
}
#wphead h1 a:hover {
text-decoration:none;
}
-#wphead h1 a:hover #site-title {
+#wphead h1 a:hover #site-title,
+#wphead h1 a#privacy-on-link:hover {
text-decoration:underline;
}
@@ -1175,23 +1175,21 @@ div.comment-item:hover .row-actions {
#sidemenu li a span.update-plugins {
position: absolute;
font-family: Helvetica, Arial, sans-serif;
- font-size: 7pt;
+ font-size: 9px;
+ line-height: 17px;
font-weight: bold;
- margin-top: 2px;
- margin-left: 2px;
- -moz-border-radius: 7px;
- -khtml-border-radius: 7px;
- -webkit-border-radius: 7px;
- border-radius: 7px;
+ margin-top: 1px;
+ margin-left: 7px;
+ -moz-border-radius: 10px;
+ -khtml-border-radius: 10px;
+ -webkit-border-radius: 10px;
+ border-radius: 10px;
}
#adminmenu li #awaiting-mod span,
#adminmenu li span.update-plugins span,
#sidemenu li a span.update-plugins span {
- float: left;
display: block;
- height: 1.6em;
- line-height: 1.6em;
padding: 0 6px;
}
@@ -1257,7 +1255,9 @@ strong .post-com-count {
/* Admin Footer */
#footer {
- margin-top: -45px;
+ margin-top: -46px;
+ border-top: 1px;
+ border-style: solid;
}
#footer,
@@ -1341,6 +1341,7 @@ strong .post-com-count {
width: 10px;
}
+input.large-text,
textarea.large-text {
width: 99%;
}
@@ -1546,7 +1547,7 @@ span.description,
#post-body .wp_themeSkin .mceStatusbar a.mceResize {
display: block;
- background: transparent url(images/resize.gif) no-repeat scroll right bottom;
+ background: transparent url(../images/resize.gif) no-repeat scroll right bottom;
width: 12px;
cursor: se-resize;
margin: 0 2px;
@@ -1719,11 +1720,11 @@ div.inside {
}
.postbox.closed h3 {
- -moz-border-radius-bottomleft:4px;
+ -moz-border-radius-bottomleft: 4px;
-webkit-border-bottom-left-radius: 4px;
-khtml-border-bottom-left-radius: 4px;
border-bottom-left-radius: 4px;
- -moz-border-radius-bottomright:4px;
+ -moz-border-radius-bottomright: 4px;
-webkit-border-bottom-right-radius: 4px;
-khtml-border-bottom-right-radius: 4px;
border-bottom-right-radius: 4px;
@@ -1765,6 +1766,7 @@ div.inside {
}
#titlediv {
+ position: relative;
margin-bottom: 20px;
}
#titlediv label { cursor: text; }
@@ -1788,10 +1790,18 @@ div.inside {
-webkit-border-radius: 6px;
border-radius: 6px;
font-size: 1.7em;
+ line-height: 100%;
width: 100%;
outline: none;
}
+#titlediv #title-prompt-text {
+ color: #bbb;
+ position: absolute;
+ font-size: 1.7em;
+ padding: 8px;
+}
+
#poststuff .inside-submitbox,
#side-sortables .inside-submitbox {
margin: 0 3px;
@@ -1921,36 +1931,37 @@ input#link_url {
/* Categories */
-#category-adder {
+.category-adder {
margin-left: 120px;
padding: 4px 0;
}
-#category-adder h4 {
+.category-adder h4 {
margin: 0 0 8px;
}
-#side-sortables #category-adder {
+#side-sortables .category-adder {
margin: 0;
}
-#post-body #category-add input, #category-add select {
+#post-body .category-add input, .category-add select {
width: 30%;
}
-#side-sortables #category-add input {
+#side-sortables .category-add input {
width: 94%;
}
-#side-sortables #category-add select {
+#side-sortables .category-add select {
width: 100%;
}
-#category-add input#category-add-sumbit {
+#side-sortables .category-add input.category-add-sumbit, #post-body .category-add input.category-add input.category-add-sumbit {
width: auto;
}
-#post-body ul#category-tabs {
+#post-body ul.category-tabs,
+#post-body ul.add-menu-item-tabs {
float: left;
width: 120px;
text-align: right;
@@ -1959,11 +1970,13 @@ input#link_url {
padding: 0;
}
-#post-body ul#category-tabs li {
+#post-body ul.category-tabs li,
+#post-body ul.add-menu-item-tabs li {
padding: 8px;
}
-#post-body ul#category-tabs li.tabs {
+#post-body ul.category-tabs li.tabs,
+#post-body ul.add-menu-item-tabs li.tabs {
-moz-border-radius: 3px 0 0 3px;
-webkit-border-top-left-radius: 3px;
-webkit-border-bottom-left-radius: 3px;
@@ -1973,12 +1986,16 @@ input#link_url {
border-bottom-left-radius: 3px;
}
-#post-body ul#category-tabs li.tabs a {
+#post-body ul.category-tabs li.tabs a,
+#post-body ul.add-menu-item-tabs li.tabs a {
font-weight: bold;
text-decoration: none;
}
-#categorydiv div.tabs-panel,
+.categorydiv div.tabs-panel,
+.customlinkdiv div.tabs-panel,
+.posttypediv div.tabs-panel,
+.taxonomydiv div.tabs-panel,
#linkcategorydiv div.tabs-panel {
height: 200px;
overflow: auto;
@@ -1987,32 +2004,59 @@ input#link_url {
border-width: 1px;
}
-#post-body #categorydiv div.tabs-panel,
+.nav-menus-php .customlinkdiv div.tabs-panel,
+.nav-menus-php .posttypediv div.tabs-panel,
+.nav-menus-php .taxonomydiv div.tabs-panel {
+ height: auto;
+ max-height: 205px;
+}
+
+div.tabs-panel-active {
+ display:block;
+}
+
+div.tabs-panel-inactive {
+ display:none;
+}
+
+#post-body .categorydiv div.tabs-panel,
+.taxonomy div.tabs-panel,
#post-body #linkcategorydiv div.tabs-panel {
margin: 0 5px 0 125px;
}
-#side-sortables #category-tabs li {
+#side-sortables .category-tabs li,
+#side-sortables .add-menu-item-tabs li {
display: inline;
- padding-right: 8px;
}
-#side-sortables #category-tabs a {
+#side-sortables .category-tabs a,
+#side-sortables .add-menu-item-tabs a {
text-decoration: none;
}
-#side-sortables #category-tabs {
+#side-sortables .category-tabs,
+#side-sortables .add-menu-item-tabs {
margin-bottom: 3px;
}
-#categorydiv ul,
+.categorydiv ul,
+.customlinkdiv ul,
+.posttypediv ul,
+.taxonomydiv ul,
#linkcategorydiv ul {
list-style: none;
padding: 0;
margin: 0;
}
-#categorydiv ul.categorychecklist ul,
+#front-page-warning,
+#front-static-pages ul,
+.inline-editor ul.cat-checklist ul,
+.categorydiv ul.categorychecklist ul,
+.customlinkdiv ul.categorychecklist ul,
+.posttypediv ul.categorychecklist ul,
+.taxonomydiv ul.categorychecklist ul,
#linkcategorydiv ul.categorychecklist ul {
margin-left: 18px;
}
@@ -2021,35 +2065,43 @@ ul.categorychecklist li {
margin: 0;
padding: 0;
line-height: 19px;
+ word-wrap: break-word;
}
-#category-adder h4 {
+.category-adder h4 {
margin-top: 4px;
margin-bottom: 0px;
}
-#categorydiv .tabs-panel {
+.categorydiv .tabs-panel,
+.customlinkdiv .tabs-panel,
+.posttypediv .tabs-panel,
+.taxonomydiv .tabs-panel {
border-width: 3px;
border-style: solid;
}
-ul#category-tabs {
+ul.category-tabs,
+ul.add-menu-item-tabs {
margin-top: 12px;
}
-ul#category-tabs li.tabs {
+ul.category-tabs li.tabs,
+ul.add-menu-item-tabs li.tabs {
border-style: solid solid none;
border-width: 1px 1px 0;
}
-#post-body #category-tabs li.tabs {
+#post-body .category-tabs li.tabs,
+#post-body .add-menu-item-tabs li.tabs {
border-style: solid none solid solid;
border-width: 1px 0 1px 1px;
margin-right: -1px;
}
-ul#category-tabs li {
- padding: 5px 8px;
+ul.category-tabs li,
+ul.add-menu-item-tabs li {
+ padding: 5px;
-moz-border-radius: 3px 3px 0 0;
-webkit-border-top-left-radius: 3px;
-webkit-border-top-right-radius: 3px;
@@ -2102,8 +2154,7 @@ td.plugin-title {
/* Global classes */
.wp-hidden-children .wp-hidden-child,
-.ui-tabs-hide,
-#codepress-off {
+.ui-tabs-hide {
display: none;
}
@@ -2404,8 +2455,9 @@ fieldset {
#replysubmit img.waiting,
.inline-edit-save img.waiting {
- padding: 2px 10px 0;
+ padding: 4px 10px 0;
vertical-align: top;
+ float: right;
}
#replysubmit .button {
@@ -2471,7 +2523,7 @@ fieldset {
}
#screen-meta-links {
- margin: 0 9px 0 0;
+ margin: 0 18px 0 0;
}
#screen-meta .screen-reader-text {
@@ -2481,11 +2533,20 @@ fieldset {
#screen-options-link-wrap,
#contextual-help-link-wrap {
float: right;
- background: transparent url( images/screen-options-left.gif ) no-repeat 0 0;
- font-family: "Lucida Grande", Verdana, Arial, "Bitstream Vera Sans", sans-serif;
height: 22px;
padding: 0;
margin: 0 6px 0 0;
+ font-family: "Lucida Grande", Verdana, Arial, "Bitstream Vera Sans", sans-serif;
+ background: #e3e3e3;
+ -moz-border-radius-bottomleft: 3px;
+ -moz-border-radius-bottomright: 3px;
+ -webkit-border-bottom-left-radius: 3px;
+ -webkit-border-bottom-right-radius: 3px;
+}
+
+#contextual-help-wrap li {
+ list-style-type: disc;
+ margin-left: 18px;
}
#screen-meta a.show-settings {
@@ -2501,7 +2562,7 @@ fieldset {
}
#screen-meta a.show-settings {
- background-image: url( images/screen-options-right.gif );
+ background-image: url( ../images/screen-options-right.gif?ver=20100531 );
}
#screen-meta a.show-settings:hover {
@@ -2837,7 +2898,7 @@ table .inline-edit-row fieldset ul.cat-hover {
}
.describe .media-item-info .A1B1 {
- padding: 0 15px 8px 0;
+ padding: 0 0 0 10px;
}
#wpbody-content .filename {
@@ -2895,6 +2956,7 @@ abbr.required {
padding: 0 0 0 5px;
}
+.media-item .error-div a.dismiss,
.describe-toggle-on,
.describe-toggle-off {
display: block;
@@ -2931,6 +2993,10 @@ abbr.required {
overflow: hidden;
}
+.media-item .error-div {
+ padding-left: 10px;
+}
+
.media-item .pinkynail {
float: left;
margin: 2px;
@@ -2946,7 +3012,7 @@ abbr.required {
.media-item .original {
position: relative;
height: 34px;
- text-align: center;
+ width: 503px;
}
.media-item .percent {
@@ -2960,20 +3026,6 @@ abbr.required {
margin-right: 5px;
}
-button.dismiss {
- position: absolute;
- top: 7px;
- right: 5px;
- z-index: 4;
- width: 8em;
-}
-
-.file-error {
- float: left;
- font-weight: bold;
- padding: 10px;
-}
-
.progress {
position: relative;
margin-bottom: -36px;
@@ -3074,7 +3126,7 @@ button.dismiss {
#favorite-inside {
margin: 0 0 0 0px;
- padding: 0 1px 6px 1px;
+ padding: 2px 1px;
border-width: 1px;
border-style: solid;
position: absolute;
@@ -3115,8 +3167,7 @@ button.dismiss {
-khtml-border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
- border-bottom-width: 1px;
- border-bottom-style: solid;
+ border-bottom: none;
}
#utc-time, #local-time {
@@ -3374,7 +3425,7 @@ td.imgedit-settings input {
.imgedit-wait {
position: absolute;
top: 0;
- background: #FFFFFF url(images/wpspin_light.gif) no-repeat scroll 22px 10px;
+ background: #FFFFFF url(../images/wpspin_light.gif) no-repeat scroll 22px 10px;
opacity: 0.7;
filter: alpha(opacity=70);
width: 100%;
@@ -3415,7 +3466,7 @@ td.imgedit-settings input {
}
.imgedit-crop {
- background: transparent url(images/imgedit-icons.png) no-repeat scroll -9px -31px;
+ background: transparent url(../images/imgedit-icons.png) no-repeat scroll -9px -31px;
margin: 0 8px 0 0;
}
@@ -3428,7 +3479,7 @@ td.imgedit-settings input {
}
.imgedit-rleft {
- background: transparent url(images/imgedit-icons.png) no-repeat scroll -46px -31px;
+ background: transparent url(../images/imgedit-icons.png) no-repeat scroll -46px -31px;
margin: 0 3px;
}
@@ -3441,7 +3492,7 @@ td.imgedit-settings input {
}
.imgedit-rright {
- background: transparent url(images/imgedit-icons.png) no-repeat scroll -77px -31px;
+ background: transparent url(../images/imgedit-icons.png) no-repeat scroll -77px -31px;
margin: 0 8px 0 3px;
}
@@ -3454,7 +3505,7 @@ td.imgedit-settings input {
}
.imgedit-flipv {
- background: transparent url(images/imgedit-icons.png) no-repeat scroll -115px -31px;
+ background: transparent url(../images/imgedit-icons.png) no-repeat scroll -115px -31px;
margin: 0 3px;
}
@@ -3467,7 +3518,7 @@ td.imgedit-settings input {
}
.imgedit-fliph {
- background: transparent url(images/imgedit-icons.png) no-repeat scroll -147px -31px;
+ background: transparent url(../images/imgedit-icons.png) no-repeat scroll -147px -31px;
margin: 0 8px 0 3px;
}
@@ -3480,7 +3531,7 @@ td.imgedit-settings input {
}
.imgedit-undo {
- background: transparent url(images/imgedit-icons.png) no-repeat scroll -184px -31px;
+ background: transparent url(../images/imgedit-icons.png) no-repeat scroll -184px -31px;
margin: 0 3px;
}
@@ -3493,7 +3544,7 @@ td.imgedit-settings input {
}
.imgedit-redo {
- background: transparent url(images/imgedit-icons.png) no-repeat scroll -215px -31px;
+ background: transparent url(../images/imgedit-icons.png) no-repeat scroll -215px -31px;
margin: 0 8px 0 3px;
}
@@ -3597,7 +3648,7 @@ span.imgedit-scale-warn {
/* tag hints */
.taghint {
color: #aaa;
- margin: 14px 0 -17px 8px;
+ margin: 15px 0 -24px 12px;
}
#poststuff .tagsdiv .howto {
@@ -3630,3 +3681,86 @@ span.imgedit-scale-warn {
border-right-style: solid;
border-right-width: 1px;
}
+
+/* Custom Background */
+
+div#custom-background-image {
+ min-height: 100px;
+ border: 1px solid #dfdfdf;
+}
+
+div#custom-background-image img {
+ max-width: 400px;
+ max-height: 300px;
+}
+
+#custom-background label {
+ padding-right: 15px;
+}
+
+/* Custom Header */
+.appearance_page_custom-header #headimg {
+ border: 1px solid #DFDFDF;
+ min-height: 100px;
+ width: 100%;
+}
+
+.appearance_page_custom-header #upload-form p label {
+ font-size: 11px;
+}
+
+.appearance_page_custom-header #available-headers .default-header {
+ float: left;
+ margin: 0 20px 20px 0;
+}
+
+.appearance_page_custom-header #available-headers label input {
+ margin-right: 10px;
+}
+
+.appearance_page_custom-header #available-headers label img {
+ vertical-align: middle;
+}
+
+/* Tab Interface */
+
+.nav-tab {
+ border-style: solid;
+ border-color: #ccc #ccc #f9f9f9;
+ border-width: 1px 1px 0;
+ color: #c1c1c1;
+ text-shadow: rgba(255,255,255,1) 0 1px 0;
+ font-size: 12px;
+ line-height: 16px;
+ display: inline-block;
+ padding: 4px 14px 6px;
+ text-decoration: none;
+ margin: 0 6px -1px 0;
+ -moz-border-radius: 5px 5px 0 0;
+ -webkit-border-top-left-radius: 5px;
+ -webkit-border-top-right-radius: 5px;
+ -khtml-border-top-left-radius: 5px;
+ -khtml-border-top-right-radius: 5px;
+ border-top-left-radius: 5px;
+ border-top-right-radius: 5px;
+}
+
+.nav-tab-active {
+ border-width: 1px;
+ color: #464646;
+}
+
+.themes-php .wrap h2, .theme-install-php .wrap h2 {
+ border-bottom: 1px solid #ccc;
+ padding-bottom: 0;
+}
+
+h2 .nav-tab {
+ padding: 4px 20px 6px;
+ font: italic normal normal 24px/35px Georgia, "Times New Roman", "Bitstream Charter", Times, serif;
+}
+
+/* Scrollbar fix for bulk upgrade iframe */
+body.update-php {
+ height: 98%;
+}
diff --git a/wp-admin/custom-background.php b/wp-admin/custom-background.php
new file mode 100644
index 00000000..413c564f
--- /dev/null
+++ b/wp-admin/custom-background.php
@@ -0,0 +1,359 @@
+admin_header_callback = $admin_header_callback;
+ $this->admin_image_div_callback = $admin_image_div_callback;
+ }
+
+ /**
+ * Set up the hooks for the Custom Background admin page.
+ *
+ * @since 3.0.0
+ */
+ function init() {
+ if ( ! current_user_can('edit_theme_options') )
+ return;
+
+ $this->page = $page = add_theme_page(__('Background'), __('Background'), 'edit_theme_options', 'custom-background', array(&$this, 'admin_page'));
+
+ add_action("load-$page", array(&$this, 'admin_load'));
+ add_action("load-$page", array(&$this, 'take_action'), 49);
+ add_action("load-$page", array(&$this, 'handle_upload'), 49);
+
+ if ( $this->admin_header_callback )
+ add_action("admin_head-$page", $this->admin_header_callback, 51);
+ }
+
+ /**
+ * Set up the enqueue for the CSS & JavaScript files.
+ *
+ * @since 3.0.0
+ */
+ function admin_load() {
+ add_contextual_help( $this->page, '' . __( 'You can customize the look of your site without touching any of your theme’s code by using a custom background. Your background can be an image or a color.' ) . '
' .
+ '' . __( 'To use a background image, simply upload it, then choose your display options below. You can display a single instance of your image, or tile it to fill the screen. You can have your background fixed in place, so your site content moves on top of it, or you can have it scroll with your site.' ) . '
' .
+ '' . __( 'You can also choose a background color. If you know the hexadecimal code for the color you want, enter it in the Color field. If not, click on the Select a Color link, and a color picker will allow you to choose the exact shade you want.' ) . '
' .
+ '' . __( 'Don’t forget to click on the Save Changes button when you are finished.' ) . '
' .
+ '' . __( 'For more information:' ) . '
' .
+ '' . __( 'Documentation on Custom Background ' ) . '
' .
+ '' . __( 'Support Forums ' ) . '
' );
+ wp_enqueue_script('custom-background');
+ wp_enqueue_style('farbtastic');
+ }
+
+ /**
+ * Execute custom background modification.
+ *
+ * @since 3.0.0
+ */
+ function take_action() {
+
+ if ( empty($_POST) )
+ return;
+
+ if ( isset($_POST['reset-background']) ) {
+ check_admin_referer('custom-background-reset', '_wpnonce-custom-background-reset');
+ remove_theme_mod('background_image');
+ remove_theme_mod('background_image_thumb');
+ $this->updated = true;
+ return;
+ }
+
+ if ( isset($_POST['remove-background']) ) {
+ // @TODO: Uploaded files are not removed here.
+ check_admin_referer('custom-background-remove', '_wpnonce-custom-background-remove');
+ set_theme_mod('background_image', '');
+ set_theme_mod('background_image_thumb', '');
+ $this->updated = true;
+ return;
+ }
+
+ if ( isset($_POST['background-repeat']) ) {
+ check_admin_referer('custom-background');
+ if ( in_array($_POST['background-repeat'], array('repeat', 'no-repeat', 'repeat-x', 'repeat-y')) )
+ $repeat = $_POST['background-repeat'];
+ else
+ $repeat = 'repeat';
+ set_theme_mod('background_repeat', $repeat);
+ }
+
+ if ( isset($_POST['background-position-x']) ) {
+ check_admin_referer('custom-background');
+ if ( in_array($_POST['background-position-x'], array('center', 'right', 'left')) )
+ $position = $_POST['background-position-x'];
+ else
+ $position = 'left';
+ set_theme_mod('background_position_x', $position);
+ }
+
+ if ( isset($_POST['background-attachment']) ) {
+ check_admin_referer('custom-background');
+ if ( in_array($_POST['background-attachment'], array('fixed', 'scroll')) )
+ $attachment = $_POST['background-attachment'];
+ else
+ $attachment = 'fixed';
+ set_theme_mod('background_attachment', $attachment);
+ }
+
+ if ( isset($_POST['background-color']) ) {
+ check_admin_referer('custom-background');
+ $color = preg_replace('/[^0-9a-fA-F]/', '', $_POST['background-color']);
+ if ( strlen($color) == 6 || strlen($color) == 3 )
+ set_theme_mod('background_color', $color);
+ else
+ set_theme_mod('background_color', '');
+ }
+
+ $this->updated = true;
+ }
+
+ /**
+ * Display the custom background page.
+ *
+ * @since 3.0.0
+ */
+ function admin_page() {
+?>
+
+
+
+updated) ) { ?>
+
+
Visit your site to see how it looks.' ), home_url( '/' ) ); ?>
+
+admin_image_div_callback ) {
+ call_user_func($this->admin_image_div_callback);
+ } else {
+?>
+
+
+
+
+
+
+
+
+
+
+
+
+ false);
+ $file = wp_handle_upload($_FILES['import'], $overrides);
+
+ if ( isset($file['error']) )
+ wp_die( $file['error'] );
+
+ $url = $file['url'];
+ $type = $file['type'];
+ $file = $file['file'];
+ $filename = basename($file);
+
+ // Construct the object array
+ $object = array(
+ 'post_title' => $filename,
+ 'post_content' => $url,
+ 'post_mime_type' => $type,
+ 'guid' => $url
+ );
+
+ // Save the data
+ $id = wp_insert_attachment($object, $file);
+
+ // Add the meta-data
+ wp_update_attachment_metadata( $id, wp_generate_attachment_metadata( $id, $file ) );
+
+ set_theme_mod('background_image', esc_url($url));
+
+ $thumbnail = wp_get_attachment_image_src( $id, 'thumbnail' );
+ set_theme_mod('background_image_thumb', esc_url( $thumbnail[0] ) );
+
+ do_action('wp_create_file_in_uploads', $file, $id); // For replication
+ $this->updated = true;
+ }
+
+}
+?>
diff --git a/wp-admin/custom-header.php b/wp-admin/custom-header.php
index fb07fe80..7e889f5b 100644
--- a/wp-admin/custom-header.php
+++ b/wp-admin/custom-header.php
@@ -9,7 +9,7 @@
/**
* The custom header image class.
*
- * @since unknown
+ * @since 2.1.0
* @package WordPress
* @subpackage Administration
*/
@@ -19,41 +19,88 @@ class Custom_Image_Header {
* Callback for administration header.
*
* @var callback
- * @since unknown
+ * @since 2.1.0
* @access private
*/
var $admin_header_callback;
+ /**
+ * Callback for header div.
+ *
+ * @var callback
+ * @since 3.0.0
+ * @access private
+ */
+ var $admin_image_div_callback;
+
+ /**
+ * Holds default headers.
+ *
+ * @var array
+ * @since 3.0.0
+ * @access private
+ */
+ var $default_headers = array();
+
+ /**
+ * Holds the page menu hook.
+ *
+ * @var string
+ * @since 3.0.0
+ * @access private
+ */
+ var $page = '';
+
/**
* PHP4 Constructor - Register administration header callback.
*
- * @since unknown
+ * @since 2.1.0
* @param callback $admin_header_callback
+ * @param callback $admin_image_div_callback Optional custom image div output callback.
* @return Custom_Image_Header
*/
- function Custom_Image_Header($admin_header_callback) {
+ function Custom_Image_Header($admin_header_callback, $admin_image_div_callback = '') {
$this->admin_header_callback = $admin_header_callback;
+ $this->admin_image_div_callback = $admin_image_div_callback;
}
/**
- * Setup the hooks for the Custom Header admin page.
+ * Set up the hooks for the Custom Header admin page.
*
- * @since unknown
+ * @since 2.1.0
*/
function init() {
- $page = add_theme_page(__('Custom Header'), __('Custom Header'), 'edit_themes', 'custom-header', array(&$this, 'admin_page'));
+ if ( ! current_user_can('edit_theme_options') )
+ return;
+
+ $this->page = $page = add_theme_page(__('Header'), __('Header'), 'edit_theme_options', 'custom-header', array(&$this, 'admin_page'));
add_action("admin_print_scripts-$page", array(&$this, 'js_includes'));
add_action("admin_print_styles-$page", array(&$this, 'css_includes'));
+ add_action("admin_head-$page", array(&$this, 'help') );
add_action("admin_head-$page", array(&$this, 'take_action'), 50);
add_action("admin_head-$page", array(&$this, 'js'), 50);
add_action("admin_head-$page", $this->admin_header_callback, 51);
}
+ /**
+ * Adds contextual help.
+ *
+ * @since 3.0.0
+ */
+ function help() {
+ add_contextual_help( $this->page, '' . __( 'You can set a custom image header for your site. Simply upload the image and crop it, and the new header will go live immediately.' ) . '
' .
+ '' . __( 'If you want to discard your custom header and go back to the default included in your theme, click on the buttons to remove the custom image and restore the original header image.' ) . '
' .
+ '' . __( 'Some themes come with additional header images bundled. If you see multiple images displayed, select the one you’d like and click the Save Changes button.' ) . '
' .
+ '' . __( 'For more information:' ) . '
' .
+ '' . __( 'Documentation on Custom Header ' ) . '
' .
+ '' . __( 'Support Forums ' ) . '
' );
+ }
+
/**
* Get the current step.
*
- * @since unknown
+ * @since 2.6.0
*
* @return int Current step
*/
@@ -69,142 +116,238 @@ class Custom_Image_Header {
}
/**
- * Setup the enqueue for the JavaScript files.
+ * Set up the enqueue for the JavaScript files.
*
- * @since unknown
+ * @since 2.1.0
*/
function js_includes() {
$step = $this->step();
- if ( 1 == $step )
+ if ( ( 1 == $step || 3 == $step ) && $this->header_text() )
wp_enqueue_script('farbtastic');
elseif ( 2 == $step )
- wp_enqueue_script('jcrop');
+ wp_enqueue_script('imgareaselect');
}
/**
- * Setup the enqueue for the CSS files
+ * Set up the enqueue for the CSS files
*
* @since 2.7
*/
function css_includes() {
$step = $this->step();
- if ( 1 == $step )
+ if ( ( 1 == $step || 3 == $step ) && $this->header_text() )
wp_enqueue_style('farbtastic');
elseif ( 2 == $step )
- wp_enqueue_style('jcrop');
+ wp_enqueue_style('imgareaselect');
+ }
+
+ /**
+ * Check if header text is allowed
+ *
+ * @since 3.0.0
+ */
+ function header_text() {
+ if ( defined( 'NO_HEADER_TEXT' ) && NO_HEADER_TEXT )
+ return false;
+
+ return true;
}
/**
* Execute custom header modification.
*
- * @since unknown
+ * @since 2.6.0
*/
function take_action() {
- if ( isset( $_POST['textcolor'] ) ) {
- check_admin_referer('custom-header');
- if ( 'blank' == $_POST['textcolor'] ) {
- set_theme_mod('header_textcolor', 'blank');
+ if ( ! current_user_can('edit_theme_options') )
+ return;
+
+ if ( empty( $_POST ) )
+ return;
+
+ $this->updated = true;
+
+ if ( isset( $_POST['resetheader'] ) ) {
+ check_admin_referer( 'custom-header-options', '_wpnonce-custom-header-options' );
+ remove_theme_mod( 'header_image' );
+ return;
+ }
+
+ if ( isset( $_POST['resettext'] ) ) {
+ check_admin_referer( 'custom-header-options', '_wpnonce-custom-header-options' );
+ remove_theme_mod('header_textcolor');
+ return;
+ }
+
+ if ( isset( $_POST['removeheader'] ) ) {
+ check_admin_referer( 'custom-header-options', '_wpnonce-custom-header-options' );
+ set_theme_mod( 'header_image', '' );
+ return;
+ }
+
+ if ( isset( $_POST['text-color'] ) ) {
+ check_admin_referer( 'custom-header-options', '_wpnonce-custom-header-options' );
+ $_POST['text-color'] = str_replace( '#', '', $_POST['text-color'] );
+ if ( 'blank' == $_POST['text-color'] ) {
+ set_theme_mod( 'header_textcolor', 'blank' );
} else {
- $color = preg_replace('/[^0-9a-fA-F]/', '', $_POST['textcolor']);
+ $color = preg_replace('/[^0-9a-fA-F]/', '', $_POST['text-color']);
if ( strlen($color) == 6 || strlen($color) == 3 )
set_theme_mod('header_textcolor', $color);
}
}
- if ( isset($_POST['resetheader']) ) {
- check_admin_referer('custom-header');
- remove_theme_mods();
+
+ if ( isset($_POST['default-header']) ) {
+ check_admin_referer( 'custom-header-options', '_wpnonce-custom-header-options' );
+ $this->process_default_headers();
+ if ( isset($this->default_headers[$_POST['default-header']]) )
+ set_theme_mod('header_image', esc_url($this->default_headers[$_POST['default-header']]['url']));
+ }
+ }
+
+ /**
+ * Process the default headers
+ *
+ * @since 3.0.0
+ */
+ function process_default_headers() {
+ global $_wp_default_headers;
+
+ if ( !empty($this->headers) )
+ return;
+
+ if ( !isset($_wp_default_headers) )
+ return;
+
+ $this->default_headers = $_wp_default_headers;
+ foreach ( array_keys($this->default_headers) as $header ) {
+ $this->default_headers[$header]['url'] = sprintf( $this->default_headers[$header]['url'], get_template_directory_uri(), get_stylesheet_directory_uri() );
+ $this->default_headers[$header]['thumbnail_url'] = sprintf( $this->default_headers[$header]['thumbnail_url'], get_template_directory_uri(), get_stylesheet_directory_uri() );
+ }
+ }
+
+ /**
+ * Display UI for selecting one of several default headers.
+ *
+ * @since 3.0.0
+ */
+ function show_default_header_selector() {
+ echo '';
}
/**
* Execute Javascript depending on step.
*
- * @since unknown
+ * @since 2.1.0
*/
function js() {
$step = $this->step();
- if ( 1 == $step )
+ if ( ( 1 == $step || 3 == $step ) && $this->header_text() )
$this->js_1();
elseif ( 2 == $step )
$this->js_2();
}
/**
- * Display Javascript based on Step 1.
+ * Display Javascript based on Step 1 and 3.
*
- * @since unknown
+ * @since 2.6.0
*/
function js_1() { ?>
-
-
+ $this->process_default_headers();
+?>
-
-
+
-
-
-
-
%1$d x %2$d pixels will be used as-is.'), HEADER_IMAGE_WIDTH, HEADER_IMAGE_HEIGHT); ?>
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+ header_text() ) : ?>
+
+
+
+
- false);
$file = wp_handle_upload($_FILES['import'], $overrides);
if ( isset($file['error']) )
- die( $file['error'] );
+ wp_die( $file['error'], __( 'Image Upload Error' ) );
$url = $file['url'];
$type = $file['type'];
@@ -360,6 +601,9 @@ class Custom_Image_Header {
} elseif ( $width > HEADER_IMAGE_WIDTH ) {
$oitar = $width / HEADER_IMAGE_WIDTH;
$image = wp_crop_image($file, 0, 0, $width, $height, HEADER_IMAGE_WIDTH, $height / $oitar, false, str_replace(basename($file), 'midsize-'.basename($file), $file));
+ if ( is_wp_error( $image ) )
+ wp_die( __( 'Image could not be processed. Please go back and try again.' ), __( 'Image Processing Error' ) );
+
$image = apply_filters('wp_create_file_in_uploads', $image, $id); // For replication
$url = str_replace(basename($url), basename($image), $url);
@@ -371,27 +615,27 @@ class Custom_Image_Header {
?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
1 ) {
$_POST['x1'] = $_POST['x1'] * $_POST['oitar'];
$_POST['y1'] = $_POST['y1'] * $_POST['oitar'];
@@ -414,6 +658,9 @@ class Custom_Image_Header {
$original = get_attached_file( $_POST['attachment_id'] );
$cropped = wp_crop_image($_POST['attachment_id'], $_POST['x1'], $_POST['y1'], $_POST['width'], $_POST['height'], HEADER_IMAGE_WIDTH, HEADER_IMAGE_HEIGHT);
+ if ( is_wp_error( $cropped ) )
+ wp_die( __( 'Image could not be processed. Please go back and try again.' ), __( 'Image Processing Error' ) );
+
$cropped = apply_filters('wp_create_file_in_uploads', $cropped, $_POST['attachment_id']); // For replication
$parent = get_post($_POST['attachment_id']);
@@ -446,25 +693,21 @@ class Custom_Image_Header {
/**
* Display last step of custom header image page.
*
- * @since unknown
+ * @since 2.1.0
*/
function finished() {
- ?>
-
- updated = true;
+ $this->step_1();
}
/**
* Display the page based on the current step.
*
- * @since unknown
+ * @since 2.1.0
*/
function admin_page() {
+ if ( ! current_user_can('edit_theme_options') )
+ wp_die(__('You do not have permission to customize headers.'));
$step = $this->step();
if ( 1 == $step )
$this->step_1();
diff --git a/wp-admin/edit-attachment-rows.php b/wp-admin/edit-attachment-rows.php
index 1b972a9f..0014d720 100644
--- a/wp-admin/edit-attachment-rows.php
+++ b/wp-admin/edit-attachment-rows.php
@@ -71,7 +71,7 @@ foreach ($posts_columns as $column_name => $column_display_name ) {
if ( $is_trash ) echo $thumb;
else {
?>
-
+
@@ -84,25 +84,33 @@ foreach ($posts_columns as $column_name => $column_display_name ) {
case 'media':
?>
-
>
- ID))); ?>
+ >
ID ), $matches ) )
+ echo esc_html( strtoupper( $matches[1] ) );
+ else
+ echo strtoupper( str_replace( 'image/', '', get_post_mime_type() ) );
+ ?>
+
+ ID) && !$is_trash )
$actions['edit'] = '' . __('Edit') . ' ';
if ( current_user_can('delete_post', $post->ID) ) {
if ( $is_trash )
- $actions['untrash'] = "ID) . "'>" . __('Restore') . " ";
+ $actions['untrash'] = "ID) . "'>" . __('Restore') . " ";
elseif ( EMPTY_TRASH_DAYS && MEDIA_TRASH )
- $actions['trash'] = "ID) . "'>" . __('Trash') . " ";
+ $actions['trash'] = "ID) . "'>" . __('Trash') . " ";
if ( $is_trash || !EMPTY_TRASH_DAYS || !MEDIA_TRASH ) {
$delete_ays = (!$is_trash && !MEDIA_TRASH) ? " onclick='return showNotice.warn();'" : '';
- $actions['delete'] = "ID) . "'>" . __('Delete Permanently') . " ";
+ $actions['delete'] = "ID) . "'>" . __('Delete Permanently') . " ";
}
}
- if ( !$is_trash )
+ if ( !$is_trash ) {
+ $title =_draft_or_post_title($post->post_parent);
$actions['view'] = '' . __('View') . ' ';
+ }
$actions = apply_filters( 'media_row_actions', $actions, $post );
$action_count = count($actions);
$i = 0;
@@ -113,7 +121,7 @@ foreach ($posts_columns as $column_name => $column_display_name ) {
echo "$link$sep ";
}
echo '';
- ?>
+ ?>
name ) )
- $category->name = '';
-
- if ( ! isset( $category->slug ) )
- $category->slug = '';
-
- if ( ! isset( $category->parent ) )
- $category->parent = '';
-
- if ( ! isset( $category->description ) )
- $category->description = '';
-}
-
-do_action('edit_category_form_pre', $category);
-
-_fill_empty_category($category);
-?>
-
-
diff --git a/wp-admin/edit-comments.php b/wp-admin/edit-comments.php
index ee23b3e3..7f11bef4 100644
--- a/wp-admin/edit-comments.php
+++ b/wp-admin/edit-comments.php
@@ -7,7 +7,7 @@
*/
/** WordPress Administration Bootstrap */
-require_once('admin.php');
+require_once('./admin.php');
if ( !current_user_can('edit_posts') )
wp_die(__('Cheatin’ uh?'));
@@ -32,10 +32,11 @@ if ( isset($_REQUEST['doaction']) || isset($_REQUEST['doaction2']) || isset($_R
$comment_ids = array_map( 'absint', explode(',', $_REQUEST['ids']) );
$doaction = $_REQUEST['action'];
} else {
- wp_redirect($_SERVER['HTTP_REFERER']);
+ wp_redirect( wp_get_referer() );
}
$approved = $unapproved = $spammed = $unspammed = $trashed = $untrashed = $deleted = 0;
+ $redirect_to = remove_query_arg( array('trashed', 'untrashed', 'deleted', 'spammed', 'unspammed', 'approved', 'unapproved', 'ids'), wp_get_referer() );
foreach ($comment_ids as $comment_id) { // Check the permissions on each
$_post_id = (int) $wpdb->get_var( $wpdb->prepare( "SELECT comment_post_ID FROM $wpdb->comments WHERE comment_ID = %d", $comment_id) );
@@ -75,8 +76,6 @@ if ( isset($_REQUEST['doaction']) || isset($_REQUEST['doaction2']) || isset($_R
}
}
- $redirect_to = 'edit-comments.php';
-
if ( $approved )
$redirect_to = add_query_arg( 'approved', $approved, $redirect_to );
if ( $unapproved )
@@ -94,30 +93,33 @@ if ( isset($_REQUEST['doaction']) || isset($_REQUEST['doaction2']) || isset($_R
if ( $trashed || $spammed )
$redirect_to = add_query_arg( 'ids', join(',', $comment_ids), $redirect_to );
- if ( $post_id )
- $redirect_to = add_query_arg( 'p', absint( $post_id ), $redirect_to );
- if ( isset($_REQUEST['apage']) )
- $redirect_to = add_query_arg( 'apage', absint($_REQUEST['apage']), $redirect_to );
- if ( !empty($_REQUEST['mode']) )
- $redirect_to = add_query_arg('mode', $_REQUEST['mode'], $redirect_to);
- if ( !empty($_REQUEST['comment_status']) )
- $redirect_to = add_query_arg('comment_status', $_REQUEST['comment_status'], $redirect_to);
- if ( !empty($_REQUEST['s']) )
- $redirect_to = add_query_arg('s', $_REQUEST['s'], $redirect_to);
wp_redirect( $redirect_to );
-} elseif ( isset($_GET['_wp_http_referer']) && ! empty($_GET['_wp_http_referer']) ) {
+ exit;
+} elseif ( ! empty($_GET['_wp_http_referer']) ) {
wp_redirect( remove_query_arg( array('_wp_http_referer', '_wpnonce'), stripslashes($_SERVER['REQUEST_URI']) ) );
exit;
}
if ( $post_id )
- $title = sprintf(__('Edit Comments on “%s”'), wp_html_excerpt(_draft_or_post_title($post_id), 50));
+ $title = sprintf(__('Comments on “%s”'), wp_html_excerpt(_draft_or_post_title($post_id), 50));
else
- $title = __('Edit Comments');
-
-require_once('admin-header.php');
-
-$mode = ( ! isset($_GET['mode']) || empty($_GET['mode']) ) ? 'detail' : esc_attr($_GET['mode']);
+ $title = __('Comments');
+
+add_contextual_help( $current_screen, '
' . __('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.') . '
' .
+ '
' . __('A yellow row means the comment is waiting for you to moderate it.') . '
' .
+ '
' . __('In the Author column, in addition to the author’s name, email address, and blog URL, the commenter’s IP address is shown. Clicking on this link will show you all the comments made from this IP address.') . '
' .
+ '
' . __('In the Comment column, above each comment it says “Submitted on,” followed by the date and time the comment was left on your site. Clicking on the date/time link will take you to that comment on your live site.') . '
' .
+ '
' . __('In the In Response To 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 “#” permalink symbol below leads to that post on your live site. The small bubble with the number in it shows how many comments that post has received. If the bubble is gray, you have moderated all comments for that post. If it is blue, there are pending comments. Clicking the bubble will filter the comments screen to show only comments on that post.') . '
' .
+ '
' . __('Many people take advantage of keyboard shortcuts to moderate their comments more quickly. Use the link below to learn more.') . '
' .
+ '
' . __( 'For more information:' ) . '
' .
+ '
' . __( 'Comments Documentation ' ) . '
' .
+ '
' . __( 'Comment Spam Documentation ') . '
' .
+ '
' . __( 'Keyboard Shortcuts Documentation ') . '
' .
+ '
' . __( 'Support Forums ') . '
'
+);
+require_once('./admin-header.php');
+
+$mode = ( empty($_GET['mode']) ) ? 'detail' : esc_attr($_GET['mode']);
$comment_status = isset($_REQUEST['comment_status']) ? $_REQUEST['comment_status'] : 'all';
if ( !in_array($comment_status, array('all', 'moderated', 'approved', 'spam', 'trash')) )
@@ -136,45 +138,68 @@ if ( isset($_GET['s']) && $_GET['s'] )
0 || $deleted > 0 || $trashed > 0 || $untrashed > 0 || $spammed > 0 || $unspammed > 0 ) {
- echo '
';
-
- if ( $approved > 0 ) {
- printf( _n( '%s comment approved', '%s comments approved', $approved ), $approved );
- echo ' ';
- }
+if ( isset( $_GET['error'] ) ) {
+ $error = (int) $_GET['error'];
+ $error_msg = '';
+ switch ( $error ) {
+ case 1 :
+ $error_msg = __( 'Oops, no comment with this ID.' );
+ break;
+ case 2 :
+ $error_msg = __( 'You are not allowed to edit comments on this post.' );
+ break;
+ }
+ if ( $error_msg )
+ echo '
';
+}
+
+if ( isset($_GET['approved']) || isset($_GET['deleted']) || isset($_GET['trashed']) || isset($_GET['untrashed']) || isset($_GET['spammed']) || isset($_GET['unspammed']) || isset($_GET['same']) ) {
+ $approved = isset( $_GET['approved'] ) ? (int) $_GET['approved'] : 0;
+ $deleted = isset( $_GET['deleted'] ) ? (int) $_GET['deleted'] : 0;
+ $trashed = isset( $_GET['trashed'] ) ? (int) $_GET['trashed'] : 0;
+ $untrashed = isset( $_GET['untrashed'] ) ? (int) $_GET['untrashed'] : 0;
+ $spammed = isset( $_GET['spammed'] ) ? (int) $_GET['spammed'] : 0;
+ $unspammed = isset( $_GET['unspammed'] ) ? (int) $_GET['unspammed'] : 0;
+ $same = isset( $_GET['same'] ) ? (int) $_GET['same'] : 0;
+
+ if ( $approved > 0 || $deleted > 0 || $trashed > 0 || $untrashed > 0 || $spammed > 0 || $unspammed > 0 || $same > 0 ) {
+ if ( $approved > 0 )
+ $messages[] = sprintf( _n( '%s comment approved', '%s comments approved', $approved ), $approved );
+
if ( $spammed > 0 ) {
- printf( _n( '%s comment marked as spam.', '%s comments marked as spam.', $spammed ), $spammed );
$ids = isset($_GET['ids']) ? $_GET['ids'] : 0;
- echo '
' . __('Undo') . ' ';
- }
- if ( $unspammed > 0 ) {
- printf( _n( '%s comment restored from the spam', '%s comments restored from the spam', $unspammed ), $unspammed );
- echo '
';
+ $messages[] = sprintf( _n( '%s comment marked as spam.', '%s comments marked as spam.', $spammed ), $spammed ) . '
' . __('Undo') . ' ';
}
+
+ if ( $unspammed > 0 )
+ $messages[] = sprintf( _n( '%s comment restored from the spam', '%s comments restored from the spam', $unspammed ), $unspammed );
+
if ( $trashed > 0 ) {
- printf( _n( '%s comment moved to the trash.', '%s comments moved to the trash.', $trashed ), $trashed );
$ids = isset($_GET['ids']) ? $_GET['ids'] : 0;
- echo '
' . __('Undo') . ' ';
- }
- if ( $untrashed > 0 ) {
- printf( _n( '%s comment restored from the trash', '%s comments restored from the trash', $untrashed ), $untrashed );
- echo '
';
+ $messages[] = sprintf( _n( '%s comment moved to the Trash.', '%s comments moved to the Trash.', $trashed ), $trashed ) . '
' . __('Undo') . ' ';
}
- if ( $deleted > 0 ) {
- printf( _n( '%s comment permanently deleted', '%s comments permanently deleted', $deleted ), $deleted );
- echo '
';
+
+ if ( $untrashed > 0 )
+ $messages[] = sprintf( _n( '%s comment restored from the Trash', '%s comments restored from the Trash', $untrashed ), $untrashed );
+
+ if ( $deleted > 0 )
+ $messages[] = sprintf( _n( '%s comment permanently deleted', '%s comments permanently deleted', $deleted ), $deleted );
+
+ if ( $same > 0 && $comment = get_comment( $same ) ) {
+ switch ( $comment->comment_approved ) {
+ case '1' :
+ $messages[] = __('This comment is already approved.') . '
' . __( 'Edit comment' ) . ' ';
+ break;
+ case 'trash' :
+ $messages[] = __( 'This comment is already in the Trash.' ) . '
' . __( 'View Trash' ) . ' ';
+ break;
+ case 'spam' :
+ $messages[] = __( 'This comment is already marked as spam.' ) . '
' . __( 'Edit comment' ) . ' ';
+ break;
+ }
}
- echo '
';
+ echo '
' . implode( " \n", $messages ) . '
';
}
}
?>
@@ -187,7 +212,7 @@ $num_comments = ( $post_id ) ? wp_count_comments( $post_id ) : wp_count_comments
//, number_format_i18n($num_comments->moderated) ), ""),
//, number_format_i18n($num_comments->spam) ), "")
$stati = array(
- 'all' => _n_noop('All', 'All'), // singular not used
+ 'all' => _nx_noop('All', 'All', 'comments'), // singular not used
'moderated' => _n_noop('Pending
(%s ) ', 'Pending
(%s ) '),
'approved' => _n_noop('Approved', 'Approved'), // singular not used
'spam' => _n_noop('Spam
(%s ) ', 'Spam
(%s ) '),
@@ -202,10 +227,8 @@ if ( !empty($comment_type) && 'all' != $comment_type )
$link = add_query_arg( 'comment_type', $comment_type, $link );
foreach ( $stati as $status => $label ) {
- $class = '';
+ $class = ( $status == $comment_status ) ? ' class="current"' : '';
- if ( $status == $comment_status )
- $class = ' class="current"';
if ( !isset( $num_comments->$status ) )
$num_comments->$status = 10;
$link = add_query_arg( 'comment_status', $status, $link );
@@ -236,7 +259,7 @@ unset($status_links);
comment_post_ID;
}
-$_comment_pending_count_temp = (array) get_pending_comments_num($_comment_post_ids);
-foreach ( (array) $_comment_post_ids as $_cpid )
- $_comment_pending_count[$_cpid] = isset( $_comment_pending_count_temp[$_cpid] ) ? $_comment_pending_count_temp[$_cpid] : 0;
-if ( empty($_comment_pending_count) )
- $_comment_pending_count = array();
+
+$_comment_pending_count = get_pending_comments_num($_comment_post_ids);
$comments = array_slice($_comments, 0, $comments_per_page);
$extra_comments = array_slice($_comments, $comments_per_page);
@@ -295,6 +315,7 @@ $page_links = paginate_links( array(
+
diff --git a/wp-admin/edit-form-comment.php b/wp-admin/edit-form-comment.php
index 552d3c74..42f3e9d8 100644
--- a/wp-admin/edit-form-comment.php
+++ b/wp-admin/edit-form-comment.php
@@ -47,9 +47,9 @@ $comment->comment_author_email = esc_attr($comment->comment_author_email);
@@ -124,8 +124,12 @@ $date = date_i18n( $datef, strtotime( $comment->comment_date ) );
-
+
diff --git a/wp-admin/edit-link-categories.php b/wp-admin/edit-link-categories.php
index 90dcce66..711121be 100644
--- a/wp-admin/edit-link-categories.php
+++ b/wp-admin/edit-link-categories.php
@@ -7,7 +7,7 @@
*/
/** WordPress Administration Bootstrap */
-require_once('admin.php');
+require_once('./admin.php');
// Handle bulk actions
if ( isset($_GET['action']) && isset($_GET['delete']) ) {
@@ -40,7 +40,7 @@ if ( isset($_GET['action']) && isset($_GET['delete']) ) {
wp_redirect($location);
exit();
}
-} elseif ( isset($_GET['_wp_http_referer']) && ! empty($_GET['_wp_http_referer']) ) {
+} elseif ( ! empty($_GET['_wp_http_referer']) ) {
wp_redirect( remove_query_arg( array('_wp_http_referer', '_wpnonce'), stripslashes($_SERVER['REQUEST_URI']) ) );
exit;
}
@@ -51,6 +51,13 @@ wp_enqueue_script('admin-categories');
if ( current_user_can('manage_categories') )
wp_enqueue_script('inline-edit-tax');
+add_contextual_help($current_screen, '
' . __('You can create groups of links by using link categories. Link category names must be unique and link categories are separate from the categories you use for posts.') . '
' .
+ '
' . __('You can delete link categories, but that action does not delete the links within the category. Instead, it moves them to the default link category.') . '
' .
+ '
' . __('For more information:') . '
' .
+ '
' . __('Link Categories Documentation ') . '
' .
+ '
' . __('Support Forums ') . '
'
+);
+
require_once ('admin-header.php');
$messages[1] = __('Category added.');
@@ -68,7 +75,7 @@ if ( isset($_GET['s']) && $_GET['s'] )
-
+
@@ -92,7 +99,7 @@ endif; ?>
$pagenum = isset( $_GET['pagenum'] ) ? absint( $_GET['pagenum'] ) : 0;
if ( empty($pagenum) )
$pagenum = 1;
-if( ! isset( $catsperpage ) || $catsperpage < 0 )
+if ( ! isset( $catsperpage ) || $catsperpage < 0 )
$catsperpage = 20;
$page_links = paginate_links( array(
@@ -198,18 +205,18 @@ if ( $page_links )
-
+
-
+
-
+
@@ -226,5 +233,5 @@ if ( $page_links )
-
-
+
+
diff --git a/wp-admin/edit-link-category-form.php b/wp-admin/edit-link-category-form.php
index 17db6ef6..7e7c004c 100644
--- a/wp-admin/edit-link-category-form.php
+++ b/wp-admin/edit-link-category-form.php
@@ -11,7 +11,7 @@ if ( !defined('ABSPATH') )
die('-1');
if ( !current_user_can('manage_categories') )
- wp_die(__('You do not have sufficient permissions to edit link categories for this blog.'));
+ wp_die(__('You do not have sufficient permissions to edit link categories for this site.'));
/**
* @var object
@@ -72,11 +72,13 @@ _fill_empty_link_category($category);
+
+
description; ?>
diff --git a/wp-admin/edit-link-form.php b/wp-admin/edit-link-form.php
index 7d0c3edc..29e28623 100644
--- a/wp-admin/edit-link-form.php
+++ b/wp-admin/edit-link-form.php
@@ -22,7 +22,7 @@ if ( ! empty($link_id) ) {
$nonce_action = 'add-bookmark';
}
-require_once('includes/meta-boxes.php');
+require_once('./includes/meta-boxes.php');
add_meta_box('linksubmitdiv', __('Save'), 'link_submit_meta_box', 'link', 'side', 'core');
add_meta_box('linkcategorydiv', __('Categories'), 'link_categories_meta_box', 'link', 'normal', 'core');
@@ -30,10 +30,22 @@ add_meta_box('linktargetdiv', __('Target'), 'link_target_meta_box', 'link', 'nor
add_meta_box('linkxfndiv', __('Link Relationship (XFN)'), 'link_xfn_meta_box', 'link', 'normal', 'core');
add_meta_box('linkadvanceddiv', __('Advanced'), 'link_advanced_meta_box', 'link', 'normal', 'core');
+do_action('add_meta_boxes', 'link', $link);
+do_action('add_meta_boxes_link', $link);
+
do_action('do_meta_boxes', 'link', 'normal', $link);
do_action('do_meta_boxes', 'link', 'advanced', $link);
do_action('do_meta_boxes', 'link', 'side', $link);
+add_contextual_help($current_screen,
+ '' . __( 'You can add or edit links on this screen by entering information in each of the boxes. Only the link’s web address and name (the text you want to display on your site as the link) are required fields.' ) . '
' .
+ '' . __( 'The boxes for link name, web address, and description have fixed positions, while the others may be repositioned using drag and drop. You can also hide boxes you don’t use in the Screen Options tab, or minimize boxes by clicking on the title bar of the box.' ) . '
' .
+ '' . __( 'XFN stands for XHTML Friends Network , which is optional. WordPress allows the generation of XFN attributes to show how you are related to the authors/owners of the site to which you are linking.' ) . '
' .
+ '' . __( 'For more information:' ) . '
' .
+ '' . __( 'Documentation on Creating Links ' ) . '
' .
+ '' . __( 'Support Forums ' ) . '
'
+);
+
require_once ('admin-header.php');
?>
@@ -42,7 +54,7 @@ require_once ('admin-header.php');
-
+
View page'), get_permalink($post_ID) );
- break;
- case 2:
- $message = __('Custom field updated.');
- break;
- case 3:
- $message = __('Custom field deleted.');
- break;
- case 4:
- $message = sprintf( __('Page published. View page '), get_permalink($post_ID) );
- break;
- case 5:
- if ( isset($_GET['revision']) )
- $message = sprintf( __('Page restored to revision from %s'), wp_post_revision_title( (int) $_GET['revision'], false ) );
- break;
- case 6:
- $message = sprintf( __('Page submitted. Preview page '), add_query_arg( 'preview', 'true', get_permalink($post_ID) ) );
- break;
- case 7:
- // translators: Publish box date formt, see http://php.net/date - Same as in meta-boxes.php
- $message = sprintf( __('Page scheduled for: %1$s . Preview page '), date_i18n( __( 'M j, Y @ G:i' ), strtotime( $post->post_date ) ), get_permalink($post_ID) );
- break;
- case 8:
- $message = sprintf( __('Page draft updated. Preview page '), add_query_arg( 'preview', 'true', get_permalink($post_ID) ) );
- break;
- }
-}
-
-$notice = false;
-if ( 0 == $post_ID) {
- $form_action = 'post';
- $nonce_action = 'add-page';
- $temp_ID = -1 * time(); // don't change this formula without looking at wp_write_post()
- $form_extra = " ";
-} else {
- $post_ID = (int) $post_ID;
- $form_action = 'editpost';
- $nonce_action = 'update-page_' . $post_ID;
- $form_extra = " ";
- $autosave = wp_get_post_autosave( $post_ID );
- if ( $autosave && mysql2date( 'U', $autosave->post_modified_gmt, false ) > mysql2date( 'U', $post->post_modified_gmt, false ) )
- $notice = sprintf( __( 'There is an autosave of this page that is more recent than the version below. View the autosave .' ), get_edit_post_link( $autosave->ID ) );
-}
-
-$temp_ID = (int) $temp_ID;
-$user_ID = (int) $user_ID;
-
-require_once('includes/meta-boxes.php');
-
-add_meta_box('submitdiv', __('Publish'), 'post_submit_meta_box', 'page', 'side', 'core');
-add_meta_box('pageparentdiv', __('Attributes'), 'page_attributes_meta_box', 'page', 'side', 'core');
-add_meta_box('postcustom', __('Custom Fields'), 'post_custom_meta_box', 'page', 'normal', 'core');
-add_meta_box('commentstatusdiv', __('Discussion'), 'post_comment_status_meta_box', 'page', 'normal', 'core');
-add_meta_box('slugdiv', __('Page Slug'), 'post_slug_meta_box', 'page', 'normal', 'core');
-if ( current_theme_supports( 'post-thumbnails', 'page' ) )
- add_meta_box('postimagediv', __('Page Image'), 'post_thumbnail_meta_box', 'page', 'side', 'low');
-
-$authors = get_editable_user_ids( $current_user->id, true, 'page' ); // TODO: ROLE SYSTEM
-if ( $post->post_author && !in_array($post->post_author, $authors) )
- $authors[] = $post->post_author;
-if ( $authors && count( $authors ) > 1 )
- add_meta_box('pageauthordiv', __('Page Author'), 'post_author_meta_box', 'page', 'normal', 'core');
-
-if ( 0 < $post_ID && wp_get_post_revisions( $post_ID ) )
- add_meta_box('revisionsdiv', __('Page Revisions'), 'post_revisions_meta_box', 'page', 'normal', 'core');
-
-do_action('do_meta_boxes', 'page', 'normal', $post);
-do_action('do_meta_boxes', 'page', 'advanced', $post);
-do_action('do_meta_boxes', 'page', 'side', $post);
-
-require_once('admin-header.php');
-?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-post_status ) wp_original_referer_field(true, 'previous'); ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-ID); ?>
-
-ID) && ! empty($sample_permalink_html) ) :
- echo $sample_permalink_html;
-endif; ?>
-
-
-
-
-
-
-post_content); ?>
-
-
-
-
-
-display_name ), mysql2date(get_option('date_format'), $post->post_modified), mysql2date(get_option('time_format'), $post->post_modified));
- } else {
- printf(__('Last edited on %1$s at %2$s'), mysql2date(get_option('date_format'), $post->post_modified), mysql2date(get_option('time_format'), $post->post_modified));
- }
- }
-?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/wp-admin/edit-pages.php b/wp-admin/edit-pages.php
deleted file mode 100644
index afab9553..00000000
--- a/wp-admin/edit-pages.php
+++ /dev/null
@@ -1,384 +0,0 @@
-get_col( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_type='page' AND post_status = %s", $post_status ) );
- $doaction = 'delete';
- } elseif ( ( $_GET['action'] != -1 || $_GET['action2'] != -1 ) && ( isset($_GET['post']) || isset($_GET['ids']) ) ) {
- $post_ids = isset($_GET['post']) ? array_map( 'intval', (array) $_GET['post'] ) : explode(',', $_GET['ids']);
- $doaction = ($_GET['action'] != -1) ? $_GET['action'] : $_GET['action2'];
- } else {
- wp_redirect( admin_url('edit-pages.php') );
- }
-
- switch ( $doaction ) {
- case 'trash':
- $trashed = 0;
- foreach( (array) $post_ids as $post_id ) {
- if ( !current_user_can('delete_page', $post_id) )
- wp_die( __('You are not allowed to move this page to the trash.') );
-
- if ( !wp_trash_post($post_id) )
- wp_die( __('Error in moving to trash...') );
-
- $trashed++;
- }
- $sendback = add_query_arg( array('trashed' => $trashed, 'ids' => join(',', $post_ids)), $sendback );
- break;
- case 'untrash':
- $untrashed = 0;
- foreach( (array) $post_ids as $post_id ) {
- if ( !current_user_can('delete_page', $post_id) )
- wp_die( __('You are not allowed to restore this page from the trash.') );
-
- if ( !wp_untrash_post($post_id) )
- wp_die( __('Error in restoring from trash...') );
-
- $untrashed++;
- }
- $sendback = add_query_arg('untrashed', $untrashed, $sendback);
- break;
- case 'delete':
- $deleted = 0;
- foreach( (array) $post_ids as $post_id ) {
- $post_del = & get_post($post_id);
-
- if ( !current_user_can('delete_page', $post_id) )
- wp_die( __('You are not allowed to delete this page.') );
-
- if ( $post_del->post_type == 'attachment' ) {
- if ( ! wp_delete_attachment($post_id) )
- wp_die( __('Error in deleting...') );
- } else {
- if ( !wp_delete_post($post_id) )
- wp_die( __('Error in deleting...') );
- }
- $deleted++;
- }
- $sendback = add_query_arg('deleted', $deleted, $sendback);
- break;
- case 'edit':
- $_GET['post_type'] = 'page';
- $done = bulk_edit_posts($_GET);
-
- if ( is_array($done) ) {
- $done['updated'] = count( $done['updated'] );
- $done['skipped'] = count( $done['skipped'] );
- $done['locked'] = count( $done['locked'] );
- $sendback = add_query_arg( $done, $sendback );
- }
- break;
- }
-
- if ( isset($_GET['action']) )
- $sendback = remove_query_arg( array('action', 'action2', 'post_parent', 'page_template', 'post_author', 'comment_status', 'ping_status', '_status', 'post', 'bulk_edit', 'post_view', 'post_type'), $sendback );
-
- wp_redirect($sendback);
- exit();
-} elseif ( isset($_GET['_wp_http_referer']) && ! empty($_GET['_wp_http_referer']) ) {
- wp_redirect( remove_query_arg( array('_wp_http_referer', '_wpnonce'), stripslashes($_SERVER['REQUEST_URI']) ) );
- exit;
-}
-
-if ( empty($title) )
- $title = __('Edit Pages');
-$parent_file = 'edit-pages.php';
-wp_enqueue_script('inline-edit-post');
-
-$post_stati = array( // array( adj, noun )
- 'publish' => array(_x('Published', 'page'), __('Published pages'), _nx_noop('Published (%s) ', 'Published (%s) ', 'page')),
- 'future' => array(_x('Scheduled', 'page'), __('Scheduled pages'), _nx_noop('Scheduled (%s) ', 'Scheduled (%s) ', 'page')),
- 'pending' => array(_x('Pending Review', 'page'), __('Pending pages'), _nx_noop('Pending Review (%s) ', 'Pending Review (%s) ', 'page')),
- 'draft' => array(_x('Draft', 'page'), _x('Drafts', 'manage posts header'), _nx_noop('Draft (%s) ', 'Drafts (%s) ', 'page')),
- 'private' => array(_x('Private', 'page'), __('Private pages'), _nx_noop('Private (%s) ', 'Private (%s) ', 'page')),
- 'trash' => array(_x('Trash', 'page'), __('Trash pages'), _nx_noop('Trash (%s) ', 'Trash (%s) ', 'page'))
- );
-
-if ( !EMPTY_TRASH_DAYS )
- unset($post_stati['trash']);
-
-$post_stati = apply_filters('page_stati', $post_stati);
-
-$query = array('post_type' => 'page', 'orderby' => 'menu_order title',
- 'posts_per_page' => -1, 'posts_per_archive_page' => -1, 'order' => 'asc');
-
-$post_status_label = __('Pages');
-if ( isset($_GET['post_status']) && in_array( $_GET['post_status'], array_keys($post_stati) ) ) {
- $post_status_label = $post_stati[$_GET['post_status']][1];
- $query['post_status'] = $_GET['post_status'];
- $query['perm'] = 'readable';
-}
-
-$query = apply_filters('manage_pages_query', $query);
-wp($query);
-
-if ( is_singular() ) {
- wp_enqueue_script( 'admin-comments' );
- enqueue_comment_hotkeys_js();
-}
-
-require_once('admin-header.php'); ?>
-
-
-
-
' . __('Search results for “%s”') . '', esc_html( get_search_query() ) ); ?>
-
-
-
-
-' . __('Undo') . ' ';
- unset($_GET['trashed']);
-}
-if ( isset($_GET['untrashed']) && (int) $_GET['untrashed'] ) {
- printf( _n( 'Page restored from the trash.', '%s pages restored from the trash.', $_GET['untrashed'] ), number_format_i18n( $_GET['untrashed'] ) );
- unset($_GET['untrashed']);
-}
-$_SERVER['REQUEST_URI'] = remove_query_arg( array('locked', 'skipped', 'updated', 'deleted', 'trashed', 'untrashed'), $_SERVER['REQUEST_URI'] );
-?>
-
-
-
-
-
-
-
-
-
-trash;
-$class = empty($_GET['post_status']) ? ' class="current"' : '';
-$status_links[] = "" . sprintf( _nx( 'All (%s) ', 'All (%s) ', $total_posts, 'pages' ), number_format_i18n( $total_posts ) ) . ' ';
-foreach ( $post_stati as $status => $label ) {
- $class = '';
-
- if ( !in_array($status, $avail_post_stati) || $num_posts->$status <= 0 )
- continue;
-
- if ( isset( $_GET['post_status'] ) && $status == $_GET['post_status'] )
- $class = ' class="current"';
-
- $status_links[] = "" . sprintf( _nx( $label[2][0], $label[2][1], $num_posts->$status, $label[2][2] ), number_format_i18n( $num_posts->$status ) ) . ' ';
-}
-echo implode( " | \n", $status_links ) . '';
-unset($status_links);
-endif;
-?>
-
-
-
- :
-
-
-
-
-
-
-
-
-
-
-post_count / $per_page);
-$page_links = paginate_links( array(
- 'base' => add_query_arg( 'pagenum', '%#%' ),
- 'format' => '',
- 'prev_text' => __('«'),
- 'next_text' => __('»'),
- 'total' => $num_pages,
- 'current' => $pagenum
-));
-
-$is_trash = isset($_GET['post_status']) && $_GET['post_status'] == 'trash';
-
-if ( $page_links ) : ?>
-
' . __( 'Displaying %s–%s of %s' ) . '%s',
- number_format_i18n( ( $pagenum - 1 ) * $per_page + 1 ),
- number_format_i18n( min( $pagenum * $per_page, $wp_query->post_count ) ),
- number_format_i18n( $wp_query->post_count ),
- $page_links
-); echo $page_links_text; ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-$page_links_text
";
-?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-get_results( $wpdb->prepare("SELECT * FROM $wpdb->comments WHERE comment_post_ID = %d AND comment_approved != 'spam' ORDER BY comment_date", $id) );
- 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);
- ?>
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
+
-
+hierarchical )
+ page_rows($posts, $pagenum, $per_page);
+else
+ post_rows();
+?>
\ No newline at end of file
diff --git a/wp-admin/edit-tag-form.php b/wp-admin/edit-tag-form.php
index 31f60942..56674de0 100644
--- a/wp-admin/edit-tag-form.php
+++ b/wp-admin/edit-tag-form.php
@@ -10,20 +10,21 @@
if ( !defined('ABSPATH') )
die('-1');
-if ( !current_user_can('manage_categories') )
- wp_die(__('You do not have sufficient permissions to edit tags for this blog.'));
-
if ( empty($tag_ID) ) { ?>
-
+
+if ( 'category' == $taxonomy )
+ do_action('edit_category_form_pre', $tag );
+else
+ do_action('edit_tag_form_pre', $tag);
+do_action($taxonomy . '_pre_edit_form', $tag, $taxonomy); ?>
diff --git a/wp-admin/edit-tags.php b/wp-admin/edit-tags.php
index 44b7a8b8..19912705 100644
--- a/wp-admin/edit-tags.php
+++ b/wp-admin/edit-tags.php
@@ -7,20 +7,30 @@
*/
/** WordPress Administration Bootstrap */
-require_once('admin.php');
+require_once('./admin.php');
-$title = __('Tags');
-
-wp_reset_vars( array('action', 'tag', 'taxonomy') );
+wp_reset_vars( array('action', 'tag', 'taxonomy', 'post_type') );
if ( empty($taxonomy) )
$taxonomy = 'post_tag';
-if ( !is_taxonomy($taxonomy) )
+if ( !taxonomy_exists($taxonomy) )
wp_die(__('Invalid taxonomy'));
-$parent_file = 'edit.php';
-$submenu_file = "edit-tags.php?taxonomy=$taxonomy";
+$tax = get_taxonomy($taxonomy);
+
+$title = $tax->labels->name;
+
+if ( empty($post_type) || !in_array( $post_type, get_post_types( array('public' => true) ) ) )
+ $post_type = 'post';
+
+if ( 'post' != $post_type ) {
+ $parent_file = "edit.php?post_type=$post_type";
+ $submenu_file = "edit-tags.php?taxonomy=$taxonomy&post_type=$post_type";
+} else {
+ $parent_file = 'edit.php';
+ $submenu_file = "edit-tags.php?taxonomy=$taxonomy";
+}
if ( isset( $_GET['action'] ) && isset($_GET['delete_tags']) && ( 'delete' == $_GET['action'] || 'delete' == $_GET['action2'] ) )
$action = 'bulk-delete';
@@ -31,38 +41,49 @@ case 'add-tag':
check_admin_referer('add-tag');
- if ( !current_user_can('manage_categories') )
+ if ( !current_user_can($tax->cap->edit_terms) )
wp_die(__('Cheatin’ uh?'));
$ret = wp_insert_term($_POST['tag-name'], $taxonomy, $_POST);
- if ( $ret && !is_wp_error( $ret ) ) {
- wp_redirect('edit-tags.php?message=1#addtag');
- } else {
- wp_redirect('edit-tags.php?message=4#addtag');
+ $location = 'edit-tags.php?taxonomy=' . $taxonomy;
+ if ( 'post' != $post_type )
+ $location .= '&post_type=' . $post_type;
+
+ if ( $referer = wp_get_original_referer() ) {
+ if ( false !== strpos($referer, 'edit-tags.php') )
+ $location = $referer;
}
+
+ if ( $ret && !is_wp_error( $ret ) )
+ $location = add_query_arg('message', 1, $location);
+ else
+ $location = add_query_arg('message', 4, $location);
+ wp_redirect($location);
exit;
break;
case 'delete':
+ $location = 'edit-tags.php?taxonomy=' . $taxonomy;
+ if ( 'post' != $post_type )
+ $location .= '&post_type=' . $post_type;
+ if ( $referer = wp_get_referer() ) {
+ if ( false !== strpos($referer, 'edit-tags.php') )
+ $location = $referer;
+ }
+
if ( !isset( $_GET['tag_ID'] ) ) {
- wp_redirect("edit-tags.php?taxonomy=$taxonomy");
+ wp_redirect($location);
exit;
}
$tag_ID = (int) $_GET['tag_ID'];
check_admin_referer('delete-tag_' . $tag_ID);
- if ( !current_user_can('manage_categories') )
+ if ( !current_user_can($tax->cap->delete_terms) )
wp_die(__('Cheatin’ uh?'));
wp_delete_term( $tag_ID, $taxonomy);
- $location = 'edit-tags.php';
- if ( $referer = wp_get_referer() ) {
- if ( false !== strpos($referer, 'edit-tags.php') )
- $location = $referer;
- }
-
$location = add_query_arg('message', 2, $location);
wp_redirect($location);
exit;
@@ -72,7 +93,7 @@ break;
case 'bulk-delete':
check_admin_referer('bulk-tags');
- if ( !current_user_can('manage_categories') )
+ if ( !current_user_can($tax->cap->delete_terms) )
wp_die(__('Cheatin’ uh?'));
$tags = (array) $_GET['delete_tags'];
@@ -80,7 +101,9 @@ case 'bulk-delete':
wp_delete_term( $tag_ID, $taxonomy);
}
- $location = 'edit-tags.php';
+ $location = 'edit-tags.php?taxonomy=' . $taxonomy;
+ if ( 'post' != $post_type )
+ $location .= '&post_type=' . $post_type;
if ( $referer = wp_get_referer() ) {
if ( false !== strpos($referer, 'edit-tags.php') )
$location = $referer;
@@ -93,13 +116,13 @@ case 'bulk-delete':
break;
case 'edit':
- $title = __('Edit Tag');
+ $title = $tax->labels->edit_item;
require_once ('admin-header.php');
$tag_ID = (int) $_GET['tag_ID'];
$tag = get_term($tag_ID, $taxonomy, OBJECT, 'edit');
- include('edit-tag-form.php');
+ include('./edit-tag-form.php');
break;
@@ -107,12 +130,15 @@ case 'editedtag':
$tag_ID = (int) $_POST['tag_ID'];
check_admin_referer('update-tag_' . $tag_ID);
- if ( !current_user_can('manage_categories') )
+ if ( !current_user_can($tax->cap->edit_terms) )
wp_die(__('Cheatin’ uh?'));
$ret = wp_update_term($tag_ID, $taxonomy, $_POST);
- $location = 'edit-tags.php';
+ $location = 'edit-tags.php?taxonomy=' . $taxonomy;
+ if ( 'post' != $post_type )
+ $location .= '&post_type=' . $post_type;
+
if ( $referer = wp_get_original_referer() ) {
if ( false !== strpos($referer, 'edit-tags.php') )
$location = $referer;
@@ -129,45 +155,83 @@ break;
default:
-if ( isset($_GET['_wp_http_referer']) && ! empty($_GET['_wp_http_referer']) ) {
+if ( ! empty($_GET['_wp_http_referer']) ) {
wp_redirect( remove_query_arg( array('_wp_http_referer', '_wpnonce'), stripslashes($_SERVER['REQUEST_URI']) ) );
exit;
}
-$can_manage = current_user_can('manage_categories');
-
wp_enqueue_script('admin-tags');
-if ( $can_manage )
+if ( current_user_can($tax->cap->edit_terms) )
wp_enqueue_script('inline-edit-tax');
+if ( 'category' == $taxonomy || 'post_tag' == $taxonomy ) {
+ if ( 'category' == $taxonomy )
+ $help = '' . sprintf(__('You can use categories to define sections of your site and group related posts. The default category is “Uncategorized” until you change it in your writing settings .'), 'options-writing.php') . '
';
+ else
+ $help = '' . __('You can assign keywords to your posts using Post Tags. Unlike categories, tags have no hierarchy, meaning there’s no relationship from one tag to another.') . '
';
+
+ $help .='' . __('What’s the difference between categories and tags? Normally, tags are ad-hoc keywords that identify important information in your post (names, subjects, etc) that may or may not recur in other posts, while categories are pre-determined sections. If you think of your site like a book, the categories are like the Table of Contents and the tags are like the terms in the index.') . '
';
+
+ if ( 'category' == $taxonomy )
+ $help .= '' . __('When adding a new category on this screen, you’ll fill in the following fields:') . '
';
+ else
+ $help .= '' . __('When adding a new tag on this screen, you’ll fill in the following fields:') . '
';
+
+ $help .= '' .
+ '' . __('Name - The name is how it appears on your site.') . ' ';
+ if ( ! global_terms_enabled() )
+ $help .= '' . __('Slug - The “slug” is the URL-friendly version of the name. It is usually all lowercase and contains only letters, numbers, and hyphens.') . ' ';
+
+ if ( 'category' == $taxonomy )
+ $help .= '' . __('Parent - Categories, unlike tags, can have a hierarchy. You might have a Jazz category, and under that have children categories for Bebop and Big Band. Totally optional. To create a subcategory, just choose another category from the Parent dropdown.') . ' ';
+
+ $help .= '' . __('Description - The description is not prominent by default; however, some themes may display it.') . ' ' .
+ ' ' .
+ '' . __('You can change the display of this screen using the Screen Options tab to set how many items are displayed per screen and to display/hide columns in the table.') . '
' .
+ '' . __('For more information:') . '
';
+
+ if ( 'category' == $taxonomy )
+ $help .= '' . __('Categories Documentation ') . '
';
+ else
+ $help .= '' . __('Tags Documentation ') . '
';
+
+ $help .= '' . __('Support Forums ') . '
';
+
+ add_contextual_help($current_screen, $help);
+ unset($help);
+}
+
require_once ('admin-header.php');
-$messages[1] = __('Tag added.');
-$messages[2] = __('Tag deleted.');
-$messages[3] = __('Tag updated.');
-$messages[4] = __('Tag not added.');
-$messages[5] = __('Tag not updated.');
-$messages[6] = __('Tags deleted.'); ?>
+$messages[1] = __('Item added.');
+$messages[2] = __('Item deleted.');
+$messages[3] = __('Item updated.');
+$messages[4] = __('Item not added.');
+$messages[5] = __('Item not updated.');
+$messages[6] = __('Items deleted.');
+
+?>
' . __('Search results for “%s”') . '', esc_html( stripslashes($_GET['s']) ) ); ?>
-
+
+
- :
+ labels->search_items; ?>:
-
+
@@ -178,24 +242,35 @@ endif; ?>
+
add_query_arg( 'pagenum', '%#%' ),
'format' => '',
'prev_text' => __('«'),
'next_text' => __('»'),
- 'total' => ceil(wp_count_terms($taxonomy) / $tags_per_page),
+ 'total' => ceil(wp_count_terms($taxonomy, array('search' => $searchterms)) / $tags_per_page),
'current' => $pagenum
));
@@ -216,27 +291,21 @@ if ( $page_links )
-
@@ -259,52 +328,102 @@ if ( $page_links )
+
+
+
+
+
+
+
-
-
$taxonomy, 'link' => 'edit'));
-else
- wp_tag_cloud(array('taxonomy' => $taxonomy));
-?>
+
+if ( !is_taxonomy_hierarchical($taxonomy) ) {
+ if ( current_user_can( $tax->cap->edit_terms ) )
+ $tag_cloud = wp_tag_cloud( array( 'taxonomy' => $taxonomy, 'echo' => false, 'link' => 'edit' ) );
+ else
+ $tag_cloud = wp_tag_cloud( array( 'taxonomy' => $taxonomy, 'echo' => false ) );
+
+ if ( $tag_cloud ) :
+ ?>
+
+
labels->popular_items; ?>
+
+
+if ( current_user_can($tax->cap->edit_terms) ) {
+ if ( 'category' == $taxonomy )
+ do_action('add_category_form_pre', (object)array('parent' => 0) ); // Back compat hook. Deprecated in preference to $taxonomy_pre_add_form
+ else
+ do_action('add_tag_form_pre', $taxonomy); // Back compat hook. Applies to all Taxonomies -not- categories
+ do_action($taxonomy . '_pre_add_form', $taxonomy);
+?>
@@ -314,12 +433,12 @@ else
-
+
diff --git a/wp-admin/edit.php b/wp-admin/edit.php
index dc0d3f2d..e141d56e 100644
--- a/wp-admin/edit.php
+++ b/wp-admin/edit.php
@@ -7,9 +7,19 @@
*/
/** WordPress Administration Bootstrap */
-require_once('admin.php');
+require_once('./admin.php');
-if ( !current_user_can('edit_posts') )
+if ( !isset($_GET['post_type']) )
+ $post_type = 'post';
+elseif ( in_array( $_GET['post_type'], get_post_types( array('show_ui' => true ) ) ) )
+ $post_type = $_GET['post_type'];
+else
+ wp_die( __('Invalid post type') );
+$_GET['post_type'] = $post_type;
+
+$post_type_object = get_post_type_object($post_type);
+
+if ( !current_user_can($post_type_object->cap->edit_posts) )
wp_die(__('Cheatin’ uh?'));
// Back-compat for viewing comments of an entry
@@ -20,34 +30,54 @@ if ( $_redirect = intval( max( @$_GET['p'], @$_GET['attachment_id'], @$_GET['pag
unset( $_redirect );
}
+if ( 'post' != $post_type ) {
+ $parent_file = "edit.php?post_type=$post_type";
+ $submenu_file = "edit.php?post_type=$post_type";
+ $post_new_file = "post-new.php?post_type=$post_type";
+} else {
+ $parent_file = 'edit.php';
+ $submenu_file = 'edit.php';
+ $post_new_file = 'post-new.php';
+}
+
+$pagenum = isset( $_GET['paged'] ) ? absint( $_GET['paged'] ) : 0;
+if ( empty($pagenum) )
+ $pagenum = 1;
+$per_page = 'edit_' . $post_type . '_per_page';
+$per_page = (int) get_user_option( $per_page );
+if ( empty( $per_page ) || $per_page < 1 )
+ $per_page = 20;
+// @todo filter based on type
+$per_page = apply_filters( 'edit_posts_per_page', $per_page );
+
// Handle bulk actions
if ( isset($_GET['doaction']) || isset($_GET['doaction2']) || isset($_GET['delete_all']) || isset($_GET['delete_all2']) || isset($_GET['bulk_edit']) ) {
check_admin_referer('bulk-posts');
$sendback = remove_query_arg( array('trashed', 'untrashed', 'deleted', 'ids'), wp_get_referer() );
if ( strpos($sendback, 'post.php') !== false )
- $sendback = admin_url('post-new.php');
+ $sendback = admin_url($post_new_file);
if ( isset($_GET['delete_all']) || isset($_GET['delete_all2']) ) {
$post_status = preg_replace('/[^a-z0-9_-]+/i', '', $_GET['post_status']);
- $post_ids = $wpdb->get_col( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_type='post' AND post_status = %s", $post_status ) );
+ $post_ids = $wpdb->get_col( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_type=%s AND post_status = %s", $post_type, $post_status ) );
$doaction = 'delete';
} elseif ( ( $_GET['action'] != -1 || $_GET['action2'] != -1 ) && ( isset($_GET['post']) || isset($_GET['ids']) ) ) {
$post_ids = isset($_GET['post']) ? array_map( 'intval', (array) $_GET['post'] ) : explode(',', $_GET['ids']);
$doaction = ($_GET['action'] != -1) ? $_GET['action'] : $_GET['action2'];
} else {
- wp_redirect( admin_url('edit.php') );
+ wp_redirect( admin_url("edit.php?post_type=$post_type") );
}
switch ( $doaction ) {
case 'trash':
$trashed = 0;
foreach( (array) $post_ids as $post_id ) {
- if ( !current_user_can('delete_post', $post_id) )
- wp_die( __('You are not allowed to move this post to the trash.') );
+ if ( !current_user_can($post_type_object->cap->delete_post, $post_id) )
+ wp_die( __('You are not allowed to move this item to the Trash.') );
if ( !wp_trash_post($post_id) )
- wp_die( __('Error in moving to trash...') );
+ wp_die( __('Error in moving to Trash.') );
$trashed++;
}
@@ -56,11 +86,11 @@ if ( isset($_GET['doaction']) || isset($_GET['doaction2']) || isset($_GET['delet
case 'untrash':
$untrashed = 0;
foreach( (array) $post_ids as $post_id ) {
- if ( !current_user_can('delete_post', $post_id) )
- wp_die( __('You are not allowed to restore this post from the trash.') );
+ if ( !current_user_can($post_type_object->cap->delete_post, $post_id) )
+ wp_die( __('You are not allowed to restore this item from the Trash.') );
if ( !wp_untrash_post($post_id) )
- wp_die( __('Error in restoring from trash...') );
+ wp_die( __('Error in restoring from Trash.') );
$untrashed++;
}
@@ -71,8 +101,8 @@ if ( isset($_GET['doaction']) || isset($_GET['doaction2']) || isset($_GET['delet
foreach( (array) $post_ids as $post_id ) {
$post_del = & get_post($post_id);
- if ( !current_user_can('delete_post', $post_id) )
- wp_die( __('You are not allowed to delete this post.') );
+ if ( !current_user_can($post_type_object->cap->delete_post, $post_id) )
+ wp_die( __('You are not allowed to delete this item.') );
if ( $post_del->post_type == 'attachment' ) {
if ( ! wp_delete_attachment($post_id) )
@@ -98,34 +128,67 @@ if ( isset($_GET['doaction']) || isset($_GET['doaction2']) || isset($_GET['delet
}
if ( isset($_GET['action']) )
- $sendback = remove_query_arg( array('action', 'action2', 'cat', 'tags_input', 'post_author', 'comment_status', 'ping_status', '_status', 'post', 'bulk_edit', 'post_view', 'post_type'), $sendback );
+ $sendback = remove_query_arg( array('action', 'action2', 'tags_input', 'post_author', 'comment_status', 'ping_status', '_status', 'post', 'bulk_edit', 'post_view'), $sendback );
wp_redirect($sendback);
exit();
-} elseif ( isset($_GET['_wp_http_referer']) && ! empty($_GET['_wp_http_referer']) ) {
+} elseif ( ! empty($_GET['_wp_http_referer']) ) {
wp_redirect( remove_query_arg( array('_wp_http_referer', '_wpnonce'), stripslashes($_SERVER['REQUEST_URI']) ) );
exit;
}
-if ( empty($title) )
- $title = __('Edit Posts');
-$parent_file = 'edit.php';
wp_enqueue_script('inline-edit-post');
$user_posts = false;
-if ( !current_user_can('edit_others_posts') ) {
- $user_posts_count = $wpdb->get_var( $wpdb->prepare("SELECT COUNT(1) FROM $wpdb->posts WHERE post_type = 'post' AND post_status != 'trash' AND post_author = %d", $current_user->ID) );
+if ( !current_user_can($post_type_object->cap->edit_others_posts) ) {
+ $user_posts_count = $wpdb->get_var( $wpdb->prepare("SELECT COUNT(1) FROM $wpdb->posts WHERE post_type = '%s' AND post_status NOT IN ('trash', 'auto-draft') AND post_author = %d", $post_type, $current_user->ID) );
$user_posts = true;
if ( $user_posts_count && empty($_GET['post_status']) && empty($_GET['all_posts']) && empty($_GET['author']) )
$_GET['author'] = $current_user->ID;
}
-list($post_stati, $avail_post_stati) = wp_edit_posts_query();
+$avail_post_stati = wp_edit_posts_query();
-require_once('admin-header.php');
+if ( $post_type_object->hierarchical )
+ $num_pages = ceil($wp_query->post_count / $per_page);
+else
+ $num_pages = $wp_query->max_num_pages;
+
+$title = $post_type_object->labels->name;
+
+if ( 'post' == $post_type ) {
+ add_contextual_help($current_screen,
+ '
' . __('You can customize the display of this screen in a number of ways:') . '
' .
+ '
' .
+ '' . __('You can hide/display columns based on your needs and decide how many posts to list per screen using the Screen Options tab.') . ' ' .
+ '' . __('You can filter the list of posts by post status using the text links in the upper left to show All, Published, Draft, or Trashed posts. The default view is to show all posts.') . ' ' .
+ '' . __('You can view posts in a simple title list or with an excerpt. Choose the view you prefer by clicking on the icons at the top of the list on the right.') . ' ' .
+ '' . __('You can refine the list to show only posts in a specific category or from a specific month by using the dropdown menus above the posts list. Click the Filter button after making your selection. You also can refine the list by clicking on the post author, category or tag in the posts list.') . ' ' .
+ ' ' .
+ '
' . __('Hovering over a row in the posts list will display action links that allow you to manage your post. You can perform the following actions:') . '
' .
+ '
' .
+ '' . __('Edit takes you to the editing screen for that post. You can also reach that screen by clicking on the post title.') . ' ' .
+ '' . __('Quick Edit provides inline access to the metadata of your post, allowing you to update post details without leaving this screen.') . ' ' .
+ '' . __('Trash removes your post from this list and places it in the trash, from which you can permanently delete it.') . ' ' .
+ '' . __('Preview will show you what your draft post will look like if you publish it. View will take you to your live site to view the post. Which link is available depends on your post’s status.') . ' ' .
+ ' ' .
+ '
' . __('You can also edit multiple posts at once. Select the posts you want to edit using the checkboxes, select Edit from the Bulk Actions menu and click Apply. You will be able to change the metadata (categories, author, etc.) for all selected posts at once. To remove a post from the grouping, just click the x next to its name in the Bulk Edit area that appears.') . '
' .
+ '
' . __('For more information:') . '
' .
+ '
' . __('Edit Posts Documentation ') . '
' .
+ '
' . __('Support Forums ') . '
'
+ );
+} elseif ( 'page' == $post_type ) {
+ add_contextual_help($current_screen,
+ '
' . __('Pages are similar to to Posts in that they have a title, body text, and associated metadata, but they are different in that they are not part of the chronological blog stream, kind of like permanent posts. Pages are not categorized or tagged, but can have a hierarchy. You can nest Pages under other Pages by making one the “Parent” of the other, creating a group of Pages.') . '
' .
+ '
' . __('Managing Pages is very similar to managing Posts, and the screens can be customized in the same way.') . '
' .
+ '
' . __('You can also perform the same types of actions, including narrowing the list by using the filters, acting on a Page using the action links that appear when you hover over a row, or using the Bulk Actions menu to edit the metadata for multiple Pages at once.') . '
' .
+ '
' . __('For more information:') . '
' .
+ '
' . __('Page Management Documentation ') . '
' .
+ '
' . __('Support Forums ') . '
'
+ );
+}
-if ( !isset( $_GET['paged'] ) )
- $_GET['paged'] = 1;
+require_once('./admin-header.php');
if ( empty($_GET['mode']) )
$mode = 'list';
@@ -134,19 +197,19 @@ else
-
labels->name ); ?> labels->add_new); ?> ' . __('Search results for “%s”') . '', esc_html( get_search_query() ) ); ?>
+ printf( '' . __('Search results for “%s”') . ' ', get_search_query() ); ?>
-
+
-
+
' . __('Undo') . ' ';
+ echo ' ' . __('Undo') . ' ';
unset($_GET['trashed']);
}
if ( isset($_GET['untrashed']) && (int) $_GET['untrashed'] ) {
- printf( _n( 'Post restored from the trash.', '%s posts restored from the trash.', $_GET['untrashed'] ), number_format_i18n( $_GET['untrashed'] ) );
+ printf( _n( 'Item restored from the Trash.', '%s items restored from the Trash.', $_GET['untrashed'] ), number_format_i18n( $_GET['untrashed'] ) );
unset($_GET['undeleted']);
}
@@ -188,34 +251,41 @@ $_SERVER['REQUEST_URI'] = remove_query_arg( array('locked', 'skipped', 'updated'
ID ) )
$class = ' class="current"';
- $status_links[] = "
" . sprintf( _nx( 'My Posts (%s) ', 'My Posts (%s) ', $user_posts_count, 'posts' ), number_format_i18n( $user_posts_count ) ) . ' ';
- $allposts = '?all_posts=1';
+ $status_links[] = "" . sprintf( _nx( 'Mine (%s) ', 'Mine (%s) ', $user_posts_count, 'posts' ), number_format_i18n( $user_posts_count ) ) . ' ';
+ $allposts = '&all_posts=1';
}
-$total_posts = array_sum( (array) $num_posts ) - $num_posts->trash;
+$total_posts = array_sum( (array) $num_posts );
+
+// Subtract post types that are not included in the admin all list.
+foreach ( get_post_stati( array('show_in_admin_all_list' => false) ) as $state )
+ $total_posts -= $num_posts->$state;
+
$class = empty($class) && empty($_GET['post_status']) ? ' class="current"' : '';
-$status_links[] = "" . sprintf( _nx( 'All (%s) ', 'All (%s) ', $total_posts, 'posts' ), number_format_i18n( $total_posts ) ) . ' ';
+$status_links[] = "" . sprintf( _nx( 'All (%s) ', 'All (%s) ', $total_posts, 'posts' ), number_format_i18n( $total_posts ) ) . ' ';
-foreach ( $post_stati as $status => $label ) {
+foreach ( get_post_stati(array('show_in_admin_status_list' => true), 'objects') as $status ) {
$class = '';
- if ( !in_array( $status, $avail_post_stati ) )
+ $status_name = $status->name;
+
+ if ( !in_array( $status_name, $avail_post_stati ) )
continue;
- if ( empty( $num_posts->$status ) )
+ if ( empty( $num_posts->$status_name ) )
continue;
- if ( isset($_GET['post_status']) && $status == $_GET['post_status'] )
+ if ( isset($_GET['post_status']) && $status_name == $_GET['post_status'] )
$class = ' class="current"';
- $status_links[] = "" . sprintf( _n( $label[2][0], $label[2][1], $num_posts->$status ), number_format_i18n( $num_posts->$status ) ) . ' ';
+ $status_links[] = "" . sprintf( _n( $status->label_count[0], $status->label_count[1], $num_posts->$status_name ), number_format_i18n( $num_posts->$status_name ) ) . ' ';
}
echo implode( " |\n", $status_links ) . '';
unset( $status_links );
@@ -224,12 +294,13 @@ endif;
- :
+ labels->search_items; ?>:
-
+
+
@@ -241,8 +312,8 @@ $page_links = paginate_links( array(
'format' => '',
'prev_text' => __('«'),
'next_text' => __('»'),
- 'total' => $wp_query->max_num_pages,
- 'current' => $_GET['paged']
+ 'total' => $num_pages,
+ 'current' => $pagenum
));
$is_trash = isset($_GET['post_status']) && $_GET['post_status'] == 'trash';
@@ -267,7 +338,7 @@ $is_trash = isset($_GET['post_status']) && $_GET['post_status'] == 'trash';
posts WHERE post_type = 'post' ORDER BY post_date DESC";
+$arc_query = $wpdb->prepare("SELECT DISTINCT YEAR(post_date) AS yyear, MONTH(post_date) AS mmonth FROM $wpdb->posts WHERE post_type = %s ORDER BY post_date DESC", $post_type);
$arc_result = $wpdb->get_results( $arc_query );
@@ -298,39 +369,50 @@ foreach ($arc_result as $arc_row) {
__('View all categories'), 'hide_empty' => 0, 'hierarchical' => 1,
- 'show_count' => 0, 'orderby' => 'name', 'selected' => $cat);
-wp_dropdown_categories($dropdown_options);
+if ( is_object_in_taxonomy($post_type, 'category') ) {
+ $dropdown_options = array('show_option_all' => __('View all categories'), 'hide_empty' => 0, 'hierarchical' => 1,
+ 'show_count' => 0, 'orderby' => 'name', 'selected' => $cat);
+ wp_dropdown_categories($dropdown_options);
+}
do_action('restrict_manage_posts');
?>
+if ( $is_trash && current_user_can($post_type_object->cap->edit_others_posts) ) { ?>
-
' . __( 'Displaying %s–%s of %s' ) . '%s',
- number_format_i18n( ( $_GET['paged'] - 1 ) * $wp_query->query_vars['posts_per_page'] + 1 ),
- number_format_i18n( min( $_GET['paged'] * $wp_query->query_vars['posts_per_page'], $wp_query->found_posts ) ),
- number_format_i18n( $wp_query->found_posts ),
- $page_links
-); echo $page_links_text; ?>
-
+
hierarchical ? $wp_query->post_count : $wp_query->found_posts;
+ $page_links_text = sprintf( '' . __( 'Displaying %s–%s of %s' ) . ' %s',
+ number_format_i18n( ( $pagenum - 1 ) * $per_page + 1 ),
+ number_format_i18n( min( $pagenum * $per_page, $count_posts ) ),
+ number_format_i18n( $count_posts ),
+ $page_links
+ );
+ echo $page_links_text;
+ ?>
+hierarchical ) {
+?>
+
-
+
@@ -353,7 +435,7 @@ if ( $page_links )
-
+cap->edit_others_posts) ) { ?>
@@ -365,19 +447,19 @@ if ( $page_links )
labels->not_found_in_trash;
else
- _e('No posts found');
+ echo $post_type_object->labels->not_found;
?>
-
+
' . __('You can export a file of your site’s content in order to import it into another installation or platform. The export file will be an XML file format called WXR. Posts, pages, comments, custom fields, categories, and tags can be included. You can set filters to have the WXR file only include a certain date, author, category, tag, all posts or all pages, certain publishing statuses.') . '' .
+ '
' . __('Once generated, your WXR file can be imported by another WordPress site or by another blogging platform able to access this format.') . '
' .
+ '
' . __('For more information:') . '
' .
+ '
' . __('Export Documentation ') . '
' .
+ '
' . __('Support Forums ') . '
'
+);
+
if ( isset( $_GET['download'] ) ) {
- $author = isset($_GET['author']) ? $_GET['author'] : 'all';
- export_wp( $author );
+ $author = isset($_GET['author']) ? $_GET['author'] : 'all';
+ $taxonomy = array();
+ foreach ( get_taxonomies( array( 'show_ui' => true ) ) as $tax )
+ $taxonomy[ $tax ] = ! empty( $_GET['taxonomy'][ $tax ] ) ? $_GET['taxonomy'][ $tax ] : 'all';
+ $post_type = isset($_GET['post_type']) ? stripslashes_deep($_GET['post_type']) : 'all';
+ $status = isset($_GET['status']) ? stripslashes_deep($_GET['status']) : 'all';
+ $mm_start = isset($_GET['mm_start']) ? $_GET['mm_start'] : 'all';
+ $mm_end = isset($_GET['mm_end']) ? $_GET['mm_end'] : 'all';
+ if( $mm_start != 'all' ) {
+ $start_date = sprintf( "%04d-%02d-%02d", substr( $mm_start, 0, 4 ), substr( $mm_start, 5, 2 ), 1 );
+ } else {
+ $start_date = 'all';
+ }
+ if( $mm_end != 'all' ) {
+ $end_date = sprintf( "%04d-%02d-%02d", substr( $mm_end, 0, 4 ), substr( $mm_end, 5, 2 ), 1 );
+ } else {
+ $end_date = 'all';
+ }
+
+ export_wp( array( 'author' => $author, 'taxonomy' => $taxonomy, 'post_type' => $post_type, 'post_status' => $status, 'start_date' => $start_date, 'end_date' => $end_date ) );
die();
}
require_once ('admin-header.php');
+
+$dateoptions = $edateoptions = '';
+$types = "'" . implode("', '", get_post_types( array( 'public' => true, 'can_export' => true ), 'names' )) . "'";
+$stati = "'" . implode("', '", get_post_stati( array( 'internal' => false ), 'names' )) . "'";
+if ( $monthyears = $wpdb->get_results("SELECT DISTINCT YEAR(post_date) AS `year`, MONTH(post_date) AS `month`, YEAR(DATE_ADD(post_date, INTERVAL 1 MONTH)) AS `eyear`, MONTH(DATE_ADD(post_date, INTERVAL 1 MONTH)) AS `emonth` FROM $wpdb->posts WHERE post_type IN ($types) AND post_status IN ($stati) ORDER BY post_date ASC ") ) {
+ foreach ( $monthyears as $k => $monthyear )
+ $monthyears[$k]->lmonth = $wp_locale->get_month( $monthyear->month, 2 );
+ for( $s = 0, $e = count( $monthyears ) - 1; $e >= 0; $s++, $e-- ) {
+ $dateoptions .= "\t
year . '-' . zeroise( $monthyears[$s]->month, 2 ) . '">' . $monthyears[$s]->lmonth . ' ' . $monthyears[$s]->year . " \n";
+ $edateoptions .= "\t
eyear . '-' . zeroise( $monthyears[$e]->emonth, 2 ) . '">' . $monthyears[$e]->lmonth . ' ' . $monthyears[$e]->year . " \n";
+ }
+}
+
?>
@@ -31,26 +70,71 @@ require_once ('admin-header.php');
-
+
-
+
diff --git a/wp-admin/gears-manifest.php b/wp-admin/gears-manifest.php
index 6bd926b8..8feb485f 100644
--- a/wp-admin/gears-manifest.php
+++ b/wp-admin/gears-manifest.php
@@ -34,15 +34,15 @@ header( 'Content-Type: application/x-javascript; charset=UTF-8' );
$entries = '';
foreach ( $files as $file ) {
+ // Set ignoreQuery, defaulting to true
+ $ignore_query = ( isset($file[2]) && !$file[2] ) ? '' : ', "ignoreQuery" : true ';
+
// If version is not set, just output the file
if ( !isset($file[1]) )
- $entries .= '{ "url" : "' . $file[0] . '" },' . "\n";
- // If ver is set but ignoreQuery is not, output file with ver tacked on
- elseif ( !isset($file[2]) )
- $entries .= '{ "url" : "' . $file[0] . '?' . $file[1] . '" },' . "\n";
- // Output url, src, and ignoreQuery
+ $entries .= '{ "url" : "' . $file[0] . '"' . $ignore_query . ' }' . "\n";
+ // Output url and src
else
- $entries .= '{ "url" : "' . $file[0] . '", "src" : "' . $file[0] . '?' . $file[1] . '", "ignoreQuery" : true },' . "\n";
+ $entries .= '{ "url" : "' . $file[0] . '", "src" : "' . $file[0] . '?' . $file[1] . '"' . $ignore_query . ' },' . "\n";
}
echo trim( trim($entries), ',' );
diff --git a/wp-admin/images/browse-happy.gif b/wp-admin/images/browse-happy.gif
deleted file mode 100644
index c5b64a5e..00000000
Binary files a/wp-admin/images/browse-happy.gif and /dev/null differ
diff --git a/wp-admin/images/fav-arrow-rtl.gif b/wp-admin/images/fav-arrow-rtl.gif
index 9c9fd15a..e9aeba05 100644
Binary files a/wp-admin/images/fav-arrow-rtl.gif and b/wp-admin/images/fav-arrow-rtl.gif differ
diff --git a/wp-admin/images/fav-arrow-vs-rtl.gif b/wp-admin/images/fav-arrow-vs-rtl.gif
new file mode 100644
index 00000000..a9c0721c
Binary files /dev/null and b/wp-admin/images/fav-arrow-vs-rtl.gif differ
diff --git a/wp-admin/images/fav-arrow.gif b/wp-admin/images/fav-arrow.gif
index 69e03524..28fc6bbe 100644
Binary files a/wp-admin/images/fav-arrow.gif and b/wp-admin/images/fav-arrow.gif differ
diff --git a/wp-admin/images/fav-top.png b/wp-admin/images/fav-top.png
deleted file mode 100644
index 85a68529..00000000
Binary files a/wp-admin/images/fav-top.png and /dev/null differ
diff --git a/wp-admin/images/icons32-vs.png b/wp-admin/images/icons32-vs.png
index 46831747..d910bc1b 100644
Binary files a/wp-admin/images/icons32-vs.png and b/wp-admin/images/icons32-vs.png differ
diff --git a/wp-admin/images/icons32.png b/wp-admin/images/icons32.png
index 6677d1ce..d94e38af 100644
Binary files a/wp-admin/images/icons32.png and b/wp-admin/images/icons32.png differ
diff --git a/wp-admin/images/media-button-image.gif b/wp-admin/images/media-button-image.gif
index 11278c85..5e7e4265 100644
Binary files a/wp-admin/images/media-button-image.gif and b/wp-admin/images/media-button-image.gif differ
diff --git a/wp-admin/images/media-button-music.gif b/wp-admin/images/media-button-music.gif
index f85cd434..0254a088 100644
Binary files a/wp-admin/images/media-button-music.gif and b/wp-admin/images/media-button-music.gif differ
diff --git a/wp-admin/images/media-button-other.gif b/wp-admin/images/media-button-other.gif
index f3f2f8ae..414a9578 100644
Binary files a/wp-admin/images/media-button-other.gif and b/wp-admin/images/media-button-other.gif differ
diff --git a/wp-admin/images/media-button-video.gif b/wp-admin/images/media-button-video.gif
index ceb27341..50ac6e02 100644
Binary files a/wp-admin/images/media-button-video.gif and b/wp-admin/images/media-button-video.gif differ
diff --git a/wp-admin/images/menu-bits-rtl.gif b/wp-admin/images/menu-bits-rtl.gif
index 3765bfb8..b193af0d 100644
Binary files a/wp-admin/images/menu-bits-rtl.gif and b/wp-admin/images/menu-bits-rtl.gif differ
diff --git a/wp-admin/images/menu-bits.gif b/wp-admin/images/menu-bits.gif
index 9a10a9a1..218e184d 100644
Binary files a/wp-admin/images/menu-bits.gif and b/wp-admin/images/menu-bits.gif differ
diff --git a/wp-admin/images/menu-vs.png b/wp-admin/images/menu-vs.png
index eb53fe8d..76372bc3 100644
Binary files a/wp-admin/images/menu-vs.png and b/wp-admin/images/menu-vs.png differ
diff --git a/wp-admin/images/menu.png b/wp-admin/images/menu.png
index cc299fc6..fa6ed84b 100644
Binary files a/wp-admin/images/menu.png and b/wp-admin/images/menu.png differ
diff --git a/wp-admin/images/screen-options-left.gif b/wp-admin/images/screen-options-left.gif
deleted file mode 100644
index d692d864..00000000
Binary files a/wp-admin/images/screen-options-left.gif and /dev/null differ
diff --git a/wp-admin/images/screen-options-right-up.gif b/wp-admin/images/screen-options-right-up.gif
index 908e37fd..6556aeed 100644
Binary files a/wp-admin/images/screen-options-right-up.gif and b/wp-admin/images/screen-options-right-up.gif differ
diff --git a/wp-admin/images/screen-options-right.gif b/wp-admin/images/screen-options-right.gif
index e2508a05..8fcf2548 100644
Binary files a/wp-admin/images/screen-options-right.gif and b/wp-admin/images/screen-options-right.gif differ
diff --git a/wp-admin/images/widgets-arrow.gif b/wp-admin/images/widgets-arrow.gif
new file mode 100644
index 00000000..69e03524
Binary files /dev/null and b/wp-admin/images/widgets-arrow.gif differ
diff --git a/wp-admin/images/wp-logo-vs.gif b/wp-admin/images/wp-logo-vs.gif
deleted file mode 100644
index 7154d49a..00000000
Binary files a/wp-admin/images/wp-logo-vs.gif and /dev/null differ
diff --git a/wp-admin/images/wp-logo-vs.png b/wp-admin/images/wp-logo-vs.png
new file mode 100644
index 00000000..793f54cd
Binary files /dev/null and b/wp-admin/images/wp-logo-vs.png differ
diff --git a/wp-admin/images/wp-logo.gif b/wp-admin/images/wp-logo.gif
deleted file mode 100644
index 42bc6767..00000000
Binary files a/wp-admin/images/wp-logo.gif and /dev/null differ
diff --git a/wp-admin/images/wp-logo.png b/wp-admin/images/wp-logo.png
new file mode 100644
index 00000000..81e7d599
Binary files /dev/null and b/wp-admin/images/wp-logo.png differ
diff --git a/wp-admin/import.php b/wp-admin/import.php
index 86dcb147..d3ade57a 100644
--- a/wp-admin/import.php
+++ b/wp-admin/import.php
@@ -6,13 +6,42 @@
* @subpackage Administration
*/
+define('WP_LOAD_IMPORTERS', true);
+
/** Load WordPress Bootstrap */
require_once ('admin.php');
-if ( !current_user_can('edit_files') )
- wp_die(__('You do not have sufficient permissions to import content in this blog.'));
+if ( !current_user_can('import') )
+ wp_die(__('You do not have sufficient permissions to import content in this site.'));
$title = __('Import');
+
+add_contextual_help($current_screen,
+ '
' . __('This screen lists links to plugins to import data from blogging/content management platforms. Choose the platform you want to import from, and click Install Now when you are prompted in the popup window. If your platform is not listed, click the link to search the plugin directory for other importer plugins to see if there is one for your platform.') . '
' .
+ '' . __('In previous versions of WordPress, all the importers were built-in, but they have been turned into plugins as of version 3.0 since most people only use them once or infrequently.') . '
' .
+ '' . __('For more information:') . '
' .
+ '' . __('Import Documentation ') . '
' .
+ '' . __('Support Forums ') . '
'
+);
+
+$popular_importers = array();
+if ( current_user_can('install_plugins') )
+ $popular_importers = array(
+ 'blogger' => array( __('Blogger'), __('Install the Blogger importer to import posts, comments, and users from a Blogger blog.'), 'install' ),
+ 'wpcat2tag' => array(__('Categories and Tags Converter'), __('Install the category/tag converter to convert existing categories to tags or tags to categories, selectively.'), 'install', 'wp-cat2tag' ),
+ 'livejournal' => array( __( 'LiveJournal' ), __( 'Install the LiveJournal importer to import posts from LiveJournal using their API.' ), 'install' ),
+ 'movabletype' => array( __('Movable Type and TypePad'), __('Install the Movable Type importer to import posts and comments from a Movable Type or TypePad blog.'), 'install', 'mt' ),
+ 'opml' => array( __('Blogroll'), __('Install the blogroll importer to import links in OPML format.'), 'install' ),
+ 'rss' => array( __('RSS'), __('Install the RSS importer to import posts from an RSS feed.'), 'install' ),
+ 'wordpress' => array( 'WordPress', __('Install the WordPress importer to import posts, pages, comments, custom fields, categories, and tags from a WordPress export file.'), 'install' )
+ );
+
+if ( ! empty( $_GET['invalid'] ) && !empty($popular_importers[$_GET['invalid']][3]) ) {
+ wp_redirect("import.php?import=" . $popular_importers[$_GET['invalid']][3]);
+ exit;
+}
+
+add_thickbox();
require_once ('admin-header.php');
$parent_file = 'tools.php';
?>
@@ -20,7 +49,10 @@ $parent_file = 'tools.php';
-
+
+
%s importer is invalid or is not installed.'), esc_html( $_GET['invalid'] ) ); ?>
+
+
$pop_data ) {
+ if ( isset($importers[$pop_importer] ) )
+ continue;
+ if ( isset( $pop_data[3] ) && isset( $importers[ $pop_data[3] ] ) )
+ continue;
+
+ $importers[$pop_importer] = $popular_importers[$pop_importer];
+}
+
if (empty ($importers)) {
echo '
'.__('No importers are available.').'
'; // TODO: make more helpful
} else {
+ uasort($importers, create_function('$a, $b', 'return strcmp($a[0], $b[0]);'));
?>
@@ -51,7 +94,26 @@ if (empty ($importers)) {
$style = '';
foreach ($importers as $id => $data) {
$style = ('class="alternate"' == $style || 'class="alternate active"' == $style) ? '' : 'alternate';
- $action = "{$data[0]} ";
+ $action = '';
+ if ( 'install' == $data[2] ) {
+ $plugin_slug = $id . '-importer';
+ if ( file_exists( WP_PLUGIN_DIR . '/' . $plugin_slug ) ) {
+ // Looks like Importer is installed, But not active
+ $plugins = get_plugins( '/' . $plugin_slug );
+ if ( !empty($plugins) ) {
+ $keys = array_keys($plugins);
+ $plugin_file = $plugin_slug . '/' . $keys[0];
+ $action = '' . $data[0] . ' ';
+ }
+ }
+ if ( empty($action) )
+ $action = '' . $data[0] . ' ';
+ } else {
+ $action = "{$data[0]} ";
+ }
if ($style != '')
$style = 'class="'.$style.'"';
@@ -66,6 +128,9 @@ if (empty ($importers)) {
' . sprintf('If the importer you need is not listed,
search the plugins directory to see if an importer is available.', esc_url(admin_url('plugin-install.php?tab=search&type=tag&s=importer')) ) . '';
?>
@@ -74,4 +139,3 @@ if (empty ($importers)) {
include ('admin-footer.php');
?>
-
diff --git a/wp-admin/import/blogger.php b/wp-admin/import/blogger.php
deleted file mode 100644
index 58aa684b..00000000
--- a/wp-admin/import/blogger.php
+++ /dev/null
@@ -1,1077 +0,0 @@
-
- ".screen_icon()."
- $title
- $welcome
$prereqs
$stepone
-
-
-
-
-
-
-
-
-
-
\n";
- }
-
- function uh_oh($title, $message, $info) {
- echo "
";
- screen_icon();
- echo "
$title $message
$info ";
- }
-
- function auth() {
- // We have a single-use token that must be upgraded to a session token.
- $token = preg_replace( '/[^-_0-9a-zA-Z]/', '', $_GET['token'] );
- $headers = array(
- "GET /accounts/AuthSubSessionToken HTTP/1.0",
- "Authorization: AuthSub token=\"$token\""
- );
- $request = join( "\r\n", $headers ) . "\r\n\r\n";
- $sock = $this->_get_auth_sock( );
- if ( ! $sock ) return false;
- $response = $this->_txrx( $sock, $request );
- preg_match( '/token=([-_0-9a-z]+)/i', $response, $matches );
- if ( empty( $matches[1] ) ) {
- $this->uh_oh(
- __( 'Authorization failed' ),
- __( 'Something went wrong. If the problem persists, send this info to support:' ),
- htmlspecialchars($response)
- );
- return false;
- }
- $this->token = $matches[1];
-
- wp_redirect( remove_query_arg( array( 'token', 'noheader' ) ) );
- }
-
- function get_token_info() {
- $headers = array(
- "GET /accounts/AuthSubTokenInfo HTTP/1.0",
- "Authorization: AuthSub token=\"$this->token\""
- );
- $request = join( "\r\n", $headers ) . "\r\n\r\n";
- $sock = $this->_get_auth_sock( );
- if ( ! $sock ) return;
- $response = $this->_txrx( $sock, $request );
- return $this->parse_response($response);
- }
-
- function token_is_valid() {
- $info = $this->get_token_info();
-
- if ( $info['code'] == 200 )
- return true;
-
- return false;
- }
-
- function show_blogs($iter = 0) {
- if ( empty($this->blogs) ) {
- $headers = array(
- "GET /feeds/default/blogs HTTP/1.0",
- "Host: www.blogger.com",
- "Authorization: AuthSub token=\"$this->token\""
- );
- $request = join( "\r\n", $headers ) . "\r\n\r\n";
- $sock = $this->_get_blogger_sock( );
- if ( ! $sock ) return;
- $response = $this->_txrx( $sock, $request );
-
- // Quick and dirty XML mining.
- list( $headers, $xml ) = explode( "\r\n\r\n", $response );
- $p = xml_parser_create();
- xml_parse_into_struct($p, $xml, $vals, $index);
- xml_parser_free($p);
-
- $this->title = $vals[$index['TITLE'][0]]['value'];
-
- // Give it a few retries... this step often flakes out the first time.
- if ( empty( $index['ENTRY'] ) ) {
- if ( $iter < 3 ) {
- return $this->show_blogs($iter + 1);
- } else {
- $this->uh_oh(
- __('Trouble signing in'),
- __('We were not able to gain access to your account. Try starting over.'),
- ''
- );
- return false;
- }
- }
-
- foreach ( $index['ENTRY'] as $i ) {
- $blog = array();
- while ( ( $tag = $vals[$i] ) && ! ( $tag['tag'] == 'ENTRY' && $tag['type'] == 'close' ) ) {
- if ( $tag['tag'] == 'TITLE' ) {
- $blog['title'] = $tag['value'];
- } elseif ( $tag['tag'] == 'SUMMARY' ) {
- $blog['summary'] == $tag['value'];
- } elseif ( $tag['tag'] == 'LINK' ) {
- if ( $tag['attributes']['REL'] == 'alternate' && $tag['attributes']['TYPE'] == 'text/html' ) {
- $parts = parse_url( $tag['attributes']['HREF'] );
- $blog['host'] = $parts['host'];
- } elseif ( $tag['attributes']['REL'] == 'edit' )
- $blog['gateway'] = $tag['attributes']['HREF'];
- }
- ++$i;
- }
- if ( ! empty ( $blog ) ) {
- $blog['total_posts'] = $this->get_total_results('posts', $blog['host']);
- $blog['total_comments'] = $this->get_total_results('comments', $blog['host']);
- $blog['mode'] = 'init';
- $this->blogs[] = $blog;
- }
- }
-
- if ( empty( $this->blogs ) ) {
- $this->uh_oh(
- __('No blogs found'),
- __('We were able to log in but there were no blogs. Try a different account next time.'),
- ''
- );
- return false;
- }
- }
-//echo '
'.print_r($this,1).' ';
- $start = esc_js( __('Import') );
- $continue = esc_js( __('Continue') );
- $stop = esc_js( __('Importing...') );
- $authors = esc_js( __('Set Authors') );
- $loadauth = esc_js( __('Preparing author mapping form...') );
- $authhead = esc_js( __('Final Step: Author Mapping') );
- $nothing = esc_js( __('Nothing was imported. Had you already imported this blog?') );
- $stopping = ''; //Missing String used below.
- $title = __('Blogger Blogs');
- $name = __('Blog Name');
- $url = __('Blog URL');
- $action = __('The Magic Button');
- $posts = __('Posts');
- $comments = __('Comments');
- $noscript = __('This feature requires Javascript but it seems to be disabled. Please enable Javascript and then reload this page. Don’t worry, you can turn it back off when you’re done.');
-
- $interval = STATUS_INTERVAL * 1000;
-
- foreach ( $this->blogs as $i => $blog ) {
- if ( $blog['mode'] == 'init' )
- $value = $start;
- elseif ( $blog['mode'] == 'posts' || $blog['mode'] == 'comments' )
- $value = $continue;
- else
- $value = $authors;
- $value = esc_attr($value);
- $blogtitle = esc_js( $blog['title'] );
- $pdone = isset($blog['posts_done']) ? (int) $blog['posts_done'] : 0;
- $cdone = isset($blog['comments_done']) ? (int) $blog['comments_done'] : 0;
- $init .= "blogs[$i]=new blog($i,'$blogtitle','{$blog['mode']}'," . $this->get_js_status($i) . ');';
- $pstat = "
$pdone/{$blog['total_posts']}
";
- $cstat = "
$cdone/{$blog['total_comments']}
";
- $rows .= "
$blogtitle {$blog['host']} $pstat $cstat \n";
- }
-
- echo "
$title $noscript $name $url $posts $comments $action \n$rows
";
- echo "
- \n";
- }
-
- // Handy function for stopping the script after a number of seconds.
- function have_time() {
- global $importer_started;
- if ( time() - $importer_started > MAX_EXECUTION_TIME )
- die('continue');
- return true;
- }
-
- function get_total_results($type, $host) {
- $headers = array(
- "GET /feeds/$type/default?max-results=1&start-index=2 HTTP/1.0",
- "Host: $host",
- "Authorization: AuthSub token=\"$this->token\""
- );
- $request = join( "\r\n", $headers ) . "\r\n\r\n";
- $sock = $this->_get_blogger_sock( $host );
- if ( ! $sock ) return;
- $response = $this->_txrx( $sock, $request );
- $response = $this->parse_response( $response );
- $parser = xml_parser_create();
- xml_parse_into_struct($parser, $response['body'], $struct, $index);
- xml_parser_free($parser);
- $total_results = $struct[$index['OPENSEARCH:TOTALRESULTS'][0]]['value'];
- return (int) $total_results;
- }
-
- function import_blog($blogID) {
- global $importing_blog;
- $importing_blog = $blogID;
-
- if ( isset($_GET['authors']) )
- return print($this->get_author_form());
-
- header('Content-Type: text/plain');
-
- if ( isset($_GET['status']) )
- die($this->get_js_status());
-
- if ( isset($_GET['saveauthors']) )
- die($this->save_authors());
-
- $blog = $this->blogs[$blogID];
- $total_results = $this->get_total_results('posts', $blog['host']);
- $this->blogs[$importing_blog]['total_posts'] = $total_results;
-
- $start_index = $total_results - MAX_RESULTS + 1;
-
- if ( isset( $this->blogs[$importing_blog]['posts_start_index'] ) )
- $start_index = (int) $this->blogs[$importing_blog]['posts_start_index'];
- elseif ( $total_results > MAX_RESULTS )
- $start_index = $total_results - MAX_RESULTS + 1;
- else
- $start_index = 1;
-
- // This will be positive until we have finished importing posts
- if ( $start_index > 0 ) {
- // Grab all the posts
- $this->blogs[$importing_blog]['mode'] = 'posts';
- $query = "start-index=$start_index&max-results=" . MAX_RESULTS;
- do {
- $index = $struct = $entries = array();
- $headers = array(
- "GET /feeds/posts/default?$query HTTP/1.0",
- "Host: {$blog['host']}",
- "Authorization: AuthSub token=\"$this->token\""
- );
- $request = join( "\r\n", $headers ) . "\r\n\r\n";
- $sock = $this->_get_blogger_sock( $blog['host'] );
- if ( ! $sock ) return; // TODO: Error handling
- $response = $this->_txrx( $sock, $request );
-
- $response = $this->parse_response( $response );
-
- // Extract the entries and send for insertion
- preg_match_all( '/
]*>.*?<\/entry>/s', $response['body'], $matches );
- if ( count( $matches[0] ) ) {
- $entries = array_reverse($matches[0]);
- foreach ( $entries as $entry ) {
- $entry = "$entry ";
- $AtomParser = new AtomParser();
- $AtomParser->parse( $entry );
- $result = $this->import_post($AtomParser->entry);
- if ( is_wp_error( $result ) )
- return $result;
- unset($AtomParser);
- }
- } else break;
-
- // Get the 'previous' query string which we'll use on the next iteration
- $query = '';
- $links = preg_match_all('/ ]*)>/', $response['body'], $matches);
- if ( count( $matches[1] ) )
- foreach ( $matches[1] as $match )
- if ( preg_match('/rel=.previous./', $match) )
- $query = @html_entity_decode( preg_replace('/^.*href=[\'"].*\?(.+)[\'"].*$/', '$1', $match), ENT_COMPAT, get_option('blog_charset') );
-
- if ( $query ) {
- parse_str($query, $q);
- $this->blogs[$importing_blog]['posts_start_index'] = (int) $q['start-index'];
- } else
- $this->blogs[$importing_blog]['posts_start_index'] = 0;
- $this->save_vars();
- } while ( !empty( $query ) && $this->have_time() );
- }
-
- $total_results = $this->get_total_results( 'comments', $blog['host'] );
- $this->blogs[$importing_blog]['total_comments'] = $total_results;
-
- if ( isset( $this->blogs[$importing_blog]['comments_start_index'] ) )
- $start_index = (int) $this->blogs[$importing_blog]['comments_start_index'];
- elseif ( $total_results > MAX_RESULTS )
- $start_index = $total_results - MAX_RESULTS + 1;
- else
- $start_index = 1;
-
- if ( $start_index > 0 ) {
- // Grab all the comments
- $this->blogs[$importing_blog]['mode'] = 'comments';
- $query = "start-index=$start_index&max-results=" . MAX_RESULTS;
- do {
- $index = $struct = $entries = array();
- $headers = array(
- "GET /feeds/comments/default?$query HTTP/1.0",
- "Host: {$blog['host']}",
- "Authorization: AuthSub token=\"$this->token\""
- );
- $request = join( "\r\n", $headers ) . "\r\n\r\n";
- $sock = $this->_get_blogger_sock( $blog['host'] );
- if ( ! $sock ) return; // TODO: Error handling
- $response = $this->_txrx( $sock, $request );
-
- $response = $this->parse_response( $response );
-
- // Extract the comments and send for insertion
- preg_match_all( '/]*>.*?<\/entry>/s', $response['body'], $matches );
- if ( count( $matches[0] ) ) {
- $entries = array_reverse( $matches[0] );
- foreach ( $entries as $entry ) {
- $entry = "$entry ";
- $AtomParser = new AtomParser();
- $AtomParser->parse( $entry );
- $this->import_comment($AtomParser->entry);
- unset($AtomParser);
- }
- }
-
- // Get the 'previous' query string which we'll use on the next iteration
- $query = '';
- $links = preg_match_all('/ ]*)>/', $response['body'], $matches);
- if ( count( $matches[1] ) )
- foreach ( $matches[1] as $match )
- if ( preg_match('/rel=.previous./', $match) )
- $query = @html_entity_decode( preg_replace('/^.*href=[\'"].*\?(.+)[\'"].*$/', '$1', $match), ENT_COMPAT, get_option('blog_charset') );
-
- parse_str($query, $q);
-
- $this->blogs[$importing_blog]['comments_start_index'] = (int) $q['start-index'];
- $this->save_vars();
- } while ( !empty( $query ) && $this->have_time() );
- }
- $this->blogs[$importing_blog]['mode'] = 'authors';
- $this->save_vars();
- if ( !$this->blogs[$importing_blog]['posts_done'] && !$this->blogs[$importing_blog]['comments_done'] )
- die('nothing');
- do_action('import_done', 'blogger');
- die('done');
- }
-
- function convert_date( $date ) {
- preg_match('#([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(?:\.[0-9]+)?(Z|[\+|\-][0-9]{2,4}){0,1}#', $date, $date_bits);
- $offset = iso8601_timezone_to_offset( $date_bits[7] );
- $timestamp = gmmktime($date_bits[4], $date_bits[5], $date_bits[6], $date_bits[2], $date_bits[3], $date_bits[1]);
- $timestamp -= $offset; // Convert from Blogger local time to GMT
- $timestamp += get_option('gmt_offset') * 3600; // Convert from GMT to WP local time
- return gmdate('Y-m-d H:i:s', $timestamp);
- }
-
- function no_apos( $string ) {
- return str_replace( ''', "'", $string);
- }
-
- function min_whitespace( $string ) {
- return preg_replace( '|\s+|', ' ', $string );
- }
-
- function _normalize_tag( $matches ) {
- return '<' . strtolower( $matches[1] );
- }
-
- function import_post( $entry ) {
- global $importing_blog;
-
- // The old permalink is all Blogger gives us to link comments to their posts.
- if ( isset( $entry->draft ) )
- $rel = 'self';
- else
- $rel = 'alternate';
- foreach ( $entry->links as $link ) {
- if ( $link['rel'] == $rel ) {
- $parts = parse_url( $link['href'] );
- $entry->old_permalink = $parts['path'];
- break;
- }
- }
-
- $post_date = $this->convert_date( $entry->published );
- $post_content = trim( addslashes( $this->no_apos( @html_entity_decode( $entry->content, ENT_COMPAT, get_option('blog_charset') ) ) ) );
- $post_title = trim( addslashes( $this->no_apos( $this->min_whitespace( $entry->title ) ) ) );
- $post_status = isset( $entry->draft ) ? 'draft' : 'publish';
-
- // Clean up content
- $post_content = preg_replace_callback('|<(/?[A-Z]+)|', array( &$this, '_normalize_tag' ), $post_content);
- $post_content = str_replace(' ', ' ', $post_content);
- $post_content = str_replace(' ', ' ', $post_content);
-
- // Checks for duplicates
- if ( isset( $this->blogs[$importing_blog]['posts'][$entry->old_permalink] ) ) {
- ++$this->blogs[$importing_blog]['posts_skipped'];
- } elseif ( $post_id = post_exists( $post_title, $post_content, $post_date ) ) {
- $this->blogs[$importing_blog]['posts'][$entry->old_permalink] = $post_id;
- ++$this->blogs[$importing_blog]['posts_skipped'];
- } else {
- $post = compact('post_date', 'post_content', 'post_title', 'post_status');
-
- $post_id = wp_insert_post($post);
- if ( is_wp_error( $post_id ) )
- return $post_id;
-
- wp_create_categories( array_map( 'addslashes', $entry->categories ), $post_id );
-
- $author = $this->no_apos( strip_tags( $entry->author ) );
-
- add_post_meta( $post_id, 'blogger_blog', $this->blogs[$importing_blog]['host'], true );
- add_post_meta( $post_id, 'blogger_author', $author, true );
- add_post_meta( $post_id, 'blogger_permalink', $entry->old_permalink, true );
-
- $this->blogs[$importing_blog]['posts'][$entry->old_permalink] = $post_id;
- ++$this->blogs[$importing_blog]['posts_done'];
- }
- $this->save_vars();
- return;
- }
-
- function import_comment( $entry ) {
- global $importing_blog;
-
- // Drop the #fragment and we have the comment's old post permalink.
- foreach ( $entry->links as $link ) {
- if ( $link['rel'] == 'alternate' ) {
- $parts = parse_url( $link['href'] );
- $entry->old_permalink = $parts['fragment'];
- $entry->old_post_permalink = $parts['path'];
- break;
- }
- }
-
- $comment_post_ID = (int) $this->blogs[$importing_blog]['posts'][$entry->old_post_permalink];
- preg_match('#(.+?) .*(?:\(.+?) )?#', $entry->author, $matches);
- $comment_author = addslashes( $this->no_apos( strip_tags( (string) $matches[1] ) ) );
- $comment_author_url = addslashes( $this->no_apos( strip_tags( (string) $matches[2] ) ) );
- $comment_date = $this->convert_date( $entry->updated );
- $comment_content = addslashes( $this->no_apos( @html_entity_decode( $entry->content, ENT_COMPAT, get_option('blog_charset') ) ) );
-
- // Clean up content
- $comment_content = preg_replace_callback('|<(/?[A-Z]+)|', array( &$this, '_normalize_tag' ), $comment_content);
- $comment_content = str_replace(' ', ' ', $comment_content);
- $comment_content = str_replace(' ', ' ', $comment_content);
-
- // Checks for duplicates
- if (
- isset( $this->blogs[$importing_blog]['comments'][$entry->old_permalink] ) ||
- comment_exists( $comment_author, $comment_date )
- ) {
- ++$this->blogs[$importing_blog]['comments_skipped'];
- } else {
- $comment = compact('comment_post_ID', 'comment_author', 'comment_author_url', 'comment_date', 'comment_content');
-
- $comment = wp_filter_comment($comment);
- $comment_id = wp_insert_comment($comment);
-
- $this->blogs[$importing_blog]['comments'][$entry->old_permalink] = $comment_id;
-
- ++$this->blogs[$importing_blog]['comments_done'];
- }
- $this->save_vars();
- }
-
- function get_js_status($blog = false) {
- global $importing_blog;
- if ( $blog === false )
- $blog = $this->blogs[$importing_blog];
- else
- $blog = $this->blogs[$blog];
- $p1 = isset( $blog['posts_done'] ) ? (int) $blog['posts_done'] : 0;
- $p2 = isset( $blog['total_posts'] ) ? (int) $blog['total_posts'] : 0;
- $c1 = isset( $blog['comments_done'] ) ? (int) $blog['comments_done'] : 0;
- $c2 = isset( $blog['total_comments'] ) ? (int) $blog['total_comments'] : 0;
- return "{p1:$p1,p2:$p2,c1:$c1,c2:$c2}";
- }
-
- function get_author_form($blog = false) {
- global $importing_blog, $wpdb, $current_user;
- if ( $blog === false )
- $blog = & $this->blogs[$importing_blog];
- else
- $blog = & $this->blogs[$blog];
-
- if ( !isset( $blog['authors'] ) ) {
- $post_ids = array_values($blog['posts']);
- $authors = (array) $wpdb->get_col("SELECT DISTINCT meta_value FROM $wpdb->postmeta WHERE meta_key = 'blogger_author' AND post_id IN (" . join( ',', $post_ids ) . ")");
- $blog['authors'] = array_map(null, $authors, array_fill(0, count($authors), $current_user->ID));
- $this->save_vars();
- }
-
- $directions = __('All posts were imported with the current user as author. Use this form to move each Blogger user’s posts to a different WordPress user. You may add users and then return to this page and complete the user mapping. This form may be used as many times as you like until you activate the “Restart” function below.');
- $heading = __('Author mapping');
- $blogtitle = "{$blog['title']} ({$blog['host']})";
- $mapthis = __('Blogger username');
- $tothis = __('WordPress login');
- $submit = esc_js( __('Save Changes') );
-
- foreach ( $blog['authors'] as $i => $author )
- $rows .= "{$author[0]} " . $this->get_user_options($author[1]) . " ";
-
- return "$heading $blogtitle $directions
";
- }
-
- function get_user_options($current) {
- global $importer_users;
- if ( ! isset( $importer_users ) )
- $importer_users = (array) get_users_of_blog();
-
- foreach ( $importer_users as $user ) {
- $sel = ( $user->user_id == $current ) ? " selected='selected'" : '';
- $options .= "$user->display_name ";
- }
-
- return $options;
- }
-
- function save_authors() {
- global $importing_blog, $wpdb;
- $authors = (array) $_POST['authors'];
-
- $host = $this->blogs[$importing_blog]['host'];
-
- // Get an array of posts => authors
- $post_ids = (array) $wpdb->get_col( $wpdb->prepare("SELECT post_id FROM $wpdb->postmeta WHERE meta_key = 'blogger_blog' AND meta_value = %s", $host) );
- $post_ids = join( ',', $post_ids );
- $results = (array) $wpdb->get_results("SELECT post_id, meta_value FROM $wpdb->postmeta WHERE meta_key = 'blogger_author' AND post_id IN ($post_ids)");
- foreach ( $results as $row )
- $authors_posts[$row->post_id] = $row->meta_value;
-
- foreach ( $authors as $author => $user_id ) {
- $user_id = (int) $user_id;
-
- // Skip authors that haven't been changed
- if ( $user_id == $this->blogs[$importing_blog]['authors'][$author][1] )
- continue;
-
- // Get a list of the selected author's posts
- $post_ids = (array) array_keys( $authors_posts, $this->blogs[$importing_blog]['authors'][$author][0] );
- $post_ids = join( ',', $post_ids);
-
- $wpdb->query( $wpdb->prepare("UPDATE $wpdb->posts SET post_author = %d WHERE id IN ($post_ids)", $user_id) );
- $this->blogs[$importing_blog]['authors'][$author][1] = $user_id;
- }
- $this->save_vars();
-
- wp_redirect('edit.php');
- }
-
- function _get_auth_sock() {
- // Connect to https://www.google.com
- if ( !$sock = @ fsockopen('ssl://www.google.com', 443, $errno, $errstr) ) {
- $this->uh_oh(
- __('Could not connect to https://www.google.com'),
- __('There was a problem opening a secure connection to Google. This is what went wrong:'),
- "$errstr ($errno)"
- );
- return false;
- }
- return $sock;
- }
-
- function _get_blogger_sock($host = 'www2.blogger.com') {
- if ( !$sock = @ fsockopen($host, 80, $errno, $errstr) ) {
- $this->uh_oh(
- sprintf( __('Could not connect to %s'), $host ),
- __('There was a problem opening a connection to Blogger. This is what went wrong:'),
- "$errstr ($errno)"
- );
- return false;
- }
- return $sock;
- }
-
- function _txrx( $sock, $request ) {
- fwrite( $sock, $request );
- while ( ! feof( $sock ) )
- $response .= @ fread ( $sock, 8192 );
- fclose( $sock );
- return $response;
- }
-
- function revoke($token) {
- $headers = array(
- "GET /accounts/AuthSubRevokeToken HTTP/1.0",
- "Authorization: AuthSub token=\"$token\""
- );
- $request = join( "\r\n", $headers ) . "\r\n\r\n";
- $sock = $this->_get_auth_sock( );
- if ( ! $sock ) return false;
- $this->_txrx( $sock, $request );
- }
-
- function restart() {
- global $wpdb;
- $options = get_option( 'blogger_importer' );
-
- if ( isset( $options['token'] ) )
- $this->revoke( $options['token'] );
-
- delete_option('blogger_importer');
- $wpdb->query("DELETE FROM $wpdb->postmeta WHERE meta_key = 'blogger_author'");
- wp_redirect('?import=blogger');
- }
-
- // Returns associative array of code, header, cookies, body. Based on code from php.net.
- function parse_response($this_response) {
- // Split response into header and body sections
- list($response_headers, $response_body) = explode("\r\n\r\n", $this_response, 2);
- $response_header_lines = explode("\r\n", $response_headers);
-
- // First line of headers is the HTTP response code
- $http_response_line = array_shift($response_header_lines);
- if(preg_match('@^HTTP/[0-9]\.[0-9] ([0-9]{3})@',$http_response_line, $matches)) { $response_code = $matches[1]; }
-
- // put the rest of the headers in an array
- $response_header_array = array();
- foreach($response_header_lines as $header_line) {
- list($header,$value) = explode(': ', $header_line, 2);
- $response_header_array[$header] .= $value."\n";
- }
-
- $cookie_array = array();
- $cookies = explode("\n", $response_header_array["Set-Cookie"]);
- foreach($cookies as $this_cookie) { array_push($cookie_array, "Cookie: ".$this_cookie); }
-
- return array("code" => $response_code, "header" => $response_header_array, "cookies" => $cookie_array, "body" => $response_body);
- }
-
- // Step 9: Congratulate the user
- function congrats() {
- $blog = (int) $_GET['blog'];
- echo ''.__('Congratulations!').' '.__('Now that you have imported your Blogger blog into WordPress, what are you going to do? Here are some suggestions:').'
'.__('That was hard work! Take a break.').' ';
- if ( count($this->import['blogs']) > 1 )
- echo ''.__('In case you haven’t done it already, you can import the posts from your other blogs:'). $this->show_blogs() . ' ';
- if ( $n = count($this->import['blogs'][$blog]['newusers']) )
- echo ''.sprintf(__('Go to Authors & Users , where you can modify the new user(s) or delete them. If you want to make all of the imported posts yours, you will be given that option when you delete the new authors.'), 'users.php', '_parent').' ';
- echo ''.__('For security, click the link below to reset this importer.').' ';
- echo ' ';
- }
-
- // Figures out what to do, then does it.
- function start() {
- if ( isset($_POST['restart']) )
- $this->restart();
-
- $options = get_option('blogger_importer');
-
- if ( is_array($options) )
- foreach ( $options as $key => $value )
- $this->$key = $value;
-
- if ( isset( $_REQUEST['blog'] ) ) {
- $blog = is_array($_REQUEST['blog']) ? array_shift( $keys = array_keys( $_REQUEST['blog'] ) ) : $_REQUEST['blog'];
- $blog = (int) $blog;
- $result = $this->import_blog( $blog );
- if ( is_wp_error( $result ) )
- echo $result->get_error_message();
- } elseif ( isset($_GET['token']) )
- $this->auth();
- elseif ( isset($this->token) && $this->token_is_valid() )
- $this->show_blogs();
- else
- $this->greet();
-
- $saved = $this->save_vars();
-
- if ( $saved && !isset($_GET['noheader']) ) {
- $restart = __('Restart');
- $message = __('We have saved some information about your Blogger account in your WordPress database. Clearing this information will allow you to start over. Restarting will not affect any posts you have already imported. If you attempt to re-import a blog, duplicate posts and comments will be skipped.');
- $submit = esc_attr__('Clear account information');
- echo "";
- }
- }
-
- function save_vars() {
- $vars = get_object_vars($this);
- update_option( 'blogger_importer', $vars );
-
- return !empty($vars);
- }
-
- function admin_head() {
-?>
-
-entry = new AtomEntry();
- }
-
- function _map_attrs_func( $k, $v ) {
- return "$k=\"$v\"";
- }
-
- function _map_xmlns_func( $p, $n ) {
- $xd = "xmlns";
- if ( strlen( $n[0] ) > 0 )
- $xd .= ":{$n[0]}";
-
- return "{$xd}=\"{$n[1]}\"";
- }
-
- function parse($xml) {
-
- global $app_logging;
- array_unshift($this->ns_contexts, array());
-
- $parser = xml_parser_create_ns();
- xml_set_object($parser, $this);
- xml_set_element_handler($parser, "start_element", "end_element");
- xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0);
- xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,0);
- xml_set_character_data_handler($parser, "cdata");
- xml_set_default_handler($parser, "_default");
- xml_set_start_namespace_decl_handler($parser, "start_ns");
- xml_set_end_namespace_decl_handler($parser, "end_ns");
-
- $contents = "";
-
- xml_parse($parser, $xml);
-
- xml_parser_free($parser);
-
- return true;
- }
-
- function start_element($parser, $name, $attrs) {
-
- $tag = array_pop(split(":", $name));
-
- array_unshift($this->ns_contexts, $this->ns_decls);
-
- $this->depth++;
-
- if(!empty($this->in_content)) {
- $attrs_prefix = array();
-
- // resolve prefixes for attributes
- foreach($attrs as $key => $value) {
- $attrs_prefix[$this->ns_to_prefix($key)] = $this->xml_escape($value);
- }
- $attrs_str = join(' ', array_map( array( &$this, '_map_attrs_func' ), array_keys($attrs_prefix), array_values($attrs_prefix)));
- if(strlen($attrs_str) > 0) {
- $attrs_str = " " . $attrs_str;
- }
-
- $xmlns_str = join(' ', array_map( array( &$this, '_map_xmlns_func' ), array_keys($this->ns_contexts[0]), array_values($this->ns_contexts[0])));
- if(strlen($xmlns_str) > 0) {
- $xmlns_str = " " . $xmlns_str;
- }
-
- // handle self-closing tags (case: a new child found right-away, no text node)
- if(count($this->in_content) == 2) {
- array_push($this->in_content, ">");
- }
-
- array_push($this->in_content, "<". $this->ns_to_prefix($name) ."{$xmlns_str}{$attrs_str}");
- } else if(in_array($tag, $this->ATOM_CONTENT_ELEMENTS) || in_array($tag, $this->ATOM_SIMPLE_ELEMENTS)) {
- $this->in_content = array();
- $this->is_xhtml = $attrs['type'] == 'xhtml';
- array_push($this->in_content, array($tag,$this->depth));
- } else if($tag == 'link') {
- array_push($this->entry->links, $attrs);
- } else if($tag == 'category') {
- array_push($this->entry->categories, $attrs['term']);
- }
-
- $this->ns_decls = array();
- }
-
- function end_element($parser, $name) {
-
- $tag = array_pop(split(":", $name));
-
- if(!empty($this->in_content)) {
- if($this->in_content[0][0] == $tag &&
- $this->in_content[0][1] == $this->depth) {
- array_shift($this->in_content);
- if($this->is_xhtml) {
- $this->in_content = array_slice($this->in_content, 2, count($this->in_content)-3);
- }
- $this->entry->$tag = join('',$this->in_content);
- $this->in_content = array();
- } else {
- $endtag = $this->ns_to_prefix($name);
- if (strpos($this->in_content[count($this->in_content)-1], '<' . $endtag) !== false) {
- array_push($this->in_content, "/>");
- } else {
- array_push($this->in_content, "$endtag>");
- }
- }
- }
-
- array_shift($this->ns_contexts);
-
- #print str_repeat(" ", $this->depth * $this->indent) . "end_element('$name')" ."\n";
-
- $this->depth--;
- }
-
- function start_ns($parser, $prefix, $uri) {
- #print str_repeat(" ", $this->depth * $this->indent) . "starting: " . $prefix . ":" . $uri . "\n";
- array_push($this->ns_decls, array($prefix,$uri));
- }
-
- function end_ns($parser, $prefix) {
- #print str_repeat(" ", $this->depth * $this->indent) . "ending: #" . $prefix . "#\n";
- }
-
- function cdata($parser, $data) {
- #print str_repeat(" ", $this->depth * $this->indent) . "data: #" . $data . "#\n";
- if(!empty($this->in_content)) {
- // handle self-closing tags (case: text node found, need to close element started)
- if (strpos($this->in_content[count($this->in_content)-1], '<') !== false) {
- array_push($this->in_content, ">");
- }
- array_push($this->in_content, $this->xml_escape($data));
- }
- }
-
- function _default($parser, $data) {
- # when does this gets called?
- }
-
-
- function ns_to_prefix($qname) {
- $components = split(":", $qname);
- $name = array_pop($components);
-
- if(!empty($components)) {
- $ns = join(":",$components);
- foreach($this->ns_contexts as $context) {
- foreach($context as $mapping) {
- if($mapping[1] == $ns && strlen($mapping[0]) > 0) {
- return "$mapping[0]:$name";
- }
- }
- }
- }
- return $name;
- }
-
- function xml_escape($string)
- {
- return str_replace(array('&','"',"'",'<','>'),
- array('&','"',''','<','>'),
- $string );
- }
-}
-
-?>
diff --git a/wp-admin/import/blogware.php b/wp-admin/import/blogware.php
deleted file mode 100644
index 531ceddc..00000000
--- a/wp-admin/import/blogware.php
+++ /dev/null
@@ -1,219 +0,0 @@
-';
- screen_icon();
- echo ''.__('Import Blogware').' ';
- }
-
- function footer() {
- echo ' ';
- }
-
- function unhtmlentities($string) { // From php.net for < 4.3 compat
- $trans_tbl = get_html_translation_table(HTML_ENTITIES);
- $trans_tbl = array_flip($trans_tbl);
- return strtr($string, $trans_tbl);
- }
-
- function greet() {
- echo '
';
- echo '
'.__('Howdy! This importer allows you to extract posts from Blogware XML export file into your blog. Pick a Blogware file to upload and click Import.').'
';
- wp_import_upload_form("admin.php?import=blogware&step=1");
- echo '
';
- }
-
- function _normalize_tag( $matches ) {
- return '<' . strtolower( $matches[1] );
- }
-
- function import_posts() {
- global $wpdb, $current_user;
-
- set_magic_quotes_runtime(0);
- $importdata = file($this->file); // Read the file into an array
- $importdata = implode('', $importdata); // squish it
- $importdata = str_replace(array ("\r\n", "\r"), "\n", $importdata);
-
- preg_match_all('|(
- ]+>(.*?)
)|is', $importdata, $posts);
- $posts = $posts[1];
- unset($importdata);
- echo '
';
- foreach ($posts as $post) {
- flush();
- preg_match('|- |is', $post, $post_type);
- $post_type = $post_type[1];
- if($post_type == "photo") {
- preg_match('|
(.*?) |is', $post, $post_title);
- } else {
- preg_match('|(.*?) |is', $post, $post_title);
- }
- $post_title = $wpdb->escape(trim($post_title[1]));
-
- preg_match('|(.*?) |is', $post, $post_date);
- $post_date = strtotime($post_date[1]);
- $post_date = gmdate('Y-m-d H:i:s', $post_date);
-
- preg_match_all('|(.*?) |is', $post, $categories);
- $categories = $categories[1];
-
- $cat_index = 0;
- foreach ($categories as $category) {
- $categories[$cat_index] = $wpdb->escape($this->unhtmlentities($category));
- $cat_index++;
- }
-
- if(strcasecmp($post_type, "photo") === 0) {
- preg_match('|(.*?) |is', $post, $post_content);
- $post_content = ' ';
- $post_content = $this->unhtmlentities($post_content);
- } else {
- preg_match('|(.*?)|is', $post, $post_content);
- $post_content = str_replace(array (''), '', trim($post_content[1]));
- $post_content = $this->unhtmlentities($post_content);
- }
-
- // Clean up content
- $post_content = preg_replace_callback('|<(/?[A-Z]+)|', array( &$this, '_normalize_tag' ), $post_content);
- $post_content = str_replace(' ', ' ', $post_content);
- $post_content = str_replace(' ', ' ', $post_content);
- $post_content = $wpdb->escape($post_content);
-
- $post_author = $current_user->ID;
- preg_match('|(.*?) |is', $post, $post_status);
- $post_status = trim($post_status[1]);
-
- echo '';
- if ($post_id = post_exists($post_title, $post_content, $post_date)) {
- printf(__('Post %s already exists.'), stripslashes($post_title));
- } else {
- printf(__('Importing post %s ...'), stripslashes($post_title));
- $postdata = compact('post_author', 'post_date', 'post_content', 'post_title', 'post_status');
- $post_id = wp_insert_post($postdata);
- if ( is_wp_error( $post_id ) ) {
- return $post_id;
- }
- if (!$post_id) {
- _e('Couldn’t get post ID');
- echo ' ';
- break;
- }
- if(0 != count($categories))
- wp_create_categories($categories, $post_id);
- }
-
- preg_match_all('|(.*?) |is', $post, $comments);
- $comments = $comments[1];
-
- if ( $comments ) {
- $comment_post_ID = (int) $post_id;
- $num_comments = 0;
- foreach ($comments as $comment) {
- preg_match('|(.*?)|is', $comment, $comment_content);
- $comment_content = str_replace(array (''), '', trim($comment_content[1]));
- $comment_content = $this->unhtmlentities($comment_content);
-
- // Clean up content
- $comment_content = preg_replace_callback('|<(/?[A-Z]+)|', array( &$this, '_normalize_tag' ), $comment_content);
- $comment_content = str_replace(' ', ' ', $comment_content);
- $comment_content = str_replace(' ', ' ', $comment_content);
- $comment_content = $wpdb->escape($comment_content);
-
- preg_match('|(.*?) |is', $comment, $comment_date);
- $comment_date = trim($comment_date[1]);
- $comment_date = date('Y-m-d H:i:s', strtotime($comment_date));
-
- preg_match('|(.*?) |is', $comment, $comment_author);
- $comment_author = $wpdb->escape(trim($comment_author[1]));
-
- $comment_author_email = NULL;
-
- $comment_approved = 1;
- // Check if it's already there
- if (!comment_exists($comment_author, $comment_date)) {
- $commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_email', 'comment_date', 'comment_content', 'comment_approved');
- $commentdata = wp_filter_comment($commentdata);
- wp_insert_comment($commentdata);
- $num_comments++;
- }
- }
- }
- if ( $num_comments ) {
- echo ' ';
- printf( _n('%s comment', '%s comments', $num_comments), $num_comments );
- }
- echo '';
- flush();
- ob_flush();
- }
- echo ' ';
- }
-
- function import() {
- $file = wp_import_handle_upload();
- if ( isset($file['error']) ) {
- echo $file['error'];
- return;
- }
-
- $this->file = $file['file'];
- $result = $this->import_posts();
- if ( is_wp_error( $result ) )
- return $result;
- wp_import_cleanup($file['id']);
- do_action('import_done', 'blogware');
- echo '
';
- printf(__('All done. Have fun! '), get_option('home'));
- echo ' ';
- }
-
- function dispatch() {
- if (empty ($_GET['step']))
- $step = 0;
- else
- $step = (int) $_GET['step'];
-
- $this->header();
-
- switch ($step) {
- case 0 :
- $this->greet();
- break;
- case 1 :
- $result = $this->import();
- if ( is_wp_error( $result ) )
- $result->get_error_message();
- break;
- }
-
- $this->footer();
- }
-
- function BW_Import() {
- // Nothing.
- }
-}
-
-$blogware_import = new BW_Import();
-
-register_importer('blogware', __('Blogware'), __('Import posts from Blogware.'), array ($blogware_import, 'dispatch'));
-?>
diff --git a/wp-admin/import/dotclear.php b/wp-admin/import/dotclear.php
deleted file mode 100644
index fcde9b17..00000000
--- a/wp-admin/import/dotclear.php
+++ /dev/null
@@ -1,718 +0,0 @@
-get_var( $wpdb->prepare("SELECT count(*) FROM $wpdb->comments WHERE comment_post_ID = %d", $post_ID) );
- }
-}
-
-if(!function_exists('link_exists'))
-{
- /**
- * Check whether link already exists.
- *
- * @package WordPress
- * @subpackage Dotclear_Import
- *
- * @param string $linkname
- * @return int
- */
- function link_exists($linkname)
- {
- global $wpdb;
- return $wpdb->get_var( $wpdb->prepare("SELECT link_id FROM $wpdb->links WHERE link_name = %s", $linkname) );
- }
-}
-
-/**
- * Convert from dotclear charset to utf8 if required
- *
- * @package WordPress
- * @subpackage Dotclear_Import
- *
- * @param string $s
- * @return string
- */
-function csc ($s) {
- if (seems_utf8 ($s)) {
- return $s;
- } else {
- return iconv(get_option ("dccharset"),"UTF-8",$s);
- }
-}
-
-/**
- * @package WordPress
- * @subpackage Dotclear_Import
- *
- * @param string $s
- * @return string
- */
-function textconv ($s) {
- return csc (preg_replace ('|(?)\s*\n|', ' ', $s));
-}
-
-/**
- * Dotclear Importer class
- *
- * Will process the WordPress eXtended RSS files that you upload from the export
- * file.
- *
- * @package WordPress
- * @subpackage Importer
- *
- * @since unknown
- */
-class Dotclear_Import {
-
- function header()
- {
- echo '
';
- screen_icon();
- echo '
'.__('Import DotClear').' ';
- echo '
'.__('Steps may take a few minutes depending on the size of your database. Please be patient.').'
';
- }
-
- function footer()
- {
- echo '
';
- }
-
- function greet()
- {
- echo '
'.__('Howdy! This importer allows you to extract posts from a DotClear database into your blog. Mileage may vary.').'
';
- echo '
'.__('Your DotClear Configuration settings are as follows:').'
';
- echo '
';
- wp_nonce_field('import-dotclear');
- $this->db_form();
- echo '
';
- echo ' ';
- }
-
- function get_dc_cats()
- {
- global $wpdb;
- // General Housekeeping
- $dcdb = new wpdb(get_option('dcuser'), get_option('dcpass'), get_option('dcname'), get_option('dchost'));
- set_magic_quotes_runtime(0);
- $dbprefix = get_option('dcdbprefix');
-
- // Get Categories
- return $dcdb->get_results('SELECT * FROM '.$dbprefix.'categorie', ARRAY_A);
- }
-
- function get_dc_users()
- {
- global $wpdb;
- // General Housekeeping
- $dcdb = new wpdb(get_option('dcuser'), get_option('dcpass'), get_option('dcname'), get_option('dchost'));
- set_magic_quotes_runtime(0);
- $dbprefix = get_option('dcdbprefix');
-
- // Get Users
-
- return $dcdb->get_results('SELECT * FROM '.$dbprefix.'user', ARRAY_A);
- }
-
- function get_dc_posts()
- {
- // General Housekeeping
- $dcdb = new wpdb(get_option('dcuser'), get_option('dcpass'), get_option('dcname'), get_option('dchost'));
- set_magic_quotes_runtime(0);
- $dbprefix = get_option('dcdbprefix');
-
- // Get Posts
- return $dcdb->get_results('SELECT '.$dbprefix.'post.*, '.$dbprefix.'categorie.cat_libelle_url AS post_cat_name
- FROM '.$dbprefix.'post INNER JOIN '.$dbprefix.'categorie
- ON '.$dbprefix.'post.cat_id = '.$dbprefix.'categorie.cat_id', ARRAY_A);
- }
-
- function get_dc_comments()
- {
- global $wpdb;
- // General Housekeeping
- $dcdb = new wpdb(get_option('dcuser'), get_option('dcpass'), get_option('dcname'), get_option('dchost'));
- set_magic_quotes_runtime(0);
- $dbprefix = get_option('dcdbprefix');
-
- // Get Comments
- return $dcdb->get_results('SELECT * FROM '.$dbprefix.'comment', ARRAY_A);
- }
-
- function get_dc_links()
- {
- //General Housekeeping
- $dcdb = new wpdb(get_option('dcuser'), get_option('dcpass'), get_option('dcname'), get_option('dchost'));
- set_magic_quotes_runtime(0);
- $dbprefix = get_option('dcdbprefix');
-
- return $dcdb->get_results('SELECT * FROM '.$dbprefix.'link ORDER BY position', ARRAY_A);
- }
-
- function cat2wp($categories='')
- {
- // General Housekeeping
- global $wpdb;
- $count = 0;
- $dccat2wpcat = array();
- // Do the Magic
- if(is_array($categories))
- {
- echo '
'.__('Importing Categories...').'
';
- foreach ($categories as $category)
- {
- $count++;
- extract($category);
-
- // Make Nice Variables
- $name = $wpdb->escape($cat_libelle_url);
- $title = $wpdb->escape(csc ($cat_libelle));
- $desc = $wpdb->escape(csc ($cat_desc));
-
- if($cinfo = category_exists($name))
- {
- $ret_id = wp_insert_category(array('cat_ID' => $cinfo, 'category_nicename' => $name, 'cat_name' => $title, 'category_description' => $desc));
- }
- else
- {
- $ret_id = wp_insert_category(array('category_nicename' => $name, 'cat_name' => $title, 'category_description' => $desc));
- }
- $dccat2wpcat[$id] = $ret_id;
- }
-
- // Store category translation for future use
- add_option('dccat2wpcat',$dccat2wpcat);
- echo '
'.sprintf(_n('Done! %1$s category imported.', 'Done! %1$s categories imported.', $count), $count).'
';
- return true;
- }
- echo __('No Categories to Import!');
- return false;
- }
-
- function users2wp($users='')
- {
- // General Housekeeping
- global $wpdb;
- $count = 0;
- $dcid2wpid = array();
-
- // Midnight Mojo
- if(is_array($users))
- {
- echo '
'.__('Importing Users...').'
';
- foreach($users as $user)
- {
- $count++;
- extract($user);
-
- // Make Nice Variables
- $name = $wpdb->escape(csc ($name));
- $RealName = $wpdb->escape(csc ($user_pseudo));
-
- if($uinfo = get_userdatabylogin($name))
- {
-
- $ret_id = wp_insert_user(array(
- 'ID' => $uinfo->ID,
- 'user_login' => $user_id,
- 'user_nicename' => $Realname,
- 'user_email' => $user_email,
- 'user_url' => 'http://',
- 'display_name' => $Realname)
- );
- }
- else
- {
- $ret_id = wp_insert_user(array(
- 'user_login' => $user_id,
- 'user_nicename' => csc ($user_pseudo),
- 'user_email' => $user_email,
- 'user_url' => 'http://',
- 'display_name' => $Realname)
- );
- }
- $dcid2wpid[$user_id] = $ret_id;
-
- // Set DotClear-to-WordPress permissions translation
-
- // Update Usermeta Data
- $user = new WP_User($ret_id);
- $wp_perms = $user_level + 1;
- if(10 == $wp_perms) { $user->set_role('administrator'); }
- else if(9 == $wp_perms) { $user->set_role('editor'); }
- else if(5 <= $wp_perms) { $user->set_role('editor'); }
- else if(4 <= $wp_perms) { $user->set_role('author'); }
- else if(3 <= $wp_perms) { $user->set_role('contributor'); }
- else if(2 <= $wp_perms) { $user->set_role('contributor'); }
- else { $user->set_role('subscriber'); }
-
- update_usermeta( $ret_id, 'wp_user_level', $wp_perms);
- update_usermeta( $ret_id, 'rich_editing', 'false');
- update_usermeta( $ret_id, 'first_name', csc ($user_prenom));
- update_usermeta( $ret_id, 'last_name', csc ($user_nom));
- }// End foreach($users as $user)
-
- // Store id translation array for future use
- add_option('dcid2wpid',$dcid2wpid);
-
-
- echo '
'.sprintf(__('Done! %1$s users imported.'), $count).'
';
- return true;
- }// End if(is_array($users)
-
- echo __('No Users to Import!');
- return false;
-
- }// End function user2wp()
-
- function posts2wp($posts='')
- {
- // General Housekeeping
- global $wpdb;
- $count = 0;
- $dcposts2wpposts = array();
- $cats = array();
-
- // Do the Magic
- if(is_array($posts))
- {
- echo '
'.__('Importing Posts...').'
';
- foreach($posts as $post)
- {
- $count++;
- extract($post);
-
- // Set DotClear-to-WordPress status translation
- $stattrans = array(0 => 'draft', 1 => 'publish');
- $comment_status_map = array (0 => 'closed', 1 => 'open');
-
- //Can we do this more efficiently?
- $uinfo = ( get_userdatabylogin( $user_id ) ) ? get_userdatabylogin( $user_id ) : 1;
- $authorid = ( is_object( $uinfo ) ) ? $uinfo->ID : $uinfo ;
-
- $Title = $wpdb->escape(csc ($post_titre));
- $post_content = textconv ($post_content);
- $post_excerpt = "";
- if ($post_chapo != "") {
- $post_excerpt = textconv ($post_chapo);
- $post_content = $post_excerpt ."\n\n".$post_content;
- }
- $post_excerpt = $wpdb->escape ($post_excerpt);
- $post_content = $wpdb->escape ($post_content);
- $post_status = $stattrans[$post_pub];
-
- // Import Post data into WordPress
-
- if($pinfo = post_exists($Title,$post_content))
- {
- $ret_id = wp_insert_post(array(
- 'ID' => $pinfo,
- 'post_author' => $authorid,
- 'post_date' => $post_dt,
- 'post_date_gmt' => $post_dt,
- 'post_modified' => $post_upddt,
- 'post_modified_gmt' => $post_upddt,
- 'post_title' => $Title,
- 'post_content' => $post_content,
- 'post_excerpt' => $post_excerpt,
- 'post_status' => $post_status,
- 'post_name' => $post_titre_url,
- 'comment_status' => $comment_status_map[$post_open_comment],
- 'ping_status' => $comment_status_map[$post_open_tb],
- 'comment_count' => $post_nb_comment + $post_nb_trackback)
- );
- if ( is_wp_error( $ret_id ) )
- return $ret_id;
- }
- else
- {
- $ret_id = wp_insert_post(array(
- 'post_author' => $authorid,
- 'post_date' => $post_dt,
- 'post_date_gmt' => $post_dt,
- 'post_modified' => $post_modified_gmt,
- 'post_modified_gmt' => $post_modified_gmt,
- 'post_title' => $Title,
- 'post_content' => $post_content,
- 'post_excerpt' => $post_excerpt,
- 'post_status' => $post_status,
- 'post_name' => $post_titre_url,
- 'comment_status' => $comment_status_map[$post_open_comment],
- 'ping_status' => $comment_status_map[$post_open_tb],
- 'comment_count' => $post_nb_comment + $post_nb_trackback)
- );
- if ( is_wp_error( $ret_id ) )
- return $ret_id;
- }
- $dcposts2wpposts[$post_id] = $ret_id;
-
- // Make Post-to-Category associations
- $cats = array();
- $category1 = get_category_by_slug($post_cat_name);
- $category1 = $category1->term_id;
-
- if($cat1 = $category1) { $cats[1] = $cat1; }
-
- if(!empty($cats)) { wp_set_post_categories($ret_id, $cats); }
- }
- }
- // Store ID translation for later use
- add_option('dcposts2wpposts',$dcposts2wpposts);
-
- echo '
'.sprintf(__('Done! %1$s posts imported.'), $count).'
';
- return true;
- }
-
- function comments2wp($comments='')
- {
- // General Housekeeping
- global $wpdb;
- $count = 0;
- $dccm2wpcm = array();
- $postarr = get_option('dcposts2wpposts');
-
- // Magic Mojo
- if(is_array($comments))
- {
- echo '
'.__('Importing Comments...').'
';
- foreach($comments as $comment)
- {
- $count++;
- extract($comment);
-
- // WordPressify Data
- $comment_ID = (int) ltrim($comment_id, '0');
- $comment_post_ID = (int) $postarr[$post_id];
- $comment_approved = "$comment_pub";
- $name = $wpdb->escape(csc ($comment_auteur));
- $email = $wpdb->escape($comment_email);
- $web = "http://".$wpdb->escape($comment_site);
- $message = $wpdb->escape(textconv ($comment_content));
-
- $comment = array(
- 'comment_post_ID' => $comment_post_ID,
- 'comment_author' => $name,
- 'comment_author_email' => $email,
- 'comment_author_url' => $web,
- 'comment_author_IP' => $comment_ip,
- 'comment_date' => $comment_dt,
- 'comment_date_gmt' => $comment_dt,
- 'comment_content' => $message,
- 'comment_approved' => $comment_approved);
- $comment = wp_filter_comment($comment);
-
- if ( $cinfo = comment_exists($name, $comment_dt) ) {
- // Update comments
- $comment['comment_ID'] = $cinfo;
- $ret_id = wp_update_comment($comment);
- } else {
- // Insert comments
- $ret_id = wp_insert_comment($comment);
- }
- $dccm2wpcm[$comment_ID] = $ret_id;
- }
- // Store Comment ID translation for future use
- add_option('dccm2wpcm', $dccm2wpcm);
-
- // Associate newly formed categories with posts
- get_comment_count($ret_id);
-
-
- echo '
'.sprintf(__('Done! %1$s comments imported.'), $count).'
';
- return true;
- }
- echo __('No Comments to Import!');
- return false;
- }
-
- function links2wp($links='')
- {
- // General Housekeeping
- global $wpdb;
- $count = 0;
-
- // Deal with the links
- if(is_array($links))
- {
- echo '
'.__('Importing Links...').'
';
- foreach($links as $link)
- {
- $count++;
- extract($link);
-
- if ($title != "") {
- if ($cinfo = is_term(csc ($title), 'link_category')) {
- $category = $cinfo['term_id'];
- } else {
- $category = wp_insert_term($wpdb->escape (csc ($title)), 'link_category');
- $category = $category['term_id'];
- }
- } else {
- $linkname = $wpdb->escape(csc ($label));
- $description = $wpdb->escape(csc ($title));
-
- if($linfo = link_exists($linkname)) {
- $ret_id = wp_insert_link(array(
- 'link_id' => $linfo,
- 'link_url' => $href,
- 'link_name' => $linkname,
- 'link_category' => $category,
- 'link_description' => $description)
- );
- } else {
- $ret_id = wp_insert_link(array(
- 'link_url' => $url,
- 'link_name' => $linkname,
- 'link_category' => $category,
- 'link_description' => $description)
- );
- }
- $dclinks2wplinks[$link_id] = $ret_id;
- }
- }
- add_option('dclinks2wplinks',$dclinks2wplinks);
- echo '
';
- printf(_n('Done! %s link or link category imported.', 'Done! %s links or link categories imported.', $count), $count);
- echo '
';
- return true;
- }
- echo __('No Links to Import!');
- return false;
- }
-
- function import_categories()
- {
- // Category Import
- $cats = $this->get_dc_cats();
- $this->cat2wp($cats);
- add_option('dc_cats', $cats);
-
-
-
- echo '
';
- wp_nonce_field('import-dotclear');
- printf('
', esc_attr__('Import Users'));
- echo ' ';
-
- }
-
- function import_users()
- {
- // User Import
- $users = $this->get_dc_users();
- $this->users2wp($users);
-
- echo '
';
- wp_nonce_field('import-dotclear');
- printf('
', esc_attr__('Import Posts'));
- echo ' ';
- }
-
- function import_posts()
- {
- // Post Import
- $posts = $this->get_dc_posts();
- $result = $this->posts2wp($posts);
- if ( is_wp_error( $result ) )
- return $result;
-
- echo '
';
- wp_nonce_field('import-dotclear');
- printf('
', esc_attr__('Import Comments'));
- echo ' ';
- }
-
- function import_comments()
- {
- // Comment Import
- $comments = $this->get_dc_comments();
- $this->comments2wp($comments);
-
- echo '
';
- wp_nonce_field('import-dotclear');
- printf('
', esc_attr__('Import Links'));
- echo ' ';
- }
-
- function import_links()
- {
- //Link Import
- $links = $this->get_dc_links();
- $this->links2wp($links);
- add_option('dc_links', $links);
-
- echo '
';
- wp_nonce_field('import-dotclear');
- printf('
', esc_attr__('Finish'));
- echo ' ';
- }
-
- function cleanup_dcimport()
- {
- delete_option('dcdbprefix');
- delete_option('dc_cats');
- delete_option('dcid2wpid');
- delete_option('dccat2wpcat');
- delete_option('dcposts2wpposts');
- delete_option('dccm2wpcm');
- delete_option('dclinks2wplinks');
- delete_option('dcuser');
- delete_option('dcpass');
- delete_option('dcname');
- delete_option('dchost');
- delete_option('dccharset');
- do_action('import_done', 'dotclear');
- $this->tips();
- }
-
- function tips()
- {
- echo '
'.__('Welcome to WordPress. We hope (and expect!) that you will find this platform incredibly rewarding! As a new WordPress user coming from DotClear, there are some things that we would like to point out. Hopefully, they will help your transition go as smoothly as possible.').'
';
- echo '
'.__('Users').' ';
- echo '
'.sprintf(__('You have already setup WordPress and have been assigned an administrative login and password. Forget it. You didn’t have that login in DotClear, why should you have it here? Instead we have taken care to import all of your users into our system. Unfortunately there is one downside. Because both WordPress and DotClear uses a strong encryption hash with passwords, it is impossible to decrypt it and we are forced to assign temporary passwords to all your users. Every user has the same username, but their passwords are reset to password123. So Log in and change it.'), '/wp-login.php').'
';
- echo '
'.__('Preserving Authors').' ';
- echo '
'.__('Secondly, we have attempted to preserve post authors. If you are the only author or contributor to your blog, then you are safe. In most cases, we are successful in this preservation endeavor. However, if we cannot ascertain the name of the writer due to discrepancies between database tables, we assign it to you, the administrative user.').'
';
- echo '
'.__('Textile').' ';
- echo '
'.__('Also, since you’re coming from DotClear, you probably have been using Textile to format your comments and posts. If this is the case, we recommend downloading and installing Textile for WordPress . Trust me… You’ll want it.').'
';
- echo '
'.__('WordPress Resources').' ';
- echo '
'.__('Finally, there are numerous WordPress resources around the internet. Some of them are:').'
';
- echo '
';
- echo '
'.sprintf(__('That’s it! What are you waiting for? Go log in !'), '../wp-login.php').'
';
- }
-
- function db_form()
- {
- echo '
';
- }
-
- function dispatch()
- {
-
- if (empty ($_GET['step']))
- $step = 0;
- else
- $step = (int) $_GET['step'];
- $this->header();
-
- if ( $step > 0 )
- {
- check_admin_referer('import-dotclear');
-
- if($_POST['dbuser'])
- {
- if(get_option('dcuser'))
- delete_option('dcuser');
- add_option('dcuser', sanitize_user($_POST['dbuser'], true));
- }
- if($_POST['dbpass'])
- {
- if(get_option('dcpass'))
- delete_option('dcpass');
- add_option('dcpass', sanitize_user($_POST['dbpass'], true));
- }
-
- if($_POST['dbname'])
- {
- if(get_option('dcname'))
- delete_option('dcname');
- add_option('dcname', sanitize_user($_POST['dbname'], true));
- }
- if($_POST['dbhost'])
- {
- if(get_option('dchost'))
- delete_option('dchost');
- add_option('dchost', sanitize_user($_POST['dbhost'], true));
- }
- if($_POST['dccharset'])
- {
- if(get_option('dccharset'))
- delete_option('dccharset');
- add_option('dccharset', sanitize_user($_POST['dccharset'], true));
- }
- if($_POST['dbprefix'])
- {
- if(get_option('dcdbprefix'))
- delete_option('dcdbprefix');
- add_option('dcdbprefix', sanitize_user($_POST['dbprefix'], true));
- }
-
-
- }
-
- switch ($step)
- {
- default:
- case 0 :
- $this->greet();
- break;
- case 1 :
- $this->import_categories();
- break;
- case 2 :
- $this->import_users();
- break;
- case 3 :
- $result = $this->import_posts();
- if ( is_wp_error( $result ) )
- echo $result->get_error_message();
- break;
- case 4 :
- $this->import_comments();
- break;
- case 5 :
- $this->import_links();
- break;
- case 6 :
- $this->cleanup_dcimport();
- break;
- }
-
- $this->footer();
- }
-
- function Dotclear_Import()
- {
- // Nothing.
- }
-}
-
-$dc_import = new Dotclear_Import();
-
-register_importer('dotclear', __('DotClear'), __('Import categories, users, posts, comments, and links from a DotClear blog.'), array ($dc_import, 'dispatch'));
-
-?>
diff --git a/wp-admin/import/greymatter.php b/wp-admin/import/greymatter.php
deleted file mode 100644
index 47c15d4b..00000000
--- a/wp-admin/import/greymatter.php
+++ /dev/null
@@ -1,334 +0,0 @@
-';
- screen_icon();
- echo '
'.__('Import GreyMatter').' ';
- }
-
- function footer() {
- echo '
';
- }
-
- function greet() {
- $this->header();
-?>
-
-
-
-
-If authors are found not to be in gm-authors.cgi, imports them at level 0.') ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-footer();
- }
-
-
-
- function gm2autobr($string) { // transforms GM's |*| into b2's \n
- $string = str_replace("|*|"," \n",$string);
- return($string);
- }
-
- function import() {
- global $wpdb;
-
- $wpvarstoreset = array('gmpath', 'archivespath', 'lastentry');
- for ($i=0; $iheader();
-?>
-
-
-escape($userdata[0]);
- $pass1=$wpdb->escape($userdata[1]);
- $user_nickname=$wpdb->escape($userdata[0]);
- $user_email=$wpdb->escape($userdata[2]);
- $user_url=$wpdb->escape($userdata[3]);
- $user_joindate=$wpdb->escape($user_joindate);
-
- $user_id = username_exists($user_login);
- if ($user_id) {
- printf(''.__('user %s').''.__('Already exists').' ', "$user_login ");
- $this->gmnames[$userdata[0]] = $user_id;
- continue;
- }
-
- $user_info = array("user_login"=>"$user_login", "user_pass"=>"$pass1", "user_nickname"=>"$user_nickname", "user_email"=>"$user_email", "user_url"=>"$user_url", "user_ip"=>"$user_ip", "user_domain"=>"$user_domain", "user_browser"=>"$user_browser", "dateYMDhour"=>"$user_joindate", "user_level"=>"1", "user_idmode"=>"nickname");
- $user_id = wp_insert_user($user_info);
- $this->gmnames[$userdata[0]] = $user_id;
-
- printf(''.__('user %s...').' '.__('Done').' ', "$user_login ");
- }
-
-?>
-gm2autobr($entry[2]);
- $postmorecontent=$this->gm2autobr($entry[3]);
-
- $post_author=trim($wpdb->escape($postinfo[1]));
-
- $post_title=$this->gm2autobr($postinfo[2]);
- printf(''.__('entry # %s : %s : by %s'), $entryfile, $post_title, $postinfo[1]);
- $post_title=$wpdb->escape($post_title);
-
- $postyear=$postinfo[6];
- $postmonth=zeroise($postinfo[4],2);
- $postday=zeroise($postinfo[5],2);
- $posthour=zeroise($postinfo[7],2);
- $postminute=zeroise($postinfo[8],2);
- $postsecond=zeroise($postinfo[9],2);
-
- if (($postinfo[10]=="PM") && ($posthour!="12"))
- $posthour=$posthour+12;
-
- $post_date="$postyear-$postmonth-$postday $posthour:$postminute:$postsecond";
-
- $post_content=$postmaincontent;
- if (strlen($postmorecontent)>3)
- $post_content .= " ".$postmorecontent;
- $post_content=$wpdb->escape($post_content);
-
- $post_karma=$postinfo[12];
-
- $post_status = 'publish'; //in greymatter, there are no drafts
- $comment_status = 'open';
- $ping_status = 'closed';
-
- if ($post_ID = post_exists($post_title, '', $post_date)) {
- echo ' ';
- _e('(already exists)');
- } else {
- //just so that if a post already exists, new users are not created by checkauthor
- // we'll check the author is registered, or if it's a deleted author
- $user_id = username_exists($post_author);
- if (!$user_id) { // if deleted from GM, we register the author as a level 0 user
- $user_ip="127.0.0.1";
- $user_domain="localhost";
- $user_browser="server";
- $user_joindate="1979-06-06 00:41:00";
- $user_login=$wpdb->escape($post_author);
- $pass1=$wpdb->escape("password");
- $user_nickname=$wpdb->escape($post_author);
- $user_email=$wpdb->escape("user@deleted.com");
- $user_url=$wpdb->escape("");
- $user_joindate=$wpdb->escape($user_joindate);
-
- $user_info = array("user_login"=>$user_login, "user_pass"=>$pass1, "user_nickname"=>$user_nickname, "user_email"=>$user_email, "user_url"=>$user_url, "user_ip"=>$user_ip, "user_domain"=>$user_domain, "user_browser"=>$user_browser, "dateYMDhour"=>$user_joindate, "user_level"=>0, "user_idmode"=>"nickname");
- $user_id = wp_insert_user($user_info);
- $this->gmnames[$postinfo[1]] = $user_id;
-
- echo ': ';
- printf(__('registered deleted user %s at level 0 '), "$user_login ");
- }
-
- if (array_key_exists($postinfo[1], $this->gmnames)) {
- $post_author = $this->gmnames[$postinfo[1]];
- } else {
- $post_author = $user_id;
- }
-
- $postdata = compact('post_author', 'post_date', 'post_date_gmt', 'post_content', 'post_title', 'post_excerpt', 'post_status', 'comment_status', 'ping_status', 'post_modified', 'post_modified_gmt');
- $post_ID = wp_insert_post($postdata);
- if ( is_wp_error( $post_ID ) )
- return $post_ID;
- }
-
- $c=count($entry);
- if ($c>4) {
- $numAddedComments = 0;
- $numComments = 0;
- for ($j=4;$j<$c;$j++) {
- $entry[$j]=$this->gm2autobr($entry[$j]);
- $commentinfo=explode("|",$entry[$j]);
- $comment_post_ID=$post_ID;
- $comment_author=$wpdb->escape($commentinfo[0]);
- $comment_author_email=$wpdb->escape($commentinfo[2]);
- $comment_author_url=$wpdb->escape($commentinfo[3]);
- $comment_author_IP=$wpdb->escape($commentinfo[1]);
-
- $commentyear=$commentinfo[7];
- $commentmonth=zeroise($commentinfo[5],2);
- $commentday=zeroise($commentinfo[6],2);
- $commenthour=zeroise($commentinfo[8],2);
- $commentminute=zeroise($commentinfo[9],2);
- $commentsecond=zeroise($commentinfo[10],2);
- if (($commentinfo[11]=="PM") && ($commenthour!="12"))
- $commenthour=$commenthour+12;
- $comment_date="$commentyear-$commentmonth-$commentday $commenthour:$commentminute:$commentsecond";
-
- $comment_content=$wpdb->escape($commentinfo[12]);
-
- if (!comment_exists($comment_author, $comment_date)) {
- $commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_url', 'comment_author_email', 'comment_author_IP', 'comment_date', 'comment_content', 'comment_approved');
- $commentdata = wp_filter_comment($commentdata);
- wp_insert_comment($commentdata);
- $numAddedComments++;
- }
- $numComments++;
- }
- if ($numAddedComments > 0) {
- echo ': ';
- printf( _n('imported %s comment', 'imported %s comments', $numAddedComments) , $numAddedComments);
- }
- $preExisting = $numComments - numAddedComments;
- if ($preExisting > 0) {
- echo ' ';
- printf( _n( 'ignored %s pre-existing comment', 'ignored %s pre-existing comments', $preExisting ) , $preExisting);
- }
- }
- echo '... '.__('Done').' ';
- }
- }
- do_action('import_done', 'greymatter');
- ?>
-
-
-
-footer();
- return;
- }
-
- function dispatch() {
- if (empty ($_GET['step']))
- $step = 0;
- else
- $step = (int) $_GET['step'];
-
- switch ($step) {
- case 0 :
- $this->greet();
- break;
- case 1:
- check_admin_referer('import-greymatter');
- $result = $this->import();
- if ( is_wp_error( $result ) )
- echo $result->get_error_message();
- break;
- }
- }
-
- function GM_Import() {
- // Nothing.
- }
-}
-
-$gm_import = new GM_Import();
-
-register_importer('greymatter', __('GreyMatter'), __('Import users, posts, and comments from a Greymatter blog.'), array ($gm_import, 'dispatch'));
-?>
diff --git a/wp-admin/import/livejournal.php b/wp-admin/import/livejournal.php
deleted file mode 100644
index 7acfaa5f..00000000
--- a/wp-admin/import/livejournal.php
+++ /dev/null
@@ -1,1059 +0,0 @@
- 'aggravated',
- '10' => 'discontent',
- '100' => 'rushed',
- '101' => 'contemplative',
- '102' => 'nerdy',
- '103' => 'geeky',
- '104' => 'cynical',
- '105' => 'quixotic',
- '106' => 'crazy',
- '107' => 'creative',
- '108' => 'artistic',
- '109' => 'pleased',
- '11' => 'energetic',
- '110' => 'bitchy',
- '111' => 'guilty',
- '112' => 'irritated',
- '113' => 'blank',
- '114' => 'apathetic',
- '115' => 'dorky',
- '116' => 'impressed',
- '117' => 'naughty',
- '118' => 'predatory',
- '119' => 'dirty',
- '12' => 'enraged',
- '120' => 'giddy',
- '121' => 'surprised',
- '122' => 'shocked',
- '123' => 'rejected',
- '124' => 'numb',
- '125' => 'cheerful',
- '126' => 'good',
- '127' => 'distressed',
- '128' => 'intimidated',
- '129' => 'crushed',
- '13' => 'enthralled',
- '130' => 'devious',
- '131' => 'thankful',
- '132' => 'grateful',
- '133' => 'jealous',
- '134' => 'nervous',
- '14' => 'exhausted',
- '15' => 'happy',
- '16' => 'high',
- '17' => 'horny',
- '18' => 'hungry',
- '19' => 'infuriated',
- '2' => 'angry',
- '20' => 'irate',
- '21' => 'jubilant',
- '22' => 'lonely',
- '23' => 'moody',
- '24' => 'pissed off',
- '25' => 'sad',
- '26' => 'satisfied',
- '27' => 'sore',
- '28' => 'stressed',
- '29' => 'thirsty',
- '3' => 'annoyed',
- '30' => 'thoughtful',
- '31' => 'tired',
- '32' => 'touched',
- '33' => 'lazy',
- '34' => 'drunk',
- '35' => 'ditzy',
- '36' => 'mischievous',
- '37' => 'morose',
- '38' => 'gloomy',
- '39' => 'melancholy',
- '4' => 'anxious',
- '40' => 'drained',
- '41' => 'excited',
- '42' => 'relieved',
- '43' => 'hopeful',
- '44' => 'amused',
- '45' => 'determined',
- '46' => 'scared',
- '47' => 'frustrated',
- '48' => 'indescribable',
- '49' => 'sleepy',
- '5' => 'bored',
- '51' => 'groggy',
- '52' => 'hyper',
- '53' => 'relaxed',
- '54' => 'restless',
- '55' => 'disappointed',
- '56' => 'curious',
- '57' => 'mellow',
- '58' => 'peaceful',
- '59' => 'bouncy',
- '6' => 'confused',
- '60' => 'nostalgic',
- '61' => 'okay',
- '62' => 'rejuvenated',
- '63' => 'complacent',
- '64' => 'content',
- '65' => 'indifferent',
- '66' => 'silly',
- '67' => 'flirty',
- '68' => 'calm',
- '69' => 'refreshed',
- '7' => 'crappy',
- '70' => 'optimistic',
- '71' => 'pessimistic',
- '72' => 'giggly',
- '73' => 'pensive',
- '74' => 'uncomfortable',
- '75' => 'lethargic',
- '76' => 'listless',
- '77' => 'recumbent',
- '78' => 'exanimate',
- '79' => 'embarrassed',
- '8' => 'cranky',
- '80' => 'envious',
- '81' => 'sympathetic',
- '82' => 'sick',
- '83' => 'hot',
- '84' => 'cold',
- '85' => 'worried',
- '86' => 'loved',
- '87' => 'awake',
- '88' => 'working',
- '89' => 'productive',
- '9' => 'depressed',
- '90' => 'accomplished',
- '91' => 'busy',
- '92' => 'blah',
- '93' => 'full',
- '95' => 'grumpy',
- '96' => 'weird',
- '97' => 'nauseated',
- '98' => 'ecstatic',
- '99' => 'chipper' );
-
- function header() {
- echo '';
- screen_icon();
- echo '
' . __( 'Import LiveJournal' ) . ' ';
- }
-
- function footer() {
- echo '';
- }
-
- function greet() {
- ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- WARNING: This can take a really long time if you have a lot of entries in your LiveJournal, or a lot of comments. Ideally, you should only start this process if you can leave your computer alone while it finishes the import." ) ?>
-
-
-
-
-
- NOTE: If the import process is interrupted for any reason, come back to this page and it will continue from where it stopped automatically.' ) ?>
-
-
- NOTE: You appear to have JavaScript disabled, so you will need to manually click through each step of this importer. If you enable JavaScript, it will step through automatically.' ) ?>
-
-
-
-
- lj_ixr( 'syncitems', array( 'ver' => 1, 'lastsync' => $lastsync ) );
- if ( is_wp_error( $synclist ) )
- return $synclist;
-
- // Keep track of if we've downloaded everything
- $total = $synclist['total'];
- $count = $synclist['count'];
-
- foreach ( $synclist['syncitems'] as $event ) {
- if ( substr( $event['item'], 0, 2 ) == 'L-' ) {
- $sync_item_times[ str_replace( 'L-', '', $event['item'] ) ] = $event['time'];
- if ( $event['time'] > $lastsync ) {
- $lastsync = $event['time'];
- update_option( 'ljapi_lastsync', $lastsync );
- }
- }
- }
- } while ( $total > $count );
- // endwhile - all post meta is cached locally
- unset( $synclist );
- update_option( 'ljapi_sync_item_times', $sync_item_times );
- update_option( 'ljapi_total', $total );
- update_option( 'ljapi_count', $count );
-
- echo '' . __( 'Post metadata has been downloaded, proceeding with posts...' ) . '
';
- }
-
- function download_post_bodies() {
- $imported_count = (int) get_option( 'ljapi_imported_count' );
- $sync_item_times = get_option( 'ljapi_sync_item_times' );
- $lastsync = get_option( 'ljapi_lastsync_posts' );
- if ( !$lastsync )
- update_option( 'ljapi_lastsync_posts', date( 'Y-m-d H:i:s', 0 ) );
-
- $count = 0;
- echo '';
- do {
- $lastsync = date( 'Y-m-d H:i:s', strtotime( get_option( 'ljapi_lastsync_posts' ) ) );
-
- // Get the batch of items that match up with the syncitems list
- $itemlist = $this->lj_ixr( 'getevents', array( 'ver' => 1,
- 'selecttype' => 'syncitems',
- 'lineendings' => 'pc',
- 'lastsync' => $lastsync ) );
- if ( is_wp_error( $itemlist ) )
- return $itemlist;
-
- if ( $num = count( $itemlist['events'] ) ) {
- for ( $e = 0; $e < count( $itemlist['events'] ); $e++ ) {
- $event = $itemlist['events'][$e];
- $imported_count++;
- $inserted = $this->import_post( $event );
- if ( is_wp_error( $inserted ) )
- return $inserted;
- if ( $sync_item_times[ $event['itemid'] ] > $lastsync )
- $lastsync = $sync_item_times[ $event['itemid'] ];
- wp_cache_flush();
- }
- update_option( 'ljapi_lastsync_posts', $lastsync );
- update_option( 'ljapi_imported_count', $imported_count );
- update_option( 'ljapi_last_sync_count', $num );
- }
- $count++;
- } while ( $num > 0 && $count < 3 ); // Doing up to 3 requests at a time to avoid memory problems
-
- // Used so that step1 knows when to stop posting back on itself
- update_option( 'ljapi_last_sync_count', $num );
-
- // Counter just used to show progress to user
- update_option( 'ljapi_post_batch', ( (int) get_option( 'ljapi_post_batch' ) + 1 ) );
-
- echo ' ';
- }
-
- function _normalize_tag( $matches ) {
- return '<' . strtolower( $matches[1] );
- }
-
- function import_post( $post ) {
- global $wpdb;
-
- // Make sure we haven't already imported this one
- if ( $this->get_wp_post_ID( $post['itemid'] ) )
- return;
-
- $user = wp_get_current_user();
- $post_author = $user->ID;
- $post['security'] = !empty( $post['security'] ) ? $post['security'] : '';
- $post_status = ( 'private' == trim( $post['security'] ) ) ? 'private' : 'publish'; // Only me
- $post_password = ( 'usemask' == trim( $post['security'] ) ) ? $this->protected_password : ''; // "Friends" via password
-
- // For some reason, LJ sometimes sends a date as "2004-04-1408:38:00" (no space btwn date/time)
- $post_date = $post['eventtime'];
- if ( 18 == strlen( $post_date ) )
- $post_date = substr( $post_date, 0, 10 ) . ' ' . substr( $post_date, 10 );
-
- // Cleaning up and linking the title
- $post_title = isset( $post['subject'] ) ? trim( $post['subject'] ) : '';
- $post_title = $this->translate_lj_user( $post_title ); // Translate it, but then we'll strip the link
- $post_title = strip_tags( $post_title ); // Can't have tags in the title in WP
- $post_title = $wpdb->escape( $post_title );
-
- // Clean up content
- $post_content = $post['event'];
- $post_content = preg_replace_callback( '|<(/?[A-Z]+)|', array( &$this, '_normalize_tag' ), $post_content );
- // XHTMLize some tags
- $post_content = str_replace( ' ', ' ', $post_content );
- $post_content = str_replace( ' ', ' ', $post_content );
- // lj-cut ==>
- $post_content = preg_replace( '||is', '', $post_content );
- $post_content = str_replace( array( '', ' ' ), array( '', '' ), $post_content );
- $first = strpos( $post_content, '|sUi', '', substr( $post_content, $first + 1 ) );
- // lj-user ==> a href
- $post_content = $this->translate_lj_user( $post_content );
- //$post_content = force_balance_tags( $post_content );
- $post_content = $wpdb->escape( $post_content );
-
- // Handle any tags associated with the post
- $tags_input = !empty( $post['props']['taglist'] ) ? $post['props']['taglist'] : '';
-
- // Check if comments are closed on this post
- $comment_status = !empty( $post['props']['opt_nocomments'] ) ? 'closed' : 'open';
-
- echo '';
- if ( $post_id = post_exists( $post_title, $post_content, $post_date ) ) {
- printf( __( 'Post %s already exists.' ), stripslashes( $post_title ) );
- } else {
- printf( __( 'Imported post %s ...' ), stripslashes( $post_title ) );
- $postdata = compact( 'post_author', 'post_date', 'post_content', 'post_title', 'post_status', 'post_password', 'tags_input', 'comment_status' );
- $post_id = wp_insert_post( $postdata, true );
- if ( is_wp_error( $post_id ) ) {
- if ( 'empty_content' == $post_id->get_error_code() )
- return; // Silent skip on "empty" posts
- return $post_id;
- }
- if ( !$post_id ) {
- _e( 'Couldn’t get post ID (creating post failed!)' );
- echo ' ';
- return new WP_Error( 'insert_post_failed', __( 'Failed to create post.' ) );
- }
-
- // Handle all the metadata for this post
- $this->insert_postmeta( $post_id, $post );
- }
- echo '';
- }
-
- // Convert lj-user tags to links to that user
- function translate_lj_user( $str ) {
- return preg_replace( '||', '$1 ', $str );
- }
-
- function insert_postmeta( $post_id, $post ) {
- // Need the original LJ id for comments
- add_post_meta( $post_id, 'lj_itemid', $post['itemid'] );
-
- // And save the permalink on LJ in case we want to link back or something
- add_post_meta( $post_id, 'lj_permalink', $post['url'] );
-
- // Supports the following "props" from LJ, saved as lj_ in wp_postmeta
- // Adult Content - adult_content
- // Location - current_coords + current_location
- // Mood - current_mood (translated from current_moodid)
- // Music - current_music
- // Userpic - picture_keyword
- foreach ( array( 'adult_content', 'current_coords', 'current_location', 'current_moodid', 'current_music', 'picture_keyword' ) as $prop ) {
- if ( !empty( $post['props'][$prop] ) ) {
- if ( 'current_moodid' == $prop ) {
- $prop = 'current_mood';
- $val = $this->moods[ $post['props']['current_moodid'] ];
- } else {
- $val = $post['props'][$prop];
- }
- add_post_meta( $post_id, 'lj_' . $prop, $val );
- }
- }
- }
-
- // Set up a session (authenticate) with LJ
- function get_session() {
- // Get a session via XMLRPC
- $cookie = $this->lj_ixr( 'sessiongenerate', array( 'ver' => 1, 'expiration' => 'short' ) );
- if ( is_wp_error( $cookie ) )
- return new WP_Error( 'cookie', __( 'Could not get a cookie from LiveJournal. Please try again soon.' ) );
- return new WP_Http_Cookie( array( 'name' => 'ljsession', 'value' => $cookie['ljsession'] ) );
- }
-
- // Loops through and gets comment meta from LJ in batches
- function download_comment_meta() {
- $cookie = $this->get_session();
- if ( is_wp_error( $cookie ) )
- return $cookie;
-
- // Load previous state (if any)
- $this->usermap = (array) get_option( 'ljapi_usermap' );
- $maxid = get_option( 'ljapi_maxid' ) ? get_option( 'ljapi_maxid' ) : 1;
- $highest_id = get_option( 'ljapi_highest_id' ) ? get_option( 'ljapi_highest_id' ) : 0;
-
- // We need to loop over the metadata request until we have it all
- while ( $maxid > $highest_id ) {
- // Now get the meta listing
- $results = wp_remote_get( $this->comments_url . '?get=comment_meta&startid=' . ( $highest_id + 1 ),
- array( 'cookies' => array( $cookie ), 'timeout' => 20 ) );
- if ( is_wp_error( $results ) )
- return new WP_Error( 'comment_meta', __( 'Failed to retrieve comment meta information from LiveJournal. Please try again soon.' ) );
-
- $results = wp_remote_retrieve_body( $results );
-
- // Get the maxid so we know if we have them all yet
- preg_match( '|(\d+) |', $results, $matches );
- if ( 0 == $matches[1] ) {
- // No comment meta = no comments for this journal
- echo '' . __( 'You have no comments to import!' ) . '
';
- update_option( 'ljapi_highest_id', 1 );
- update_option( 'ljapi_highest_comment_id', 1 );
- return false; // Bail out of comment importing entirely
- }
- $maxid = !empty( $matches[1] ) ? $matches[1] : $maxid;
-
- // Parse comments and get highest id available
- preg_match_all( '| $highest_id )
- $highest_id = $id;
- }
-
- // Parse out the list of user mappings, and add it to the known list
- preg_match_all( '| |', $results, $matches );
- foreach ( $matches[1] as $count => $userid )
- $this->usermap[$userid] = $matches[2][$count]; // need this in memory for translating ids => names
-
- wp_cache_flush();
- }
- // endwhile - should have seen all comment meta at this point
-
- update_option( 'ljapi_usermap', $this->usermap );
- update_option( 'ljapi_maxid', $maxid );
- update_option( 'ljapi_highest_id', $highest_id );
-
- echo '' . __( ' Comment metadata downloaded successfully, proceeding with comment bodies...' ) . '
';
-
- return true;
- }
-
- // Downloads actual comment bodies from LJ
- // Inserts them all directly to the DB, with additional info stored in "spare" fields
- function download_comment_bodies() {
- global $wpdb;
- $cookie = $this->get_session();
- if ( is_wp_error( $cookie ) )
- return $cookie;
-
- // Load previous state (if any)
- $this->usermap = (array) get_option( 'ljapi_usermap' );
- $maxid = get_option( 'ljapi_maxid' ) ? (int) get_option( 'ljapi_maxid' ) : 1;
- $highest_id = (int) get_option( 'ljapi_highest_comment_id' );
- $loop = 0;
- while ( $maxid > $highest_id && $loop < 5 ) { // We do 5 loops per call to avoid memory limits
- $loop++;
-
- // Get a batch of comments, using the highest_id we've already got as a starting point
- $results = wp_remote_get( $this->comments_url . '?get=comment_body&startid=' . ( $highest_id + 1 ),
- array( 'cookies' => array( $cookie ), 'timeout' => 20 ) );
- if ( is_wp_error( $results ) )
- return new WP_Error( 'comment_bodies', __( 'Failed to retrieve comment bodies from LiveJournal. Please try again soon.' ) );
-
- $results = wp_remote_retrieve_body( $results );
-
- // Parse out each comment and insert directly
- preg_match_all( '|
';
@@ -2056,12 +2106,7 @@ function type_url_form_audio() {
' . __('Link text, e.g. “Still Alive by Jonathan Coulton”') . '
-
-
-
-
-
-
+ ' . _insert_into_post_button('audio') . '
';
}
@@ -2091,12 +2136,7 @@ function type_url_form_video() {
' . __('Link text, e.g. “Lucy on YouTube“') . '
-
-
-
-
-
-
+ ' . _insert_into_post_button('video') . '
';
}
@@ -2126,14 +2166,34 @@ function type_url_form_file() {
' . __('Link text, e.g. “Ransom Demands (PDF)”') . '
+ ' . _insert_into_post_button('file') . '
+
+';
+}
+
+
+function _insert_into_post_button($type) {
+ if ( !post_type_supports(get_post_type($_GET['post_id']), 'editor') )
+ return '';
+
+ if ( 'image' == $type )
+ return '
+
+
+
+
+
+
+ ';
+
+ return '
-
-';
+ ';
}
/**
@@ -2171,7 +2231,7 @@ function media_upload_flash_bypass() {
* @since unknown
*/
function media_upload_html_bypass($flash = true) {
- echo '';
+ echo '
';
_e('You are using the Browser uploader.');
if ( $flash ) {
// the user manually selected the browser uploader, so let them switch back to Flash
@@ -2215,4 +2275,3 @@ add_action('media_upload_file', 'media_upload_file');
add_filter('media_upload_gallery', 'media_upload_gallery');
add_filter('media_upload_library', 'media_upload_library');
-
diff --git a/wp-admin/includes/meta-boxes.php b/wp-admin/includes/meta-boxes.php
index d5e9cb7e..0f8b339b 100644
--- a/wp-admin/includes/meta-boxes.php
+++ b/wp-admin/includes/meta-boxes.php
@@ -13,7 +13,8 @@ function post_submit_meta_box($post) {
global $action;
$post_type = $post->post_type;
- $can_publish = current_user_can("publish_${post_type}s");
+ $post_type_object = get_post_type_object($post_type);
+ $can_publish = current_user_can($post_type_object->cap->publish_posts);
?>
@@ -69,8 +70,12 @@ switch ( $post->post_status ) {
_e('Pending Review');
break;
case 'draft':
+ case 'auto-draft':
_e('Draft');
break;
+ case 'auto-draft':
+ _e('Unsaved');
+ break;
}
?>
@@ -78,7 +83,7 @@ switch ( $post->post_status ) {
post_status ) { ?>style="display:none;" class="edit-post-status hide-if-no-js" tabindex='4'>
-
+
post_status ) : ?>
post_status, 'publish' ); ?> value='publish'>
@@ -88,7 +93,11 @@ switch ( $post->post_status ) {
post_status, 'future' ); ?> value='future'>
post_status, 'pending' ); ?> value='pending'>
+post_status ) : ?>
+post_status, 'auto-draft' ); ?> value='draft'>
+
post_status, 'draft' ); ?> value='draft'>
+
@@ -184,20 +193,18 @@ if ( $can_publish ) : // Contributors don't get to choose the date of publish ?>
ID ) ) {
- if ( !EMPTY_TRASH_DAYS ) {
- $delete_url = wp_nonce_url( add_query_arg( array('action' => 'delete', 'post' => $post->ID) ), "delete-${post_type}_{$post->ID}" );
+if ( current_user_can( "delete_post", $post->ID ) ) {
+ if ( !EMPTY_TRASH_DAYS )
$delete_text = __('Delete Permanently');
- } else {
- $delete_url = wp_nonce_url( add_query_arg( array('action' => 'trash', 'post' => $post->ID) ), "trash-${post_type}_{$post->ID}" );
+ else
$delete_text = __('Move to Trash');
- } ?>
-
" href="">
+
-
+
post_status, array('publish', 'future', 'private') ) || 0 == $post->ID ) {
if ( $can_publish ) :
@@ -235,26 +242,38 @@ if ( !in_array( $post->post_status, array('publish', 'future', 'private') ) || 0
* @param object $post
*/
function post_tags_meta_box($post, $box) {
- $tax_name = esc_attr(substr($box['id'], 8));
- $taxonomy = get_taxonomy($tax_name);
- $helps = isset($taxonomy->helps) ? esc_attr($taxonomy->helps) : __('Separate tags with commas.');
+ $defaults = array('taxonomy' => 'post_tag');
+ if ( !isset($box['args']) || !is_array($box['args']) )
+ $args = array();
+ else
+ $args = $box['args'];
+ extract( wp_parse_args($args, $defaults), EXTR_SKIP );
+ $tax_name = esc_attr($taxonomy);
+ $taxonomy = get_taxonomy($taxonomy);
+ $disabled = !current_user_can($taxonomy->cap->assign_terms) ? 'disabled="disabled"' : '';
?>
-
+
labels->add_new_item; ?>
+
+
+
+
labels->separate_items_with_commas ); ?>
+
+
-
+cap->assign_terms) ) : ?>
+labels->choose_from_most_used; ?>
+
+
+
-
-
-
-
-
-
-
-
- 'category');
+ if ( !isset($box['args']) || !is_array($box['args']) )
+ $args = array();
+ else
+ $args = $box['args'];
+ extract( wp_parse_args($args, $defaults), EXTR_SKIP );
+ $tax = get_taxonomy($taxonomy);
+
+ ?>
+
+
+
+
+
+
+ "; // Allows for an empty term set to be sent. 0 is an invalid Term ID and will be ignored by empty() checks.
+ ?>
+
+
+ cap->assign_terms) ) : ?>
+
+
+ cap->edit_terms) ) : ?>
+
+
+
+
()
-pingbacks, no other action necessary.'); ?>
+pingbacks, no other action necessary.'); ?>
- comment_status, 'open'); ?> />
- ping_status, 'open'); ?> />trackbacks and pingbacks on this page.'),_x('http://codex.wordpress.org/Introduction_to_Blogging#Managing_Comments','Url to codex article on Managing Comments')); ?>
+ comment_status, 'open'); ?> />
+ ping_status, 'open'); ?> /> trackbacks and pingbacks on this page.' ), __( 'http://codex.wordpress.org/Introduction_to_Blogging#Managing_Comments' ) ); ?>
-
+
post_type);
+ if ( $post_type_object->hierarchical ) {
+ $pages = wp_dropdown_pages(array('post_type' => $post->post_type, 'exclude_tree' => $post->ID, 'selected' => $post->post_parent, 'name' => 'parent_id', 'show_option_none' => __('(no parent)'), 'sort_column'=> 'menu_order, post_title', 'echo' => 0));
+ if ( ! empty($pages) ) {
?>
-
-
- $post->ID, 'selected' => $post->post_parent, 'name' => 'parent_id', 'show_option_none' => __('Main Page (no parent)'), 'sort_column'=> 'menu_order, post_title')); ?>
-
+
+
+
-
+ } // end empty pages check
+ } // end hierarchical check.
+ if ( 'page' == $post->post_type && 0 != count( get_page_templates() ) ) {
+ $template = !empty($post->page_template) ? $post->page_template : false;
+ ?>
+
-page_template); ?>
+
-
-
-
-
+
+
+post_type ) _e( 'Need help? Use the Help tab in the upper right of your screen.' ); ?>
-
link_target ) && ($link->link_target == '_top') ? 'checked="checked"' : ''); ?> />
-_top - current window or tab, with no frames.'); ?>
+_top — current window or tab, with no frames.'); ?>
link_target ) && ($link->link_target == '') ? 'checked="checked"' : ''); ?> />
-_none - same window or tab.'); ?>
+_none — same window or tab.'); ?>
*
* @param string $class
* @param string $value
- * @param mixed $deprecated Not used.
+ * @param mixed $deprecated Never used.
*/
-function xfn_check($class, $value = '', $deprecated = '') {
+function xfn_check( $class, $value = '', $deprecated = '' ) {
global $link;
+ if ( !empty( $deprecated ) )
+ _deprecated_argument( __FUNCTION__, '0.0' ); // Never implemented
+
$link_rel = isset( $link->link_rel ) ? $link->link_rel : ''; // In PHP 5.3: $link_rel = $link->link_rel ?: '';
$rels = preg_split('/\s+/', $link_rel);
@@ -684,13 +751,13 @@ function link_xfn_meta_box($link) {
- />
+ />
- />
+ />
- />
+ />
- />
+ />
@@ -716,13 +783,13 @@ function link_xfn_meta_box($link) {
- />
+ />
- />
+ />
- />
+ />
@@ -730,22 +797,22 @@ function link_xfn_meta_box($link) {
- />
+ />
- />
+ />
- />
+ />
- />
+ />
- />
+ />
- />
+ />
diff --git a/wp-admin/includes/misc.php b/wp-admin/includes/misc.php
index 96bcab3e..1ecb3a05 100644
--- a/wp-admin/includes/misc.php
+++ b/wp-admin/includes/misc.php
@@ -120,12 +120,15 @@ function insert_with_markers( $filename, $marker, $insertion ) {
* @since unknown
*/
function save_mod_rewrite_rules() {
+ if ( is_multisite() )
+ return;
+
global $wp_rewrite;
$home_path = get_home_path();
$htaccess_file = $home_path.'.htaccess';
- // If the file doesn't already exists check for write access to the directory and whether of not we have some rules.
+ // If the file doesn't already exist check for write access to the directory and whether we have some rules.
// else check for write access to the file.
if ((!file_exists($htaccess_file) && is_writable($home_path) && $wp_rewrite->using_mod_rewrite_permalinks()) || is_writable($htaccess_file)) {
if ( got_mod_rewrite() ) {
@@ -227,26 +230,28 @@ function url_shorten( $url ) {
}
/**
- * {@internal Missing Short Description}}
+ * Resets global variables based on $_GET and $_POST
+ *
+ * This function resets global variables based on the names passed
+ * in the $vars array to the value of $_POST[$var] or $_GET[$var] or ''
+ * if neither is defined.
*
* @since unknown
*
- * @param unknown_type $vars
+ * @param array $vars An array of globals to reset.
*/
function wp_reset_vars( $vars ) {
for ( $i=0; $iget_error_data() )
+ if ( is_wp_error($message) ){
+ if ( $message->get_error_data() )
$message = $message->get_error_message() . ': ' . $message->get_error_data();
else
$message = $message->get_error_message();
}
echo "$message
\n";
+ wp_ob_end_flush_all();
+ flush();
}
function wp_doc_link_parse( $content ) {
@@ -305,76 +312,6 @@ function wp_doc_link_parse( $content ) {
return $out;
}
-/**
- * Determines the language to use for CodePress syntax highlighting,
- * based only on a filename.
- *
- * @since 2.8
- *
- * @param string $filename The name of the file to be highlighting
-**/
-function codepress_get_lang( $filename ) {
- $codepress_supported_langs = apply_filters( 'codepress_supported_langs',
- array( '.css' => 'css',
- '.js' => 'javascript',
- '.php' => 'php',
- '.html' => 'html',
- '.htm' => 'html',
- '.txt' => 'text'
- ) );
- $extension = substr( $filename, strrpos( $filename, '.' ) );
- if ( $extension && array_key_exists( $extension, $codepress_supported_langs ) )
- return $codepress_supported_langs[$extension];
-
- return 'generic';
-}
-
-/**
- * Adds Javascript required to make CodePress work on the theme/plugin editors.
- *
- * This code is attached to the action admin_print_footer_scripts.
- *
- * @since 2.8
-**/
-function codepress_footer_js() {
- // Script-loader breaks CP's automatic path-detection, thus CodePress.path
- // CP edits in an iframe, so we need to grab content back into normal form
- ?>
-ID, $option, $value);
+ update_user_meta($user->ID, $option, $value);
wp_redirect( remove_query_arg( array('pagenum', 'apage', 'paged'), wp_get_referer() ) );
exit;
}
@@ -474,7 +420,7 @@ function iis7_rewrite_rule_exists($filename) {
if ( $doc->load($filename) === false )
return false;
$xpath = new DOMXPath($doc);
- $rules = $xpath->query('/configuration/system.webServer/rewrite/rules/rule[@name=\'wordpress\']');
+ $rules = $xpath->query('/configuration/system.webServer/rewrite/rules/rule[starts-with(@name,\'wordpress\')]');
if ( $rules->length == 0 )
return false;
else
@@ -503,7 +449,7 @@ function iis7_delete_rewrite_rule($filename) {
if ( $doc -> load($filename) === false )
return false;
$xpath = new DOMXPath($doc);
- $rules = $xpath->query('/configuration/system.webServer/rewrite/rules/rule[@name=\'wordpress\']');
+ $rules = $xpath->query('/configuration/system.webServer/rewrite/rules/rule[starts-with(@name,\'wordpress\')]');
if ( $rules->length > 0 ) {
$child = $rules->item(0);
$parent = $child->parentNode;
@@ -543,7 +489,7 @@ function iis7_add_rewrite_rule($filename, $rewrite_rule) {
$xpath = new DOMXPath($doc);
// First check if the rule already exists as in that case there is no need to re-add it
- $wordpress_rules = $xpath->query('/configuration/system.webServer/rewrite/rules/rule[@name=\'wordpress\']');
+ $wordpress_rules = $xpath->query('/configuration/system.webServer/rewrite/rules/rule[starts-with(@name,\'wordpress\')]');
if ( $wordpress_rules->length > 0 )
return true;
@@ -639,4 +585,33 @@ function win_is_writable($path) {
unlink($path);
return true;
}
+
+/**
+ * Display the default admin color scheme picker (Used in user-edit.php)
+ *
+ * @since 3.0.0
+ */
+function admin_color_scheme_picker() {
+ global $_wp_admin_css_colors, $user_id; ?>
+
+ $color_info ): ?>
+ />
+
+
+ colors as $html_color ): ?>
+
+
+
+
+
+
name ?>
+
+
+
+
diff --git a/wp-admin/includes/ms-deprecated.php b/wp-admin/includes/ms-deprecated.php
new file mode 100644
index 00000000..e7b017be
--- /dev/null
+++ b/wp-admin/includes/ms-deprecated.php
@@ -0,0 +1,68 @@
+
\ No newline at end of file
diff --git a/wp-admin/includes/ms.php b/wp-admin/includes/ms.php
new file mode 100644
index 00000000..ae23b7f8
--- /dev/null
+++ b/wp-admin/includes/ms.php
@@ -0,0 +1,897 @@
+ ( 1024 * get_site_option( 'fileupload_maxk', 1500 ) ) )
+ $file['error'] = sprintf(__('This file is too big. Files must be less than %1$s KB in size.'), get_site_option( 'fileupload_maxk', 1500 ) );
+ if ( upload_is_user_over_quota( false ) ) {
+ $file['error'] = __( 'You have used your space quota. Please delete files before uploading.' );
+ }
+ if ( $file['error'] != '0' && !isset($_POST['html-upload']) )
+ wp_die( $file['error'] . ' ' . __( 'Back' ) . ' ' );
+
+ return $file;
+}
+add_filter( 'wp_handle_upload_prefilter', 'check_upload_size' );
+
+/**
+ * Delete a blog
+ *
+ * @since 3.0.0
+ *
+ * @param int $blog_id Blog ID
+ * @param bool $drop True if blog's table should be dropped. Default is false.
+ * @return void
+ */
+function wpmu_delete_blog( $blog_id, $drop = false ) {
+ global $wpdb;
+
+ $switch = false;
+ if ( $blog_id != $wpdb->blogid ) {
+ $switch = true;
+ switch_to_blog( $blog_id );
+ }
+
+ $blog_prefix = $wpdb->get_blog_prefix( $blog_id );
+
+ do_action( 'delete_blog', $blog_id, $drop );
+
+ $users = get_users_of_blog( $blog_id );
+
+ // Remove users from this blog.
+ if ( ! empty( $users ) ) {
+ foreach ( $users as $user ) {
+ remove_user_from_blog( $user->user_id, $blog_id) ;
+ }
+ }
+
+ update_blog_status( $blog_id, 'deleted', 1 );
+
+ if ( $drop ) {
+ if ( substr( $blog_prefix, -1 ) == '_' )
+ $blog_prefix = substr( $blog_prefix, 0, -1 ) . '\_';
+
+ $drop_tables = $wpdb->get_results( "SHOW TABLES LIKE '{$blog_prefix}%'", ARRAY_A );
+ $drop_tables = apply_filters( 'wpmu_drop_tables', $drop_tables );
+
+ reset( $drop_tables );
+ foreach ( (array) $drop_tables as $drop_table) {
+ $wpdb->query( "DROP TABLE IF EXISTS ". current( $drop_table ) ."" );
+ }
+ $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->blogs WHERE blog_id = %d", $blog_id ) );
+ $dir = apply_filters( 'wpmu_delete_blog_upload_dir', WP_CONTENT_DIR . "/blogs.dir/{$blog_id}/files/", $blog_id );
+ $dir = rtrim( $dir, DIRECTORY_SEPARATOR );
+ $top_dir = $dir;
+ $stack = array($dir);
+ $index = 0;
+
+ while ( $index < count( $stack ) ) {
+ # Get indexed directory from stack
+ $dir = $stack[$index];
+
+ $dh = @opendir( $dir );
+ if ( $dh ) {
+ while ( ( $file = @readdir( $dh ) ) !== false ) {
+ if ( $file == '.' || $file == '..' )
+ continue;
+
+ if ( @is_dir( $dir . DIRECTORY_SEPARATOR . $file ) )
+ $stack[] = $dir . DIRECTORY_SEPARATOR . $file;
+ else if ( @is_file( $dir . DIRECTORY_SEPARATOR . $file ) )
+ @unlink( $dir . DIRECTORY_SEPARATOR . $file );
+ }
+ }
+ $index++;
+ }
+
+ $stack = array_reverse( $stack ); // Last added dirs are deepest
+ foreach( (array) $stack as $dir ) {
+ if ( $dir != $top_dir)
+ @rmdir( $dir );
+ }
+ }
+
+ $wpdb->query( "DELETE FROM {$wpdb->usermeta} WHERE meta_key = '{$blog_prefix}autosave_draft_ids'" );
+ $blogs = get_site_option( 'blog_list' );
+ if ( is_array( $blogs ) ) {
+ foreach ( $blogs as $n => $blog ) {
+ if ( $blog['blog_id'] == $blog_id )
+ unset( $blogs[$n] );
+ }
+ update_site_option( 'blog_list', $blogs );
+ }
+
+ if ( $switch === true )
+ restore_current_blog();
+}
+
+// @todo Merge with wp_delete_user() ?
+function wpmu_delete_user( $id ) {
+ global $wpdb;
+
+ $id = (int) $id;
+
+ do_action( 'wpmu_delete_user', $id );
+
+ $blogs = get_blogs_of_user( $id );
+
+ if ( ! empty( $blogs ) ) {
+ foreach ( $blogs as $blog ) {
+ switch_to_blog( $blog->userblog_id );
+ remove_user_from_blog( $id, $blog->userblog_id );
+
+ $post_ids = $wpdb->get_col( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_author = %d", $id ) );
+ foreach ( (array) $post_ids as $post_id ) {
+ wp_delete_post( $post_id );
+ }
+
+ // Clean links
+ $link_ids = $wpdb->get_col( $wpdb->prepare( "SELECT link_id FROM $wpdb->links WHERE link_owner = %d", $id ) );
+
+ if ( $link_ids ) {
+ foreach ( $link_ids as $link_id )
+ wp_delete_link( $link_id );
+ }
+
+ restore_current_blog();
+ }
+ }
+
+ $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->users WHERE ID = %d", $id ) );
+ $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->usermeta WHERE user_id = %d", $id ) );
+
+ clean_user_cache( $id );
+
+ // allow for commit transaction
+ do_action( 'deleted_user', $id );
+
+ return true;
+}
+
+function confirm_delete_users( $users ) {
+ global $current_user;
+ if ( !is_array( $users ) )
+ return false;
+
+ screen_icon();
+ ?>
+
+
+
+
+ ID'>$current_user->user_login";
+
+ foreach ( ( $allusers = (array) $_POST['allusers'] ) as $key => $val ) {
+ if ( $val != '' && $val != '0' ) {
+ $delete_user = new WP_User( $val );
+
+ if ( in_array( $delete_user->user_login, $site_admins ) )
+ wp_die( sprintf( __( 'Warning! User cannot be deleted. The user %s is a network admnistrator.' ), $delete_user->user_login ) );
+
+ echo " \n";
+ $blogs = get_blogs_of_user( $val, true );
+
+ if ( !empty( $blogs ) ) {
+ ?>
+ %s?" ), $delete_user->user_login ); ?>
+ $details ) {
+ $blog_users = get_users_of_blog( $details->userblog_id );
+ if ( is_array( $blog_users ) && !empty( $blog_users ) ) {
+ $user_site = "{$details->blogname} ";
+ $user_dropdown = "";
+ $user_list = '';
+ foreach ( $blog_users as $user ) {
+ if ( $user->user_id != $val && !in_array( $user->user_id, $allusers ) )
+ $user_list .= "{$user->user_login} ";
+ }
+ if ( '' == $user_list )
+ $user_list = $admin_out;
+ $user_dropdown .= $user_list;
+ $user_dropdown .= " \n";
+ ?>
+
+ ";
+ }
+ }
+ }
+ ?>
+
+
+ $theme ) {
+ $theme_key = esc_html( $theme['Stylesheet'] );
+ if ( isset( $blog_allowed_themes[$key] ) == true ) {
+ $blog_allowedthemes[$theme_key] = 1;
+ }
+ }
+ $blog_allowed_themes = $blog_allowedthemes;
+ add_option( 'allowedthemes', $blog_allowed_themes );
+ delete_option( 'allowed_themes' );
+ }
+ }
+
+ if ( $blog_id != 0 )
+ restore_current_blog();
+
+ return $blog_allowed_themes;
+}
+
+function update_option_new_admin_email( $old_value, $value ) {
+ $email = get_option( 'admin_email' );
+ if ( $value == get_option( 'admin_email' ) || !is_email( $value ) )
+ return;
+
+ $hash = md5( $value. time() .mt_rand() );
+ $new_admin_email = array(
+ 'hash' => $hash,
+ 'newemail' => $value
+ );
+ update_option( 'adminhash', $new_admin_email );
+
+ $content = apply_filters( 'new_admin_email_content', __( "Dear user,
+
+You recently requested to have the administration email address on
+your site changed.
+If this is correct, please click on the following link to change it:
+###ADMIN_URL###
+
+You can safely ignore and delete this email if you do not want to
+take this action.
+
+This email has been sent to ###EMAIL###
+
+Regards,
+All at ###SITENAME###
+###SITEURL### "), $new_admin_email );
+
+ $content = str_replace( '###ADMIN_URL###', esc_url( admin_url( 'options.php?adminhash='.$hash ) ), $content );
+ $content = str_replace( '###EMAIL###', $value, $content );
+ $content = str_replace( '###SITENAME###', get_site_option( 'site_name' ), $content );
+ $content = str_replace( '###SITEURL###', network_home_url(), $content );
+
+ wp_mail( $value, sprintf( __( '[%s] New Admin Email Address' ), get_option( 'blogname' ) ), $content );
+}
+add_action( 'update_option_new_admin_email', 'update_option_new_admin_email', 10, 2 );
+add_action( 'add_option_new_admin_email', 'update_option_new_admin_email', 10, 2 );
+
+function send_confirmation_on_profile_email() {
+ global $errors, $wpdb, $current_user;
+ if ( ! is_object($errors) )
+ $errors = new WP_Error();
+
+ if ( $current_user->id != $_POST['user_id'] )
+ return false;
+
+ if ( $current_user->user_email != $_POST['email'] ) {
+ if ( !is_email( $_POST['email'] ) ) {
+ $errors->add( 'user_email', __( "ERROR : The e-mail address isn't correct." ), array( 'form-field' => 'email' ) );
+ return;
+ }
+
+ if ( $wpdb->get_var( $wpdb->prepare( "SELECT user_email FROM {$wpdb->users} WHERE user_email=%s", $_POST['email'] ) ) ) {
+ $errors->add( 'user_email', __( "ERROR : The e-mail address is already used." ), array( 'form-field' => 'email' ) );
+ delete_option( $current_user->ID . '_new_email' );
+ return;
+ }
+
+ $hash = md5( $_POST['email'] . time() . mt_rand() );
+ $new_user_email = array(
+ 'hash' => $hash,
+ 'newemail' => $_POST['email']
+ );
+ update_option( $current_user->ID . '_new_email', $new_user_email );
+
+ $content = apply_filters( 'new_user_email_content', __( "Dear user,
+
+You recently requested to have the email address on your account changed.
+If this is correct, please click on the following link to change it:
+###ADMIN_URL###
+
+You can safely ignore and delete this email if you do not want to
+take this action.
+
+This email has been sent to ###EMAIL###
+
+Regards,
+All at ###SITENAME###
+###SITEURL###" ), $new_user_email );
+
+ $content = str_replace( '###ADMIN_URL###', esc_url( admin_url( 'profile.php?newuseremail='.$hash ) ), $content );
+ $content = str_replace( '###EMAIL###', $_POST['email'], $content);
+ $content = str_replace( '###SITENAME###', get_site_option( 'site_name' ), $content );
+ $content = str_replace( '###SITEURL###', network_home_url(), $content );
+
+ wp_mail( $_POST['email'], sprintf( __( '[%s] New Email Address' ), get_option( 'blogname' ) ), $content );
+ $_POST['email'] = $current_user->user_email;
+ }
+}
+add_action( 'personal_options_update', 'send_confirmation_on_profile_email' );
+
+function new_user_email_admin_notice() {
+ global $current_user;
+ if ( strpos( $_SERVER['PHP_SELF'], 'profile.php' ) && isset( $_GET['updated'] ) && $email = get_option( $current_user->ID . '_new_email' ) )
+ echo "" . sprintf( __( "Your email address has not been updated yet. Please check your inbox at %s for a confirmation email." ), $email['newemail'] ) . "
";
+}
+add_action( 'admin_notices', 'new_user_email_admin_notice' );
+
+function get_site_allowed_themes() {
+ $themes = get_themes();
+ $allowed_themes = get_site_option( 'allowedthemes' );
+ if ( !is_array( $allowed_themes ) || empty( $allowed_themes ) ) {
+ $allowed_themes = get_site_option( 'allowed_themes' ); // convert old allowed_themes format
+ if ( !is_array( $allowed_themes ) ) {
+ $allowed_themes = array();
+ } else {
+ foreach( (array) $themes as $key => $theme ) {
+ $theme_key = esc_html( $theme['Stylesheet'] );
+ if ( isset( $allowed_themes[ $key ] ) == true ) {
+ $allowedthemes[ $theme_key ] = 1;
+ }
+ }
+ $allowed_themes = $allowedthemes;
+ }
+ }
+ return $allowed_themes;
+}
+
+/**
+ * Determines if there is any upload space left in the current blog's quota.
+ *
+ * @since 3.0.0
+ * @return bool True if space is available, false otherwise.
+ */
+function is_upload_space_available() {
+ if ( get_site_option( 'upload_space_check_disabled' ) )
+ return true;
+
+ if ( !( $space_allowed = get_upload_space_available() ) )
+ return false;
+
+ return true;
+}
+
+/*
+ * @since 3.0.0
+ *
+ * @return int of upload size limit in bytes
+ */
+function upload_size_limit_filter( $size ) {
+ $fileupload_maxk = 1024 * get_site_option( 'fileupload_maxk', 1500 );
+ return min( $size, $fileupload_maxk, get_upload_space_available() );
+}
+/**
+ * Determines if there is any upload space left in the current blog's quota.
+ *
+ * @return int of upload space available in bytes
+ */
+function get_upload_space_available() {
+ $space_allowed = get_space_allowed() * 1024 * 1024;
+ if ( get_site_option( 'upload_space_check_disabled' ) )
+ return $space_allowed;
+
+ $dir_name = trailingslashit( BLOGUPLOADDIR );
+ if ( !( is_dir( $dir_name) && is_readable( $dir_name ) ) )
+ return $space_allowed;
+
+ $dir = dir( $dir_name );
+ $size = 0;
+
+ while ( $file = $dir->read() ) {
+ if ( $file != '.' && $file != '..' ) {
+ if ( is_dir( $dir_name . $file) ) {
+ $size += get_dirsize( $dir_name . $file );
+ } else {
+ $size += filesize( $dir_name . $file );
+ }
+ }
+ }
+ $dir->close();
+
+ if ( ( $space_allowed - $size ) <= 0 )
+ return 0;
+
+ return $space_allowed - $size;
+}
+
+/**
+ * Returns the upload quota for the current blog.
+ *
+ * @return int Quota
+ */
+function get_space_allowed() {
+ $space_allowed = get_option( 'blog_upload_space' );
+ if ( $space_allowed == false )
+ $space_allowed = get_site_option( 'blog_upload_space' );
+ if ( empty( $space_allowed ) || !is_numeric( $space_allowed ) )
+ $space_allowed = 50;
+
+ return $space_allowed;
+}
+
+function display_space_usage() {
+ $space = get_space_allowed();
+ $used = get_dirsize( BLOGUPLOADDIR ) / 1024 / 1024;
+
+ $percentused = ( $used / $space ) * 100;
+
+ if ( $space > 1000 ) {
+ $space = number_format( $space / 1024 );
+ /* translators: Gigabytes */
+ $space .= __( 'GB' );
+ } else {
+ /* translators: Megabytes */
+ $space .= __( 'MB' );
+ }
+ ?>
+
+ $quota )
+ $percentused = '100';
+ else
+ $percentused = ( $used / $quota ) * 100;
+ $used_color = ( $percentused < 70 ) ? ( ( $percentused >= 40 ) ? 'waiting' : 'approved' ) : 'spam';
+ $used = round( $used, 2 );
+ $percentused = number_format( $percentused );
+
+ ?>
+
+
+
+
+ %2$sMB' ), esc_url( admin_url( 'upload.php' ) ), $quota ); ?>
+
+
+
+
+
+
+
+
+
+
+
+ update( $wpdb->users, array( $pref => $value ), array( 'ID' => $id ) );
+
+ if ( $refresh == 1 )
+ refresh_user_details( $id );
+
+ if ( $pref == 'spam' ) {
+ if ( $value == 1 )
+ do_action( 'make_spam_user', $id );
+ else
+ do_action( 'make_ham_user', $id );
+ }
+
+ return $value;
+}
+
+function refresh_user_details( $id ) {
+ $id = (int) $id;
+
+ if ( !$user = get_userdata( $id ) )
+ return false;
+
+ clean_user_cache( $id );
+
+ return $id;
+}
+
+function format_code_lang( $code = '' ) {
+ $code = strtolower( substr( $code, 0, 2 ) );
+ $lang_codes = array(
+ 'aa' => 'Afar', 'ab' => 'Abkhazian', 'af' => 'Afrikaans', 'ak' => 'Akan', 'sq' => 'Albanian', 'am' => 'Amharic', 'ar' => 'Arabic', 'an' => 'Aragonese', 'hy' => 'Armenian', 'as' => 'Assamese', 'av' => 'Avaric', 'ae' => 'Avestan', 'ay' => 'Aymara', 'az' => 'Azerbaijani', 'ba' => 'Bashkir', 'bm' => 'Bambara', 'eu' => 'Basque', 'be' => 'Belarusian', 'bn' => 'Bengali',
+ 'bh' => 'Bihari', 'bi' => 'Bislama', 'bs' => 'Bosnian', 'br' => 'Breton', 'bg' => 'Bulgarian', 'my' => 'Burmese', 'ca' => 'Catalan; Valencian', 'ch' => 'Chamorro', 'ce' => 'Chechen', 'zh' => 'Chinese', 'cu' => 'Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic', 'cv' => 'Chuvash', 'kw' => 'Cornish', 'co' => 'Corsican', 'cr' => 'Cree',
+ 'cs' => 'Czech', 'da' => 'Danish', 'dv' => 'Divehi; Dhivehi; Maldivian', 'nl' => 'Dutch; Flemish', 'dz' => 'Dzongkha', 'en' => 'English', 'eo' => 'Esperanto', 'et' => 'Estonian', 'ee' => 'Ewe', 'fo' => 'Faroese', 'fj' => 'Fijjian', 'fi' => 'Finnish', 'fr' => 'French', 'fy' => 'Western Frisian', 'ff' => 'Fulah', 'ka' => 'Georgian', 'de' => 'German', 'gd' => 'Gaelic; Scottish Gaelic',
+ 'ga' => 'Irish', 'gl' => 'Galician', 'gv' => 'Manx', 'el' => 'Greek, Modern', 'gn' => 'Guarani', 'gu' => 'Gujarati', 'ht' => 'Haitian; Haitian Creole', 'ha' => 'Hausa', 'he' => 'Hebrew', 'hz' => 'Herero', 'hi' => 'Hindi', 'ho' => 'Hiri Motu', 'hu' => 'Hungarian', 'ig' => 'Igbo', 'is' => 'Icelandic', 'io' => 'Ido', 'ii' => 'Sichuan Yi', 'iu' => 'Inuktitut', 'ie' => 'Interlingue',
+ 'ia' => 'Interlingua (International Auxiliary Language Association)', 'id' => 'Indonesian', 'ik' => 'Inupiaq', 'it' => 'Italian', 'jv' => 'Javanese', 'ja' => 'Japanese', 'kl' => 'Kalaallisut; Greenlandic', 'kn' => 'Kannada', 'ks' => 'Kashmiri', 'kr' => 'Kanuri', 'kk' => 'Kazakh', 'km' => 'Central Khmer', 'ki' => 'Kikuyu; Gikuyu', 'rw' => 'Kinyarwanda', 'ky' => 'Kirghiz; Kyrgyz',
+ 'kv' => 'Komi', 'kg' => 'Kongo', 'ko' => 'Korean', 'kj' => 'Kuanyama; Kwanyama', 'ku' => 'Kurdish', 'lo' => 'Lao', 'la' => 'Latin', 'lv' => 'Latvian', 'li' => 'Limburgan; Limburger; Limburgish', 'ln' => 'Lingala', 'lt' => 'Lithuanian', 'lb' => 'Luxembourgish; Letzeburgesch', 'lu' => 'Luba-Katanga', 'lg' => 'Ganda', 'mk' => 'Macedonian', 'mh' => 'Marshallese', 'ml' => 'Malayalam',
+ 'mi' => 'Maori', 'mr' => 'Marathi', 'ms' => 'Malay', 'mg' => 'Malagasy', 'mt' => 'Maltese', 'mo' => 'Moldavian', 'mn' => 'Mongolian', 'na' => 'Nauru', 'nv' => 'Navajo; Navaho', 'nr' => 'Ndebele, South; South Ndebele', 'nd' => 'Ndebele, North; North Ndebele', 'ng' => 'Ndonga', 'ne' => 'Nepali', 'nn' => 'Norwegian Nynorsk; Nynorsk, Norwegian', 'nb' => 'Bokmål, Norwegian, Norwegian Bokmål',
+ 'no' => 'Norwegian', 'ny' => 'Chichewa; Chewa; Nyanja', 'oc' => 'Occitan, Provençal', 'oj' => 'Ojibwa', 'or' => 'Oriya', 'om' => 'Oromo', 'os' => 'Ossetian; Ossetic', 'pa' => 'Panjabi; Punjabi', 'fa' => 'Persian', 'pi' => 'Pali', 'pl' => 'Polish', 'pt' => 'Portuguese', 'ps' => 'Pushto', 'qu' => 'Quechua', 'rm' => 'Romansh', 'ro' => 'Romanian', 'rn' => 'Rundi', 'ru' => 'Russian',
+ 'sg' => 'Sango', 'sa' => 'Sanskrit', 'sr' => 'Serbian', 'hr' => 'Croatian', 'si' => 'Sinhala; Sinhalese', 'sk' => 'Slovak', 'sl' => 'Slovenian', 'se' => 'Northern Sami', 'sm' => 'Samoan', 'sn' => 'Shona', 'sd' => 'Sindhi', 'so' => 'Somali', 'st' => 'Sotho, Southern', 'es' => 'Spanish; Castilian', 'sc' => 'Sardinian', 'ss' => 'Swati', 'su' => 'Sundanese', 'sw' => 'Swahili',
+ 'sv' => 'Swedish', 'ty' => 'Tahitian', 'ta' => 'Tamil', 'tt' => 'Tatar', 'te' => 'Telugu', 'tg' => 'Tajik', 'tl' => 'Tagalog', 'th' => 'Thai', 'bo' => 'Tibetan', 'ti' => 'Tigrinya', 'to' => 'Tonga (Tonga Islands)', 'tn' => 'Tswana', 'ts' => 'Tsonga', 'tk' => 'Turkmen', 'tr' => 'Turkish', 'tw' => 'Twi', 'ug' => 'Uighur; Uyghur', 'uk' => 'Ukrainian', 'ur' => 'Urdu', 'uz' => 'Uzbek',
+ 've' => 'Venda', 'vi' => 'Vietnamese', 'vo' => 'Volapük', 'cy' => 'Welsh','wa' => 'Walloon','wo' => 'Wolof', 'xh' => 'Xhosa', 'yi' => 'Yiddish', 'yo' => 'Yoruba', 'za' => 'Zhuang; Chuang', 'zu' => 'Zulu' );
+ $lang_codes = apply_filters( 'lang_codes', $lang_codes, $code );
+ return strtr( $code, $lang_codes );
+}
+
+function sync_category_tag_slugs( $term, $taxonomy ) {
+ if ( global_terms_enabled() && ( $taxonomy == 'category' || $taxonomy == 'post_tag' ) ) {
+ if ( is_object( $term ) ) {
+ $term->slug = sanitize_title( $term->name );
+ } else {
+ $term['slug'] = sanitize_title( $term['name'] );
+ }
+ }
+ return $term;
+}
+add_filter( 'get_term', 'sync_category_tag_slugs', 10, 2 );
+
+function redirect_user_to_blog() {
+ global $current_user;
+ $c = 0;
+ if ( isset( $_GET['c'] ) )
+ $c = (int) $_GET['c'];
+
+ if ( $c >= 5 ) {
+ wp_die( __( "You don’t have permission to view this site. Please contact the system administrator." ) );
+ }
+ $c ++;
+
+ $blog = get_active_blog_for_user( $current_user->ID );
+ $dashboard_blog = get_dashboard_blog();
+ if ( is_object( $blog ) ) {
+ wp_redirect( get_admin_url( $blog->blog_id, '?c=' . $c ) ); // redirect and count to 5, "just in case"
+ exit;
+ }
+
+ /*
+ If the user is a member of only 1 blog and the user's primary_blog isn't set to that blog,
+ then update the primary_blog record to match the user's blog
+ */
+ $blogs = get_blogs_of_user( $current_user->ID );
+
+ if ( !empty( $blogs ) ) {
+ foreach( $blogs as $blogid => $blog ) {
+ if ( $blogid != $dashboard_blog->blog_id && get_user_meta( $current_user->ID , 'primary_blog', true ) == $dashboard_blog->blog_id ) {
+ update_user_meta( $current_user->ID, 'primary_blog', $blogid );
+ continue;
+ }
+ }
+ $blog = get_blog_details( get_user_meta( $current_user->ID, 'primary_blog', true ) );
+ wp_redirect( get_admin_url( $blog->blog_id, '?c=' . $c ) );
+ exit;
+ }
+ wp_die( __( 'You do not have sufficient permissions to access this page.' ) );
+}
+add_action( 'admin_page_access_denied', 'redirect_user_to_blog', 99 );
+
+function check_import_new_users( $permission ) {
+ if ( !is_super_admin() )
+ return false;
+ return true;
+}
+add_filter( 'import_allow_create_users', 'check_import_new_users' );
+// See "import_allow_fetch_attachments" and "import_attachment_size_limit" filters too.
+
+function mu_dropdown_languages( $lang_files = array(), $current = '' ) {
+ $flag = false;
+ $output = array();
+
+ foreach ( (array) $lang_files as $val ) {
+ $code_lang = basename( $val, '.mo' );
+
+ if ( $code_lang == 'en_US' ) { // American English
+ $flag = true;
+ $ae = __( 'American English' );
+ $output[$ae] = ' ' . $ae . ' ';
+ } elseif ( $code_lang == 'en_GB' ) { // British English
+ $flag = true;
+ $be = __( 'British English' );
+ $output[$be] = ' ' . $be . ' ';
+ } else {
+ $translated = format_code_lang( $code_lang );
+ $output[$translated] = ' ' . esc_html ( $translated ) . ' ';
+ }
+
+ }
+
+ if ( $flag === false ) // WordPress english
+ $output[] = '' . __( 'English' ) . " ";
+
+ // Order by name
+ uksort( $output, 'strnatcasecmp' );
+
+ $output = apply_filters( 'mu_dropdown_languages', $output, $lang_files, $current );
+ echo implode( "\n\t", $output );
+}
+
+/* Warn the admin if SECRET SALT information is missing from wp-config.php */
+function secret_salt_warning() {
+ if ( !is_super_admin() )
+ return;
+ $secret_keys = array( 'AUTH_KEY', 'SECURE_AUTH_KEY', 'LOGGED_IN_KEY', 'NONCE_KEY', 'AUTH_SALT', 'SECURE_AUTH_SALT', 'LOGGED_IN_SALT', 'NONCE_SALT' );
+ $out = '';
+ foreach( $secret_keys as $key ) {
+ if ( ! defined( $key ) )
+ $out .= "define( '$key', '" . esc_html( wp_generate_password( 64, true, true ) ) . "' ); ";
+ }
+ if ( $out != '' ) {
+ $msg = __( 'Warning! WordPress encrypts user cookies, but you must add the following lines to wp-config.php for it to be more secure.' );
+ $msg .= ' ' . __( "Before the line /* That's all, stop editing! Happy blogging. */
please add this code:" );
+ $msg .= "$out
";
+
+ echo "$msg
";
+ }
+}
+add_action( 'admin_notices', 'secret_salt_warning' );
+
+function admin_notice_feed() {
+ global $current_user, $current_screen;
+ if ( $current_screen->id != 'dashboard' )
+ return;
+
+ if ( !empty( $_GET['feed_dismiss'] ) ) {
+ update_user_option( $current_user->id, 'admin_feed_dismiss', $_GET['feed_dismiss'], true );
+ return;
+ }
+
+ $url = get_site_option( 'admin_notice_feed' );
+ if ( empty( $url ) )
+ return;
+
+ $rss = fetch_feed( $url );
+ if ( ! is_wp_error( $rss ) && $item = $rss->get_item() ) {
+ $title = $item->get_title();
+ if ( md5( $title ) == get_user_option( 'admin_feed_dismiss' ) )
+ return;
+ $msg = "" . esc_html( $title ) . " \n";
+ $content = $item->get_description();
+ $content = $content ? wp_html_excerpt( $content, 200 ) . ' … ' : '';
+ $link = esc_url( strip_tags( $item->get_link() ) );
+ $msg .= "" . $content . "" . __( 'Read More' ) . " " . __( 'Dismiss' ) . "
";
+ echo "$msg
";
+ } elseif ( is_super_admin() ) {
+ printf( '' . __( 'Your feed at %s is empty.' ) . '
', esc_html( $url ) );
+ }
+}
+add_action( 'admin_notices', 'admin_notice_feed' );
+
+function site_admin_notice() {
+ global $current_user, $wp_db_version;
+ if ( !is_super_admin() )
+ return false;
+ if ( get_site_option( 'wpmu_upgrade_site' ) != $wp_db_version )
+ echo "" . sprintf( __( 'Thank you for Updating! Please visit the
Update Network page to update all your sites.' ), esc_url( admin_url( 'ms-upgrade-network.php' ) ) ) . "
";
+}
+add_action( 'admin_notices', 'site_admin_notice' );
+
+function avoid_blog_page_permalink_collision( $data, $postarr ) {
+ if ( is_subdomain_install() )
+ return $data;
+ if ( $data['post_type'] != 'page' )
+ return $data;
+ if ( !isset( $data['post_name'] ) || $data['post_name'] == '' )
+ return $data;
+ if ( !is_main_site() )
+ return $data;
+
+ $post_name = $data['post_name'];
+ $c = 0;
+ while( $c < 10 && get_id_from_blogname( $post_name ) ) {
+ $post_name .= mt_rand( 1, 10 );
+ $c ++;
+ }
+ if ( $post_name != $data['post_name'] ) {
+ $data['post_name'] = $post_name;
+ }
+ return $data;
+}
+add_filter( 'wp_insert_post_data', 'avoid_blog_page_permalink_collision', 10, 2 );
+
+function choose_primary_blog() {
+ global $current_user;
+ ?>
+
+ " . sprintf( __( "Warning! The current theme supports Featured Images. You must enable image uploads on the options page for it to work." ), esc_url( admin_url( 'ms-options.php' ) ) ) . "";
+ }
+}
+add_action( 'admin_notices', 'show_post_thumbnail_warning' );
+
+function ms_deprecated_blogs_file() {
+ if ( ! is_super_admin() )
+ return;
+ if ( ! file_exists( WP_CONTENT_DIR . '/blogs.php' ) )
+ return;
+ echo '' . sprintf( __( 'The %1$s
file is deprecated. Please remove it and update your server rewrite rules to use %2$s
instead.' ), 'wp-content/blogs.php', 'wp-includes/ms-files.php' ) . '
';
+}
+add_action( 'admin_notices', 'ms_deprecated_blogs_file' );
+
+/**
+ * Outputs the notice message for multisite regarding activation of plugin page.
+ *
+ * @since 3.0.0
+ * @return none
+ */
+function _admin_notice_multisite_activate_plugins_page() {
+ $message = sprintf( __( 'The plugins page is not visible to normal users. It must be activated first. %s' ), '' . __( 'Activate' ) . ' ' );
+ echo "";
+}
+
+/**
+ * Grants super admin privileges.
+ *
+ * @since 3.0.0
+ * @param $user_id
+ */
+function grant_super_admin( $user_id ) {
+ global $super_admins;
+
+ // If global super_admins override is defined, there is nothing to do here.
+ if ( isset($super_admins) )
+ return false;
+
+ do_action( 'grant_super_admin', $user_id );
+
+ // Directly fetch site_admins instead of using get_super_admins()
+ $super_admins = get_site_option( 'site_admins', array( 'admin' ) );
+
+ $user = new WP_User( $user_id );
+ if ( ! in_array( $user->user_login, $super_admins ) ) {
+ $super_admins[] = $user->user_login;
+ update_site_option( 'site_admins' , $super_admins );
+ do_action( 'granted_super_admin', $user_id );
+ return true;
+ }
+ return false;
+}
+
+/**
+ * Revokes super admin privileges.
+ *
+ * @since 3.0.0
+ * @param $user_id
+ */
+function revoke_super_admin( $user_id ) {
+ global $super_admins;
+
+ // If global super_admins override is defined, there is nothing to do here.
+ if ( isset($super_admins) )
+ return false;
+
+ do_action( 'revoke_super_admin', $user_id );
+
+ // Directly fetch site_admins instead of using get_super_admins()
+ $super_admins = get_site_option( 'site_admins', array( 'admin' ) );
+
+ $user = new WP_User( $user_id );
+ if ( $user->user_email != get_site_option( 'admin_email' ) ) {
+ if ( false !== ( $key = array_search( $user->user_login, $super_admins ) ) ) {
+ unset( $super_admins[$key] );
+ update_site_option( 'site_admins', $super_admins );
+ do_action( 'revoked_super_admin', $user_id );
+ return true;
+ }
+ }
+ return false;
+}
+?>
diff --git a/wp-admin/includes/nav-menu.php b/wp-admin/includes/nav-menu.php
new file mode 100644
index 00000000..e4675598
--- /dev/null
+++ b/wp-admin/includes/nav-menu.php
@@ -0,0 +1,1139 @@
+ $_wp_nav_menu_max_depth ? $depth : $_wp_nav_menu_max_depth;
+
+ $indent = ( $depth ) ? str_repeat( "\t", $depth ) : '';
+
+ ob_start();
+ $item_id = esc_attr( $item->ID );
+ $removed_args = array(
+ 'action',
+ 'customlink-tab',
+ 'edit-menu-item',
+ 'menu-item',
+ 'page-tab',
+ '_wpnonce',
+ );
+
+ $original_title = '';
+ if ( 'taxonomy' == $item->type ) {
+ $original_title = get_term_field( 'name', $item->object_id, $item->object, 'raw' );
+ } elseif ( 'post_type' == $item->type ) {
+ $original_object = get_post( $item->object_id );
+ $original_title = $original_object->post_title;
+ }
+
+ $classes = array(
+ 'menu-item menu-item-depth-' . $depth,
+ 'menu-item-' . esc_attr( $item->object ),
+ 'menu-item-edit-' . ( ( isset( $_GET['edit-menu-item'] ) && $item_id == $_GET['edit-menu-item'] ) ? 'active' : 'inactive'),
+ );
+
+ $title = $item->title;
+
+ if ( isset( $item->post_status ) && 'draft' == $item->post_status ) {
+ $classes[] = 'pending';
+ /* translators: %s: title of menu item in draft status */
+ $title = sprintf( __('%s (Pending)'), $item->title );
+ }
+
+ $title = empty( $item->label ) ? $title : $item->label;
+
+ ?>
+ ';
+ $output .= '';
+
+ // Menu item hidden fields
+ $output .= '';
+ $output .= '';
+ $output .= '';
+ $output .= '';
+ $output .= '';
+ $output .= '';
+ $output .= '';
+ $output .= '';
+ $output .= '';
+ $output .= '';
+ $output .= '';
+ }
+}
+
+/**
+ * Prints the appropriate response to a menu quick search.
+ *
+ * @since 3.0.0
+ *
+ * @param array $request The unsanitized request values.
+ */
+function _wp_ajax_menu_quick_search( $request = array() ) {
+ $args = array();
+ $type = isset( $request['type'] ) ? $request['type'] : '';
+ $object_type = isset( $request['object_type'] ) ? $request['object_type'] : '';
+ $query = isset( $request['q'] ) ? $request['q'] : '';
+ $response_format = isset( $request['response-format'] ) && in_array( $request['response-format'], array( 'json', 'markup' ) ) ? $request['response-format'] : 'json';
+
+ if ( 'markup' == $response_format ) {
+ $args['walker'] = new Walker_Nav_Menu_Checklist;
+ }
+
+ if ( 'get-post-item' == $type ) {
+ if ( post_type_exists( $object_type ) ) {
+ if ( isset( $request['ID'] ) ) {
+ $object_id = (int) $request['ID'];
+ if ( 'markup' == $response_format ) {
+ echo walk_nav_menu_tree( array_map('wp_setup_nav_menu_item', array( get_post( $object_id ) ) ), 0, (object) $args );
+ } elseif ( 'json' == $response_format ) {
+ $post_obj = get_post( $object_id );
+ echo json_encode(
+ array(
+ 'ID' => $object_id,
+ 'post_title' => get_the_title( $object_id ),
+ 'post_type' => get_post_type( $object_id ),
+ )
+ );
+ echo "\n";
+ }
+ }
+ } elseif ( taxonomy_exists( $object_type ) ) {
+ if ( isset( $request['ID'] ) ) {
+ $object_id = (int) $request['ID'];
+ if ( 'markup' == $response_format ) {
+ echo walk_nav_menu_tree( array_map('wp_setup_nav_menu_item', array( get_term( $object_id, $object_type ) ) ), 0, (object) $args );
+ } elseif ( 'json' == $response_format ) {
+ $post_obj = get_term( $object_id, $object_type );
+ echo json_encode(
+ array(
+ 'ID' => $object_id,
+ 'post_title' => $post_obj->name,
+ 'post_type' => $object_type,
+ )
+ );
+ echo "\n";
+ }
+ }
+
+ }
+
+
+ } elseif ( preg_match('/quick-search-(posttype|taxonomy)-([a-zA-Z_-]*\b)/', $type, $matches) ) {
+ if ( 'posttype' == $matches[1] && get_post_type_object( $matches[2] ) ) {
+ query_posts(array(
+ 'posts_per_page' => 10,
+ 'post_type' => $matches[2],
+ 's' => $query,
+ ));
+ if ( ! have_posts() )
+ return;
+ while ( have_posts() ) {
+ the_post();
+ if ( 'markup' == $response_format ) {
+ echo walk_nav_menu_tree( array_map('wp_setup_nav_menu_item', array( get_post( get_the_ID() ) ) ), 0, (object) $args );
+ } elseif ( 'json' == $response_format ) {
+ echo json_encode(
+ array(
+ 'ID' => get_the_ID(),
+ 'post_title' => get_the_title(),
+ 'post_type' => get_post_type(),
+ )
+ );
+ echo "\n";
+ }
+ }
+ } elseif ( 'taxonomy' == $matches[1] ) {
+ $terms = get_terms( $matches[2], array(
+ 'name__like' => $query,
+ 'number' => 10,
+ ));
+ if ( empty( $terms ) || is_wp_error( $terms ) )
+ return;
+ foreach( (array) $terms as $term ) {
+ if ( 'markup' == $response_format ) {
+ echo walk_nav_menu_tree( array_map('wp_setup_nav_menu_item', array( $term ) ), 0, (object) $args );
+ } elseif ( 'json' == $response_format ) {
+ echo json_encode(
+ array(
+ 'ID' => $term->term_id,
+ 'post_title' => $term->name,
+ 'post_type' => $matches[2],
+ )
+ );
+ echo "\n";
+ }
+ }
+ }
+ }
+}
+
+/**
+ * Register nav menu metaboxes and advanced menu items
+ *
+ * @since 3.0.0
+ **/
+function wp_nav_menu_setup() {
+ // Register meta boxes
+ if ( wp_get_nav_menus() )
+ add_meta_box( 'nav-menu-theme-locations', __( 'Theme Locations' ), 'wp_nav_menu_locations_meta_box' , 'nav-menus', 'side', 'default' );
+ add_meta_box( 'add-custom-links', __('Custom Links'), 'wp_nav_menu_item_link_meta_box', 'nav-menus', 'side', 'default' );
+ wp_nav_menu_post_type_meta_boxes();
+ wp_nav_menu_taxonomy_meta_boxes();
+
+ // Register advanced menu items (columns)
+ add_filter( 'manage_nav-menus_columns', 'wp_nav_menu_manage_columns');
+
+ // If first time editing, disable advanced items by default.
+ if( false === get_user_option( 'managenav-menuscolumnshidden' ) ) {
+ $user = wp_get_current_user();
+ update_user_option($user->ID, 'managenav-menuscolumnshidden',
+ array( 0 => 'link-target', 1 => 'css-classes', 2 => 'xfn', 3 => 'description', ),
+ true);
+ }
+}
+
+/**
+ * Limit the amount of meta boxes to just links, pages and cats for first time users.
+ *
+ * @since 3.0.0
+ **/
+function wp_initial_nav_menu_meta_boxes() {
+ global $wp_meta_boxes;
+
+ if ( get_user_option( 'metaboxhidden_nav-menus' ) !== false || ! is_array($wp_meta_boxes) )
+ return;
+
+ $initial_meta_boxes = array( 'nav-menu-theme-locations', 'add-custom-links', 'add-page', 'add-category' );
+ $hidden_meta_boxes = array();
+
+ foreach ( array_keys($wp_meta_boxes['nav-menus']) as $context ) {
+ foreach ( array_keys($wp_meta_boxes['nav-menus'][$context]) as $priority ) {
+ foreach ( $wp_meta_boxes['nav-menus'][$context][$priority] as $box ) {
+ if ( in_array( $box['id'], $initial_meta_boxes ) ) {
+ unset( $box['id'] );
+ } else {
+ $hidden_meta_boxes[] = $box['id'];
+ }
+ }
+ }
+ }
+
+ $user = wp_get_current_user();
+ update_user_option( $user->ID, 'metaboxhidden_nav-menus', $hidden_meta_boxes, true );
+}
+
+/**
+ * Creates metaboxes for any post type menu item.
+ *
+ * @since 3.0.0
+ */
+function wp_nav_menu_post_type_meta_boxes() {
+ $post_types = get_post_types( array( 'show_in_nav_menus' => true ), 'object' );
+
+ if ( ! $post_types )
+ return;
+
+ foreach ( $post_types as $post_type ) {
+ $post_type = apply_filters( 'nav_menu_meta_box_object', $post_type );
+ if ( $post_type ) {
+ $id = $post_type->name;
+ add_meta_box( "add-{$id}", $post_type->labels->name, 'wp_nav_menu_item_post_type_meta_box', 'nav-menus', 'side', 'default', $post_type );
+ }
+ }
+}
+
+/**
+ * Creates metaboxes for any taxonomy menu item.
+ *
+ * @since 3.0.0
+ */
+function wp_nav_menu_taxonomy_meta_boxes() {
+ $taxonomies = get_taxonomies( array( 'show_in_nav_menus' => true ), 'object' );
+
+ if ( !$taxonomies )
+ return;
+
+ foreach ( $taxonomies as $tax ) {
+ $tax = apply_filters( 'nav_menu_meta_box_object', $tax );
+ if ( $tax ) {
+ $id = $tax->name;
+ add_meta_box( "add-{$id}", $tax->labels->name, 'wp_nav_menu_item_taxonomy_meta_box', 'nav-menus', 'side', 'default', $tax );
+ }
+ }
+}
+
+/**
+ * Displays a metabox for the nav menu theme locations.
+ *
+ * @since 3.0.0
+ */
+function wp_nav_menu_locations_meta_box() {
+ global $nav_menu_selected_id;
+
+ if ( ! current_theme_supports( 'menus' ) ) {
+ // We must only support widgets. Leave a message and bail.
+ echo '' . __('The current theme does not natively support menus, but you can use the “Custom Menu” widget to add any menus you create here to the theme’s sidebar.') . '
';
+ return;
+ }
+
+ $locations = get_registered_nav_menus();
+ $menus = wp_get_nav_menus();
+ $menu_locations = get_nav_menu_locations();
+ $num_locations = count( array_keys($locations) );
+
+ echo '' . sprintf( _n('Your theme supports %s menu. Select which menu you would like to use.', 'Your theme supports %s menus. Select which menu appears in each location.', $num_locations ), number_format_i18n($num_locations) ) . '
';
+
+ foreach ( $locations as $location => $description ) {
+ ?>
+
+
+
+
+
+
+ term_id ); ?>
+ value="term_id; ?>">name, 40 );
+ echo $truncated_name == $menu->name ? $menu->name : trim( $truncated_name ) . '…';
+ ?>
+
+
+
+
+
+
+
+ class="button-primary" name="nav-menu-locations" value="" />
+
+ $_nav_menu_placeholder ? $_nav_menu_placeholder - 1 : -1;
+
+ $current_tab = 'create';
+ if ( isset( $_REQUEST['customlink-tab'] ) && in_array( $_REQUEST['customlink-tab'], array('create', 'all') ) ) {
+ $current_tab = $_REQUEST['customlink-tab'];
+ }
+
+ $removed_args = array(
+ 'action',
+ 'customlink-tab',
+ 'edit-menu-item',
+ 'menu-item',
+ 'page-tab',
+ '_wpnonce',
+ );
+
+ ?>
+
+ name;
+
+ // paginate browsing for large numbers of post objects
+ $per_page = 50;
+ $pagenum = isset( $_REQUEST[$post_type_name . '-tab'] ) && isset( $_REQUEST['paged'] ) ? absint( $_REQUEST['paged'] ) : 1;
+ $offset = 0 < $pagenum ? $per_page * ( $pagenum - 1 ) : 0;
+
+ $args = array(
+ 'offset' => $offset,
+ 'order' => 'ASC',
+ 'orderby' => 'title',
+ 'posts_per_page' => $per_page,
+ 'post_type' => $post_type_name,
+ 'suppress_filters' => true,
+ 'update_post_term_cache' => false,
+ 'update_post_meta_cache' => false
+ );
+
+ if ( isset( $post_type['args']->_default_query ) )
+ $args = array_merge($args, (array) $post_type['args']->_default_query );
+
+ // @todo transient caching of these results with proper invalidation on updating of a post of this type
+ $get_posts = new WP_Query;
+ $posts = $get_posts->query( $args );
+ if ( ! $get_posts->post_count ) {
+ echo '' . __( 'No items.' ) . '
';
+ return;
+ }
+
+ $post_type_object = get_post_type_object($post_type_name);
+
+ $num_pages = $get_posts->max_num_pages;
+
+ $page_links = paginate_links( array(
+ 'base' => add_query_arg(
+ array(
+ $post_type_name . '-tab' => 'all',
+ 'paged' => '%#%',
+ 'item-type' => 'post_type',
+ 'item-object' => $post_type_name,
+ )
+ ),
+ 'format' => '',
+ 'prev_text' => __('«'),
+ 'next_text' => __('»'),
+ 'total' => $num_pages,
+ 'current' => $pagenum
+ ));
+
+ if ( !$posts )
+ $error = ' '. $post_type['args']->labels->not_found .' ';
+
+ $walker = new Walker_Nav_Menu_Checklist;
+
+ $current_tab = 'most-recent';
+ if ( isset( $_REQUEST[$post_type_name . '-tab'] ) && in_array( $_REQUEST[$post_type_name . '-tab'], array('all', 'search') ) ) {
+ $current_tab = $_REQUEST[$post_type_name . '-tab'];
+ }
+
+ if ( ! empty( $_REQUEST['quick-search-posttype-' . $post_type_name] ) ) {
+ $current_tab = 'search';
+ }
+
+ $removed_args = array(
+ 'action',
+ 'customlink-tab',
+ 'edit-menu-item',
+ 'menu-item',
+ 'page-tab',
+ '_wpnonce',
+ );
+
+ ?>
+
+
+
+
+
+ 'post_date', 'order' => 'DESC', 'showposts' => 15 ) );
+ $most_recent = $get_posts->query( $recent_args );
+ $args['walker'] = $walker;
+ echo walk_nav_menu_tree( array_map('wp_setup_nav_menu_item', $most_recent), 0, (object) $args );
+ ?>
+
+
+
+
+
+
+
+
+
+
+
+ _add_to_top = true;
+ $front_page_obj->label = sprintf( _x('Home: %s', 'nav menu front page title'), $front_page_obj->post_title );
+ array_unshift( $posts, $front_page_obj );
+ } else {
+ $_nav_menu_placeholder = ( 0 > $_nav_menu_placeholder ) ? intval($_nav_menu_placeholder) - 1 : -1;
+ array_unshift( $posts, (object) array(
+ '_add_to_top' => true,
+ 'ID' => 0,
+ 'object_id' => $_nav_menu_placeholder,
+ 'post_content' => '',
+ 'post_excerpt' => '',
+ 'post_title' => _x('Home', 'nav menu home label'),
+ 'post_type' => 'nav_menu_item',
+ 'type' => 'custom',
+ 'url' => home_url('/'),
+ ) );
+ }
+ }
+
+ $checkbox_items = walk_nav_menu_tree( array_map('wp_setup_nav_menu_item', $posts), 0, (object) $args );
+
+ if ( 'all' == $current_tab && ! empty( $_REQUEST['selectall'] ) ) {
+ $checkbox_items = preg_replace('/(type=(.)checkbox(\2))/', '$1 checked=$2checked$2', $checkbox_items);
+
+ }
+
+ echo $checkbox_items;
+ ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ name;
+
+ // paginate browsing for large numbers of objects
+ $per_page = 50;
+ $pagenum = isset( $_REQUEST[$taxonomy_name . '-tab'] ) && isset( $_REQUEST['paged'] ) ? absint( $_REQUEST['paged'] ) : 1;
+ $offset = 0 < $pagenum ? $per_page * ( $pagenum - 1 ) : 0;
+
+ $args = array(
+ 'child_of' => 0,
+ 'exclude' => '',
+ 'hide_empty' => false,
+ 'hierarchical' => 1,
+ 'include' => '',
+ 'include_last_update_time' => false,
+ 'number' => $per_page,
+ 'offset' => $offset,
+ 'order' => 'ASC',
+ 'orderby' => 'name',
+ 'pad_counts' => false,
+ );
+
+ $terms = get_terms( $taxonomy_name, $args );
+
+ if ( ! $terms || is_wp_error($terms) ) {
+ echo '' . __( 'No items.' ) . '
';
+ return;
+ }
+
+ $num_pages = ceil( wp_count_terms( $taxonomy_name , array_merge( $args, array('number' => '', 'offset' => '') ) ) / $per_page );
+
+ $page_links = paginate_links( array(
+ 'base' => add_query_arg(
+ array(
+ $taxonomy_name . '-tab' => 'all',
+ 'paged' => '%#%',
+ 'item-type' => 'taxonomy',
+ 'item-object' => $taxonomy_name,
+ )
+ ),
+ 'format' => '',
+ 'prev_text' => __('«'),
+ 'next_text' => __('»'),
+ 'total' => $num_pages,
+ 'current' => $pagenum
+ ));
+
+ $walker = new Walker_Nav_Menu_Checklist;
+
+ $current_tab = 'most-used';
+ if ( isset( $_REQUEST[$taxonomy_name . '-tab'] ) && in_array( $_REQUEST[$taxonomy_name . '-tab'], array('all', 'most-used', 'search') ) ) {
+ $current_tab = $_REQUEST[$taxonomy_name . '-tab'];
+ }
+
+ if ( ! empty( $_REQUEST['quick-search-taxonomy-' . $taxonomy_name] ) ) {
+ $current_tab = 'search';
+ }
+
+ $removed_args = array(
+ 'action',
+ 'customlink-tab',
+ 'edit-menu-item',
+ 'menu-item',
+ 'page-tab',
+ '_wpnonce',
+ );
+
+ ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $_item_object_data ) {
+ if (
+ empty( $_item_object_data['menu-item-object-id'] ) && // checkbox is not checked
+ (
+ ! isset( $_item_object_data['menu-item-type'] ) || // and item type either isn't set
+ in_array( $_item_object_data['menu-item-url'], array( 'http://', '' ) ) || // or URL is the default
+ ! ( 'custom' == $_item_object_data['menu-item-type'] && ! isset( $_item_object_data['menu-item-db-id'] ) ) || // or it's not a custom menu item (but not the custom home page)
+ ! empty( $_item_object_data['menu-item-db-id'] ) // or it *is* a custom menu item that already exists
+ )
+ ) {
+ continue; // then this potential menu item is not getting added to this menu
+ }
+
+ // if this possible menu item doesn't actually have a menu database ID yet
+ if (
+ empty( $_item_object_data['menu-item-db-id'] ) ||
+ ( 0 > $_possible_db_id ) ||
+ $_possible_db_id != $_item_object_data['menu-item-db-id']
+ ) {
+ $_actual_db_id = 0;
+ } else {
+ $_actual_db_id = (int) $_item_object_data['menu-item-db-id'];
+ }
+
+ $args = array(
+ 'menu-item-db-id' => ( isset( $_item_object_data['menu-item-db-id'] ) ? $_item_object_data['menu-item-db-id'] : '' ),
+ 'menu-item-object-id' => ( isset( $_item_object_data['menu-item-object-id'] ) ? $_item_object_data['menu-item-object-id'] : '' ),
+ 'menu-item-object' => ( isset( $_item_object_data['menu-item-object'] ) ? $_item_object_data['menu-item-object'] : '' ),
+ 'menu-item-parent-id' => ( isset( $_item_object_data['menu-item-parent-id'] ) ? $_item_object_data['menu-item-parent-id'] : '' ),
+ 'menu-item-position' => ( isset( $_item_object_data['menu-item-position'] ) ? $_item_object_data['menu-item-position'] : '' ),
+ 'menu-item-type' => ( isset( $_item_object_data['menu-item-type'] ) ? $_item_object_data['menu-item-type'] : '' ),
+ 'menu-item-title' => ( isset( $_item_object_data['menu-item-title'] ) ? $_item_object_data['menu-item-title'] : '' ),
+ 'menu-item-url' => ( isset( $_item_object_data['menu-item-url'] ) ? $_item_object_data['menu-item-url'] : '' ),
+ 'menu-item-description' => ( isset( $_item_object_data['menu-item-description'] ) ? $_item_object_data['menu-item-description'] : '' ),
+ 'menu-item-attr-title' => ( isset( $_item_object_data['menu-item-attr-title'] ) ? $_item_object_data['menu-item-attr-title'] : '' ),
+ 'menu-item-target' => ( isset( $_item_object_data['menu-item-target'] ) ? $_item_object_data['menu-item-target'] : '' ),
+ 'menu-item-classes' => ( isset( $_item_object_data['menu-item-classes'] ) ? $_item_object_data['menu-item-classes'] : '' ),
+ 'menu-item-xfn' => ( isset( $_item_object_data['menu-item-xfn'] ) ? $_item_object_data['menu-item-xfn'] : '' ),
+ );
+
+ $items_saved[] = wp_update_nav_menu_item( $menu_id, $_actual_db_id, $args );
+
+ }
+ }
+ return $items_saved;
+}
+
+/**
+ * Adds custom arguments to some of the meta box object types.
+ *
+ * @since 3.0.0
+ *
+ * @access private
+ *
+ * @param object $object The post type or taxonomy meta-object.
+ * @return object The post type of taxonomy object.
+ */
+function _wp_nav_menu_meta_box_object( $object = null ) {
+ if ( isset( $object->name ) ) {
+
+ if ( 'page' == $object->name ) {
+ $object->_default_query = array(
+ 'orderby' => 'menu_order title',
+ 'post_status' => 'publish',
+ );
+
+ // posts should show only published items
+ } elseif ( 'post' == $object->name ) {
+ $object->_default_query = array(
+ 'post_status' => 'publish',
+ );
+
+ // cats should be in reverse chronological order
+ } elseif ( 'category' == $object->name ) {
+ $object->_default_query = array(
+ 'orderby' => 'id',
+ 'order' => 'DESC',
+ );
+
+ // custom post types should show only published items
+ } else {
+ $object->_default_query = array(
+ 'post_status' => 'publish',
+ );
+ }
+ }
+
+ return $object;
+}
+
+/**
+ * Returns the menu formatted to edit.
+ *
+ * @since 3.0.0
+ *
+ * @param string $menu_id The ID of the menu to format.
+ * @return string|WP_Error $output The menu formatted to edit or error object on failure.
+ */
+function wp_get_nav_menu_to_edit( $menu_id = 0 ) {
+ $menu = wp_get_nav_menu_object( $menu_id );
+
+ // If the menu exists, get its items.
+ if ( is_nav_menu( $menu ) ) {
+ $menu_items = wp_get_nav_menu_items( $menu->term_id, array('post_status' => 'any') );
+ $result = '' : '">';
+ $result .= '
' . __('Select menu items (pages, categories, links) from the boxes at left to begin building your custom menu.') . '
';
+ $result .= '
';
+
+ if( empty($menu_items) )
+ return $result . ' ';
+
+ $walker_class_name = apply_filters( 'wp_edit_nav_menu_walker', 'Walker_Nav_Menu_Edit', $menu_id );
+
+ if ( class_exists( $walker_class_name ) )
+ $walker = new $walker_class_name;
+ else
+ return new WP_Error( 'menu_walker_not_exist', sprintf( __('The Walker class named %s does not exist.'), $walker_class_name ) );
+
+ $some_pending_menu_items = false;
+ foreach( (array) $menu_items as $menu_item ) {
+ if ( isset( $menu_item->post_status ) && 'draft' == $menu_item->post_status )
+ $some_pending_menu_items = true;
+ }
+
+ if ( $some_pending_menu_items )
+ $result .= '' . __('Click Save Menu to make pending menu items public.') . '
';
+
+ $result .= ' ';
+ return $result;
+ } elseif ( is_wp_error( $menu ) ) {
+ return $menu;
+ }
+
+
+}
+
+/**
+ * Returns the columns for the nav menus page.
+ *
+ * @since 3.0.0
+ *
+ * @param string $menu_item_id The ID of the menu item to format.
+ * @return string|WP_Error $output The menu formatted to edit or error object on failure.
+ */
+function wp_nav_menu_manage_columns() {
+ return array(
+ '_title' => __('Show advanced menu properties'),
+ 'cb' => ' ',
+ 'link-target' => __('Link Target'),
+ 'css-classes' => __('CSS Classes'),
+ 'xfn' => __('Link Relationship (XFN)'),
+ 'description' => __('Description'),
+ );
+}
+
+/**
+ * Deletes orphaned draft menu items
+ *
+ * @access private
+ * @since 3.0.0
+ *
+ */
+function _wp_delete_orphaned_draft_menu_items() {
+ global $wpdb;
+ $delete_timestamp = time() - (60*60*24*EMPTY_TRASH_DAYS);
+
+ // delete orphaned draft menu items
+ $menu_items_to_delete = $wpdb->get_col($wpdb->prepare("SELECT ID FROM $wpdb->posts AS p LEFT JOIN $wpdb->postmeta AS m ON p.ID = m.post_id WHERE post_type = 'nav_menu_item' AND post_status = 'draft' AND meta_key = '_menu_item_orphaned' AND meta_value < '%d'", $delete_timestamp ) );
+
+ foreach( (array) $menu_items_to_delete as $menu_item_id )
+ wp_delete_post( $menu_item_id, true );
+}
+
+add_action('admin_head-nav-menus.php', '_wp_delete_orphaned_draft_menu_items');
+
+?>
diff --git a/wp-admin/includes/plugin-install.php b/wp-admin/includes/plugin-install.php
index f81ecc82..f348e609 100644
--- a/wp-admin/includes/plugin-install.php
+++ b/wp-admin/includes/plugin-install.php
@@ -24,27 +24,30 @@
*
* @param string $action
* @param array|object $args Optional. Arguments to serialize for the Plugin Info API.
- * @return mixed
+ * @return object plugins_api response object on success, WP_Error on failure.
*/
function plugins_api($action, $args = null) {
- if( is_array($args) )
+ if ( is_array($args) )
$args = (object)$args;
if ( !isset($args->per_page) )
$args->per_page = 24;
- $args = apply_filters('plugins_api_args', $args, $action); //NOTE: Ensure that an object is returned via this filter.
- $res = apply_filters('plugins_api', false, $action, $args); //NOTE: Allows a plugin to completely override the builtin WordPress.org API.
+ // Allows a plugin to override the WordPress.org API entirely.
+ // Use the filter 'plugins_api_result' to mearly add results.
+ // Please ensure that a object is returned from the following filters.
+ $args = apply_filters('plugins_api_args', $args, $action);
+ $res = apply_filters('plugins_api', false, $action, $args);
- if ( ! $res ) {
- $request = wp_remote_post('http://api.wordpress.org/plugins/info/1.0/', array( 'body' => array('action' => $action, 'request' => serialize($args))) );
+ if ( false === $res ) {
+ $request = wp_remote_post('http://api.wordpress.org/plugins/info/1.0/', array( 'timeout' => 15, 'body' => array('action' => $action, 'request' => serialize($args))) );
if ( is_wp_error($request) ) {
- $res = new WP_Error('plugins_api_failed', __('An Unexpected HTTP Error occurred during the API request. Try again '), $request->get_error_message() );
+ $res = new WP_Error('plugins_api_failed', __('An Unexpected HTTP Error occurred during the API request.'), $request->get_error_message() );
} else {
$res = unserialize($request['body']);
- if ( ! $res )
- $res = new WP_Error('plugins_api_failed', __('An unknown error occurred'), $request['body']);
+ if ( false === $res )
+ $res = new WP_Error('plugins_api_failed', __('An unknown error occurred.'), $request['body']);
}
} elseif ( !is_wp_error($res) ) {
$res->external = true;
@@ -136,16 +139,20 @@ function install_dashboard() {
$api_tags = install_popular_tags();
- //Set up the tags in a way which can be interprated by wp_generate_tag_cloud()
- $tags = array();
- foreach ( (array)$api_tags as $tag )
- $tags[ $tag['name'] ] = (object) array(
- 'link' => esc_url( admin_url('plugin-install.php?tab=search&type=tag&s=' . urlencode($tag['name'])) ),
- 'name' => $tag['name'],
- 'id' => sanitize_title_with_dashes($tag['name']),
- 'count' => $tag['count'] );
echo '
';
- echo wp_generate_tag_cloud($tags, array( 'single_text' => __('%d plugin'), 'multiple_text' => __('%d plugins') ) );
+ if ( is_wp_error($api_tags) ) {
+ echo $api_tags->get_error_message();
+ } else {
+ //Set up the tags in a way which can be interprated by wp_generate_tag_cloud()
+ $tags = array();
+ foreach ( (array)$api_tags as $tag )
+ $tags[ $tag['name'] ] = (object) array(
+ 'link' => esc_url( admin_url('plugin-install.php?tab=search&type=tag&s=' . urlencode($tag['name'])) ),
+ 'name' => $tag['name'],
+ 'id' => sanitize_title_with_dashes($tag['name']),
+ 'count' => $tag['count'] );
+ echo wp_generate_tag_cloud($tags, array( 'single_text' => __('%d plugin'), 'multiple_text' => __('%d plugins') ) );
+ }
echo '
';
}
@@ -162,7 +169,7 @@ function install_search_form(){
>
>
- >
+ >
@@ -182,7 +189,7 @@ function install_featured($page = 1) {
$args = array('browse' => 'featured', 'page' => $page);
$api = plugins_api('query_plugins', $args);
if ( is_wp_error($api) )
- wp_die($api);
+ wp_die($api->get_error_message() . ' ' . __('Try again') . ' ');
display_plugins_table($api->plugins, $api->info['page'], $api->info['pages']);
}
@@ -197,6 +204,8 @@ add_action('install_plugins_popular', 'install_popular', 10, 1);
function install_popular($page = 1) {
$args = array('browse' => 'popular', 'page' => $page);
$api = plugins_api('query_plugins', $args);
+ if ( is_wp_error($api) )
+ wp_die($api->get_error_message() . '
' . __('Try again') . ' ');
display_plugins_table($api->plugins, $api->info['page'], $api->info['pages']);
}
@@ -210,7 +219,7 @@ add_action('install_plugins_upload', 'install_plugins_upload', 10, 1);
function install_plugins_upload( $page = 1 ) {
?>
-
+
@@ -232,7 +241,7 @@ function install_new($page = 1) {
$args = array('browse' => 'new', 'page' => $page);
$api = plugins_api('query_plugins', $args);
if ( is_wp_error($api) )
- wp_die($api);
+ wp_die($api->get_error_message() . ' ' . __('Try again') . ' ');
display_plugins_table($api->plugins, $api->info['page'], $api->info['pages']);
}
add_action('install_plugins_updated', 'install_updated', 10, 1);
@@ -248,6 +257,8 @@ add_action('install_plugins_updated', 'install_updated', 10, 1);
function install_updated($page = 1) {
$args = array('browse' => 'updated', 'page' => $page);
$api = plugins_api('query_plugins', $args);
+ if ( is_wp_error($api) )
+ wp_die($api->get_error_message() . '
' . __('Try again') . ' ');
display_plugins_table($api->plugins, $api->info['page'], $api->info['pages']);
}
@@ -302,7 +313,6 @@ function display_plugins_table($plugins, $page = 1, $totalpages = 1){
-
@@ -312,16 +322,15 @@ function display_plugins_table($plugins, $page = 1, $totalpages = 1){
-
', __('No plugins match your request.'), ' ';
- foreach( (array) $plugins as $plugin ){
+ foreach ( (array) $plugins as $plugin ){
if ( is_object($plugin) )
$plugin = (array) $plugin;
@@ -342,23 +351,41 @@ function display_plugins_table($plugins, $page = 1, $totalpages = 1){
$name = strip_tags($title . ' ' . $version);
$author = $plugin['author'];
- if( ! empty($plugin['author']) )
+ if ( ! empty($plugin['author']) )
$author = ' ' . sprintf( __('By %s'), $author ) . '. ';
$author = wp_kses($author, $plugins_allowedtags);
- if( isset($plugin['homepage']) )
- $title = '' . $title . ' ';
-
$action_links = array();
$action_links[] = '' . __('Install') . ' ';
+ '&TB_iframe=true&width=600&height=550') . '" class="thickbox" title="' .
+ esc_attr( sprintf( __( 'More information about %s' ), $name ) ) . '">' . __('Details') . '';
+
+ if ( current_user_can('install_plugins') || current_user_can('update_plugins') ) {
+ $status = install_plugin_install_status($plugin);
+
+ switch ( $status['status'] ) {
+ case 'install':
+ if ( $status['url'] )
+ $action_links[] = '' . __('Install Now') . ' ';
+ break;
+ case 'update_available':
+ if ( $status['url'] )
+ $action_links[] = '' . sprintf( __('Update Now'), $status['version'] ) . ' ';
+ break;
+ case 'latest_installed':
+ case 'newer_installed':
+ $action_links[] = '' . __('Installed') . ' ';
+ break;
+ }
+ }
- $action_links = apply_filters('plugin_install_action_links', $action_links, $plugin);
+ $action_links = apply_filters( 'plugin_install_action_links', $action_links, $plugin );
?>
-
+
+
+
@@ -371,7 +398,6 @@ function display_plugins_table($plugins, $page = 1, $totalpages = 1){
-
response as $file => $plugin ) {
+ if ( $plugin->slug === $api->slug ) {
+ $status = 'update_available';
+ $update_file = $file;
+ $version = $plugin->new_version;
+ if ( current_user_can('update_plugins') )
+ $url = wp_nonce_url(admin_url('update.php?action=upgrade-plugin&plugin=' . $update_file), 'upgrade-plugin_' . $update_file);
+ break;
+ }
+ }
+ }
+
+ if ( 'install' == $status ) {
+ if ( is_dir( WP_PLUGIN_DIR . '/' . $api->slug ) ) {
+ $installed_plugin = get_plugins('/' . $api->slug);
+ if ( empty($installed_plugin) ) {
+ if ( current_user_can('install_plugins') )
+ $url = wp_nonce_url(admin_url('update.php?action=install-plugin&plugin=' . $api->slug), 'install-plugin_' . $api->slug);
+ } else {
+ $key = array_shift( $key = array_keys($installed_plugin) ); //Use the first plugin regardless of the name, Could have issues for multiple-plugins in one directory if they share different version numbers
+ if ( version_compare($api->version, $installed_plugin[ $key ]['Version'], '=') ){
+ $status = 'latest_installed';
+ } elseif ( version_compare($api->version, $installed_plugin[ $key ]['Version'], '<') ) {
+ $status = 'newer_installed';
+ $version = $installed_plugin[ $key ]['Version'];
+ } else {
+ //If the above update check failed, Then that probably means that the update checker has out-of-date information, force a refresh
+ if ( ! $loop ) {
+ delete_site_transient('update_plugins');
+ wp_update_plugins();
+ return install_plugin_install_status($api, true);
+ }
+ }
+ }
+ } else {
+ // "install" & no directory with that slug
+ if ( current_user_can('install_plugins') )
+ $url = wp_nonce_url(admin_url('update.php?action=install-plugin&plugin=' . $api->slug), 'install-plugin_' . $api->slug);
+ }
+ }
+ if ( isset($_GET['from']) )
+ $url .= '&from=' . urlencode(stripslashes($_GET['from']));
+
+ return compact('status', 'url', 'version');
+}
+
/**
* Display plugin information in dialog box form.
*
@@ -416,7 +505,7 @@ function install_plugin_information() {
$api->$key = wp_kses($api->$key, $plugins_allowedtags);
$section = isset($_REQUEST['section']) ? stripslashes( $_REQUEST['section'] ) : 'description'; //Default to the Description tab, Do not translate, API returns English.
- if( empty($section) || ! isset($api->sections[ $section ]) )
+ if ( empty($section) || ! isset($api->sections[ $section ]) )
$section = array_shift( $section_titles = array_keys((array)$api->sections) );
iframe_header( __('Plugin Install') );
@@ -437,66 +526,30 @@ function install_plugin_information() {
echo "\n";
?>
- download_link) ) : ?>
+ download_link) && ( current_user_can('install_plugins') || current_user_can('update_plugins') ) ) : ?>
response as $file => $plugin ) {
- if ( $plugin->slug === $api->slug ) {
- $type = 'update_available';
- $update_file = $file;
- break;
- }
- }
- }
- if ( 'install' == $type && is_dir( WP_PLUGIN_DIR . '/' . $api->slug ) ) {
- $installed_plugin = get_plugins('/' . $api->slug);
- if ( ! empty($installed_plugin) ) {
- $key = array_shift( $key = array_keys($installed_plugin) ); //Use the first plugin regardless of the name, Could have issues for multiple-plugins in one directory if they share different version numbers
- if ( version_compare($api->version, $installed_plugin[ $key ]['Version'], '=') ){
- $type = 'latest_installed';
- } elseif ( version_compare($api->version, $installed_plugin[ $key ]['Version'], '<') ) {
- $type = 'newer_installed';
- $newer_version = $installed_plugin[ $key ]['Version'];
- } else {
- //If the above update check failed, Then that probably means that the update checker has out-of-date information, force a refresh
- delete_transient('update_plugins');
- $update_file = $api->slug . '/' . $key; //This code branch only deals with a plugin which is in a folder the same name as its slug, Doesnt support plugins which have 'non-standard' names
- $type = 'update_available';
- }
- }
- }
-
- switch ( $type ) :
- default:
- case 'install':
- if ( current_user_can('install_plugins') ) :
- ?> ' . __('Install Now') . '';
break;
- case 'update_available':
- if ( current_user_can('update_plugins') ) :
- ?> ' . __('Install Update Now') .'';
break;
- case 'newer_installed':
- if ( current_user_can('install_plugins') || current_user_can('update_plugins') ) :
- ?> ' . sprintf(__('Newer Version (%s) Installed'), $status['version']) . '';
break;
- case 'latest_installed':
- if ( current_user_can('install_plugins') || current_user_can('update_plugins') ) :
- ?> ' . __('Latest Version Installed') . '';
break;
- endswitch; ?>
+ }
+ ?>
-
+
version) ) : ?>
version ?>
diff --git a/wp-admin/includes/plugin.php b/wp-admin/includes/plugin.php
index b09f6102..2ff21f8c 100644
--- a/wp-admin/includes/plugin.php
+++ b/wp-admin/includes/plugin.php
@@ -29,6 +29,9 @@
* located in the locale folder then Domain Path will be "/locale/" and
* must have the first slash. Defaults to the base folder the plugin is
* located in.
+ * Network: Optional. Specify "Network: true" to require that a plugin is activated
+ * across all sites in an installation. This will prevent a plugin from being
+ * activated on a single site when Multisite is enabled.
* * / # Remove the space to close comment
*
*
@@ -43,6 +46,7 @@
* 'PluginURI' - Plugin web site address.
* 'TextDomain' - Plugin's text domain for localization.
* 'DomainPath' - Plugin's relative directory path to .mo files.
+ * 'Network' - Boolean. Whether the plugin can only be activated network wide.
*
* Some users have issues with opening large files and manipulating the contents
* for want is usually the first 1kiB or 2kiB. This function stops pulling in
@@ -67,19 +71,30 @@
*/
function get_plugin_data( $plugin_file, $markup = true, $translate = true ) {
- $default_headers = array(
- 'Name' => 'Plugin Name',
- 'PluginURI' => 'Plugin URI',
- 'Version' => 'Version',
- 'Description' => 'Description',
- 'Author' => 'Author',
- 'AuthorURI' => 'Author URI',
- 'TextDomain' => 'Text Domain',
- 'DomainPath' => 'Domain Path'
- );
+ $default_headers = array(
+ 'Name' => 'Plugin Name',
+ 'PluginURI' => 'Plugin URI',
+ 'Version' => 'Version',
+ 'Description' => 'Description',
+ 'Author' => 'Author',
+ 'AuthorURI' => 'Author URI',
+ 'TextDomain' => 'Text Domain',
+ 'DomainPath' => 'Domain Path',
+ 'Network' => 'Network',
+ // Site Wide Only is deprecated in favor of Network.
+ '_sitewide' => 'Site Wide Only',
+ );
$plugin_data = get_file_data( $plugin_file, $default_headers, 'plugin' );
+ // Site Wide Only is the old header for Network
+ if ( empty( $plugin_data['Network'] ) && ! empty( $plugin_data['_sitewide'] ) ) {
+ _deprecated_argument( __FUNCTION__, '3.0', sprintf( __( 'The %1$s
plugin header is deprecated. Use %2$s
instead.' ), 'Site Wide Only: true', 'Network: true' ) );
+ $plugin_data['Network'] = $plugin_data['_sitewide'];
+ }
+ $plugin_data['Network'] = ( 'true' == strtolower( $plugin_data['Network'] ) );
+ unset( $plugin_data['_sitewide'] );
+
//For backward compatibility by default Title is the same as Name.
$plugin_data['Title'] = $plugin_data['Name'];
@@ -91,9 +106,9 @@ function get_plugin_data( $plugin_file, $markup = true, $translate = true ) {
function _get_plugin_data_markup_translate($plugin_file, $plugin_data, $markup = true, $translate = true) {
- //Translate fields
- if( $translate && ! empty($plugin_data['TextDomain']) ) {
- if( ! empty( $plugin_data['DomainPath'] ) )
+ //Translate fields30
+ if ( $translate && ! empty($plugin_data['TextDomain']) ) {
+ if ( ! empty( $plugin_data['DomainPath'] ) )
load_plugin_textdomain($plugin_data['TextDomain'], false, dirname($plugin_file). $plugin_data['DomainPath']);
else
load_plugin_textdomain($plugin_data['TextDomain'], false, dirname($plugin_file));
@@ -113,7 +128,7 @@ function _get_plugin_data_markup_translate($plugin_file, $plugin_data, $markup =
$plugin_data['Author'] = '' . $plugin_data['Author'] . ' ';
$plugin_data['Description'] = wptexturize( $plugin_data['Description'] );
- if( ! empty($plugin_data['Author']) )
+ if ( ! empty($plugin_data['Author']) )
$plugin_data['Description'] .= ' ' . sprintf( __('By %s'), $plugin_data['Author'] ) . '. ';
}
@@ -198,7 +213,7 @@ function get_plugins($plugin_folder = '') {
$wp_plugins = array ();
$plugin_root = WP_PLUGIN_DIR;
- if( !empty($plugin_folder) )
+ if ( !empty($plugin_folder) )
$plugin_root .= $plugin_folder;
// Files in wp-content/plugins directory
@@ -223,11 +238,14 @@ function get_plugins($plugin_folder = '') {
$plugin_files[] = $file;
}
}
+ } else {
+ return $wp_plugins;
}
+
@closedir( $plugins_dir );
@closedir( $plugins_subdir );
- if ( !$plugins_dir || empty($plugin_files) )
+ if ( empty($plugin_files) )
return $wp_plugins;
foreach ( $plugin_files as $plugin_file ) {
@@ -250,6 +268,126 @@ function get_plugins($plugin_folder = '') {
return $wp_plugins;
}
+/**
+ * Check the mu-plugins directory and retrieve all mu-plugin files with any plugin data.
+ *
+ * WordPress only includes mu-plugin files in the base mu-plugins directory (wp-content/mu-plugins).
+ *
+ * @since 3.0.0
+ * @return array Key is the mu-plugin file path and the value is an array of the mu-plugin data.
+ */
+function get_mu_plugins() {
+ $wp_plugins = array();
+ // Files in wp-content/mu-plugins directory
+ $plugin_files = array();
+
+ if ( ! is_dir( WPMU_PLUGIN_DIR ) )
+ return $wp_plugins;
+ if ( $plugins_dir = @ opendir( WPMU_PLUGIN_DIR ) ) {
+ while ( ( $file = readdir( $plugins_dir ) ) !== false ) {
+ if ( substr( $file, -4 ) == '.php' )
+ $plugin_files[] = $file;
+ }
+ } else {
+ return $wp_plugins;
+ }
+
+ @closedir( $plugins_dir );
+
+ if ( empty($plugin_files) )
+ return $wp_plugins;
+
+ foreach ( $plugin_files as $plugin_file ) {
+ if ( !is_readable( WPMU_PLUGIN_DIR . "/$plugin_file" ) )
+ continue;
+
+ $plugin_data = get_plugin_data( WPMU_PLUGIN_DIR . "/$plugin_file", false, false ); //Do not apply markup/translate as it'll be cached.
+
+ if ( empty ( $plugin_data['Name'] ) )
+ $plugin_data['Name'] = $plugin_file;
+
+ $wp_plugins[ $plugin_file ] = $plugin_data;
+ }
+
+ if ( isset( $wp_plugins['index.php'] ) && filesize( WPMU_PLUGIN_DIR . '/index.php') <= 30 ) // silence is golden
+ unset( $wp_plugins['index.php'] );
+
+ uasort( $wp_plugins, create_function( '$a, $b', 'return strnatcasecmp( $a["Name"], $b["Name"] );' ));
+
+ return $wp_plugins;
+}
+
+/**
+ * Check the wp-content directory and retrieve all drop-ins with any plugin data.
+ *
+ * @since 3.0.0
+ * @return array Key is the file path and the value is an array of the plugin data.
+ */
+function get_dropins() {
+ $dropins = array();
+ $plugin_files = array();
+
+ $_dropins = _get_dropins();
+
+ // These exist in the wp-content directory
+ if ( $plugins_dir = @ opendir( WP_CONTENT_DIR ) ) {
+ while ( ( $file = readdir( $plugins_dir ) ) !== false ) {
+ if ( isset( $_dropins[ $file ] ) )
+ $plugin_files[] = $file;
+ }
+ } else {
+ return $dropins;
+ }
+
+ @closedir( $plugins_dir );
+
+ if ( empty($plugin_files) )
+ return $dropins;
+
+ foreach ( $plugin_files as $plugin_file ) {
+ if ( !is_readable( WP_CONTENT_DIR . "/$plugin_file" ) )
+ continue;
+ $plugin_data = get_plugin_data( WP_CONTENT_DIR . "/$plugin_file", false, false ); //Do not apply markup/translate as it'll be cached.
+ if ( empty( $plugin_data['Name'] ) )
+ $plugin_data['Name'] = $plugin_file;
+ $dropins[ $plugin_file ] = $plugin_data;
+ }
+
+ uksort( $dropins, create_function( '$a, $b', 'return strnatcasecmp( $a, $b );' ));
+
+ return $dropins;
+}
+
+/**
+ * Returns drop-ins that WordPress uses.
+ *
+ * Includes Multisite drop-ins only when is_multisite()
+ *
+ * @since 3.0.0
+ * @return array Key is file name. The value is an array, with the first value the
+ * purpose of the drop-in and the second value the name of the constant that must be
+ * true for the drop-in to be used, or true if no constant is required.
+ */
+function _get_dropins() {
+ $dropins = array(
+ 'advanced-cache.php' => array( __( 'Advanced caching plugin.' ), 'WP_CACHE' ), // WP_CACHE
+ 'db.php' => array( __( 'Custom database class.' ), true ), // auto on load
+ 'db-error.php' => array( __( 'Custom database error message.' ), true ), // auto on error
+ 'install.php' => array( __( 'Custom install script.' ), true ), // auto on install
+ 'maintenance.php' => array( __( 'Custom maintenance message.' ), true ), // auto on maintenance
+ 'object-cache.php' => array( __( 'External object cache.' ), true ), // auto on load
+ );
+
+ if ( is_multisite() ) {
+ $dropins['sunrise.php' ] = array( __( 'Executed before Multisite is loaded.' ), 'SUNRISE' ); // SUNRISE
+ $dropins['blog-deleted.php' ] = array( __( 'Custom site deleted message.' ), true ); // auto on deleted blog
+ $dropins['blog-inactive.php' ] = array( __( 'Custom site inactive message.' ), true ); // auto on inactive blog
+ $dropins['blog-suspended.php'] = array( __( 'Custom site suspended message.' ), true ); // auto on archived or spammed blog
+ }
+
+ return $dropins;
+}
+
/**
* Check whether the plugin is active by checking the active_plugins list.
*
@@ -258,8 +396,46 @@ function get_plugins($plugin_folder = '') {
* @param string $plugin Base plugin path from plugins directory.
* @return bool True, if in the active plugins list. False, not in the list.
*/
-function is_plugin_active($plugin) {
- return in_array( $plugin, apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) );
+function is_plugin_active( $plugin ) {
+ return in_array( $plugin, (array) get_option( 'active_plugins', array() ) ) || is_plugin_active_for_network( $plugin );
+}
+
+/**
+ * Check whether the plugin is active for the entire network.
+ *
+ * @since 3.0.0
+ *
+ * @param string $plugin Base plugin path from plugins directory.
+ * @return bool True, if active for the network, otherwise false.
+ */
+function is_plugin_active_for_network( $plugin ) {
+ if ( !is_multisite() )
+ return false;
+
+ $plugins = get_site_option( 'active_sitewide_plugins');
+ if ( isset($plugins[$plugin]) )
+ return true;
+
+ return false;
+}
+
+/**
+ * Checks for "Network: true" in the plugin header to see if this should
+ * be activated only as a network wide plugin. The plugin would also work
+ * when Multisite is not enabled.
+ *
+ * Checks for "Site Wide Only: true" for backwards compatibility.
+ *
+ * @since 3.0.0
+ *
+ * @param $file Plugin to check
+ * $return bool True if plugin is network only, false otherwise.
+ */
+function is_network_only_plugin( $plugin ) {
+ $plugin_data = get_plugin_data( WP_PLUGIN_DIR . '/' . $plugin );
+ if ( $plugin_data )
+ return $plugin_data['Network'];
+ return false;
}
/**
@@ -284,11 +460,18 @@ function is_plugin_active($plugin) {
*
* @param string $plugin Plugin path to main plugin file with plugin data.
* @param string $redirect Optional. URL to redirect to.
+ * @param bool $network_wide Whether to enable the plugin for all sites in the network or just the current site. Multisite only. Default is false.
* @return WP_Error|null WP_Error on invalid file or null on success.
*/
-function activate_plugin($plugin, $redirect = '') {
- $current = get_option('active_plugins');
- $plugin = plugin_basename(trim($plugin));
+function activate_plugin( $plugin, $redirect = '', $network_wide = false) {
+ $plugin = plugin_basename( trim( $plugin ) );
+
+ if ( is_multisite() && ( $network_wide || is_network_only_plugin($plugin) ) ) {
+ $network_wide = true;
+ $current = get_site_option( 'active_sitewide_plugins', array() );
+ } else {
+ $current = get_option( 'active_plugins', array() );
+ }
$valid = validate_plugin($plugin);
if ( is_wp_error($valid) )
@@ -298,13 +481,22 @@ function activate_plugin($plugin, $redirect = '') {
if ( !empty($redirect) )
wp_redirect(add_query_arg('_error_nonce', wp_create_nonce('plugin-activation-error_' . $plugin), $redirect)); // we'll override this later if the plugin can be included without fatal error
ob_start();
- @include(WP_PLUGIN_DIR . '/' . $plugin);
- $current[] = $plugin;
- sort($current);
+ include(WP_PLUGIN_DIR . '/' . $plugin);
do_action( 'activate_plugin', trim( $plugin) );
- update_option('active_plugins', $current);
+ if ( $network_wide ) {
+ $current[$plugin] = time();
+ update_site_option( 'active_sitewide_plugins', $current );
+ } else {
+ $current[] = $plugin;
+ sort($current);
+ update_option('active_plugins', $current);
+ }
do_action( 'activate_' . trim( $plugin ) );
do_action( 'activated_plugin', trim( $plugin) );
+ if ( ob_get_length() > 0 ) {
+ $output = ob_get_clean();
+ return new WP_Error('unexpected_output', __('The plugin generated unexpected output.'), $output);
+ }
ob_end_clean();
}
@@ -322,23 +514,30 @@ function activate_plugin($plugin, $redirect = '') {
* @param string|array $plugins Single plugin or list of plugins to deactivate.
* @param bool $silent Optional, default is false. Prevent calling deactivate hook.
*/
-function deactivate_plugins($plugins, $silent= false) {
- $current = get_option('active_plugins');
+function deactivate_plugins( $plugins, $silent = false ) {
+ $network_current = get_site_option( 'active_sitewide_plugins', array() );
+ $current = get_option( 'active_plugins', array() );
+ $do_blog = $do_network = false;
- if ( !is_array($plugins) )
- $plugins = array($plugins);
-
- foreach ( $plugins as $plugin ) {
+ foreach ( (array) $plugins as $plugin ) {
$plugin = plugin_basename($plugin);
- if( ! is_plugin_active($plugin) )
+ if ( ! is_plugin_active($plugin) )
continue;
if ( ! $silent )
do_action( 'deactivate_plugin', trim( $plugin ) );
- $key = array_search( $plugin, (array) $current );
-
- if ( false !== $key )
- array_splice( $current, $key, 1 );
+ if ( is_plugin_active_for_network($plugin) ) {
+ // Deactivate network wide
+ $do_network = true;
+ unset( $network_current[ $plugin ] );
+ } else {
+ // Deactivate for this blog only
+ $key = array_search( $plugin, (array) $current );
+ if ( false !== $key ) {
+ $do_blog = true;
+ array_splice( $current, $key, 1 );
+ }
+ }
//Used by Plugin updater to internally deactivate plugin, however, not to notify plugins of the fact to prevent plugin output.
if ( ! $silent ) {
@@ -347,7 +546,10 @@ function deactivate_plugins($plugins, $silent= false) {
}
}
- update_option('active_plugins', $current);
+ if ( $do_blog )
+ update_option('active_plugins', $current);
+ if ( $do_network )
+ update_site_option( 'active_sitewide_plugins', $network_current );
}
/**
@@ -362,9 +564,10 @@ function deactivate_plugins($plugins, $silent= false) {
*
* @param string|array $plugins
* @param string $redirect Redirect to page after successful activation.
+ * @param bool $network_wide Whether to enable the plugin for all sites in the network.
* @return bool|WP_Error True when finished or WP_Error if there were errors during a plugin activation.
*/
-function activate_plugins($plugins, $redirect = '') {
+function activate_plugins($plugins, $redirect = '', $network_wide) {
if ( !is_array($plugins) )
$plugins = array($plugins);
@@ -372,7 +575,7 @@ function activate_plugins($plugins, $redirect = '') {
foreach ( (array) $plugins as $plugin ) {
if ( !empty($redirect) )
$redirect = add_query_arg('plugin', $plugin, $redirect);
- $result = activate_plugin($plugin, $redirect);
+ $result = activate_plugin($plugin, $redirect, $network_wide);
if ( is_wp_error($result) )
$errors[$plugin] = $result;
}
@@ -398,7 +601,7 @@ function activate_plugins($plugins, $redirect = '') {
function delete_plugins($plugins, $redirect = '' ) {
global $wp_filesystem;
- if( empty($plugins) )
+ if ( empty($plugins) )
return false;
$checked = array();
@@ -410,7 +613,7 @@ function delete_plugins($plugins, $redirect = '' ) {
if ( false === ($credentials = request_filesystem_credentials($url)) ) {
$data = ob_get_contents();
ob_end_clean();
- if( ! empty($data) ){
+ if ( ! empty($data) ){
include_once( ABSPATH . 'wp-admin/admin-header.php');
echo $data;
include( ABSPATH . 'wp-admin/admin-footer.php');
@@ -423,7 +626,7 @@ function delete_plugins($plugins, $redirect = '' ) {
request_filesystem_credentials($url, '', true); //Failed to connect, Error and request again
$data = ob_get_contents();
ob_end_clean();
- if( ! empty($data) ){
+ if ( ! empty($data) ){
include_once( ABSPATH . 'wp-admin/admin-header.php');
echo $data;
include( ABSPATH . 'wp-admin/admin-footer.php');
@@ -436,7 +639,7 @@ function delete_plugins($plugins, $redirect = '' ) {
return new WP_Error('fs_unavailable', __('Could not access filesystem.'));
if ( is_wp_error($wp_filesystem->errors) && $wp_filesystem->errors->get_error_code() )
- return new WP_Error('fs_error', __('Filesystem error'), $wp_filesystem->errors);
+ return new WP_Error('fs_error', __('Filesystem error.'), $wp_filesystem->errors);
//Get the base plugin folder
$plugins_dir = $wp_filesystem->wp_plugins_dir();
@@ -464,37 +667,50 @@ function delete_plugins($plugins, $redirect = '' ) {
}
if ( ! empty($errors) )
- return new WP_Error('could_not_remove_plugin', sprintf(__('Could not fully remove the plugin(s) %s'), implode(', ', $errors)) );
+ return new WP_Error('could_not_remove_plugin', sprintf(__('Could not fully remove the plugin(s) %s.'), implode(', ', $errors)) );
// Force refresh of plugin update information
- if ( $current = get_transient('update_plugins') ) {
+ if ( $current = get_site_transient('update_plugins') ) {
unset( $current->response[ $plugin_file ] );
- set_transient('update_plugins', $current);
+ set_site_transient('update_plugins', $current);
}
return true;
}
+/**
+ * Validate active plugins
+ *
+ * Validate all active plugins, deactivates invalid and
+ * returns an array of deactivated ones.
+ *
+ * @since unknown
+ * @return array invalid plugins, plugin as key, error as value
+ */
function validate_active_plugins() {
- $check_plugins = apply_filters( 'active_plugins', get_option('active_plugins') );
+ $plugins = get_option( 'active_plugins', array() );
+ // validate vartype: array
+ if ( ! is_array( $plugins ) ) {
+ update_option( 'active_plugins', array() );
+ $plugins = array();
+ }
- // Sanity check. If the active plugin list is not an array, make it an
- // empty array.
- if ( !is_array($check_plugins) ) {
- update_option('active_plugins', array());
- return;
+ if ( is_multisite() && is_super_admin() ) {
+ $network_plugins = (array) get_site_option( 'active_sitewide_plugins', array() );
+ $plugins = array_merge( $plugins, array_keys( $network_plugins ) );
}
- //Invalid is any plugin that is deactivated due to error.
+ if ( empty( $plugins ) )
+ return;
+
$invalid = array();
- // If a plugin file does not exist, remove it from the list of active
- // plugins.
- foreach ( $check_plugins as $check_plugin ) {
- $result = validate_plugin($check_plugin);
+ // invalid plugins get deactivated
+ foreach ( $plugins as $plugin ) {
+ $result = validate_plugin( $plugin );
if ( is_wp_error( $result ) ) {
- $invalid[$check_plugin] = $result;
- deactivate_plugins( $check_plugin, true);
+ $invalid[$plugin] = $result;
+ deactivate_plugins( $plugin, true );
}
}
return $invalid;
@@ -583,67 +799,135 @@ function uninstall_plugin($plugin) {
// Menu
//
-function add_menu_page( $page_title, $menu_title, $access_level, $file, $function = '', $icon_url = '', $position = NULL ) {
- global $menu, $admin_page_hooks, $_registered_pages;
+/**
+ * Add a top level menu page
+ *
+ * This function takes a capability which will be used to determine whether
+ * or not a page is included in the menu.
+ *
+ * The function which is hooked in to handle the output of the page must check
+ * that the user has the required capability as well.
+ *
+ * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected
+ * @param string $menu_title The text to be used for the menu
+ * @param string $capability The capability required for this menu to be displayed to the user.
+ * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu)
+ * @param callback $function The function to be called to output the content for this page.
+ * @param string $icon_url The url to the icon to be used for this menu
+ * @param int $position The position in the menu order this one should appear
+ */
+function add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $function = '', $icon_url = '', $position = NULL ) {
+ global $menu, $admin_page_hooks, $_registered_pages, $_parent_pages;
+
+ $menu_slug = plugin_basename( $menu_slug );
- $file = plugin_basename( $file );
+ $admin_page_hooks[$menu_slug] = sanitize_title( $menu_title );
- $admin_page_hooks[$file] = sanitize_title( $menu_title );
+ $hookname = get_plugin_page_hookname( $menu_slug, '' );
- $hookname = get_plugin_page_hookname( $file, '' );
- if (!empty ( $function ) && !empty ( $hookname ) && current_user_can( $access_level ) )
+ if ( !empty( $function ) && !empty( $hookname ) && current_user_can( $capability ) )
add_action( $hookname, $function );
- if ( empty($icon_url) ) {
- $icon_url = 'images/generic.png';
- } elseif ( is_ssl() && 0 === strpos($icon_url, 'http://') ) {
+ if ( empty($icon_url) )
+ $icon_url = esc_url( admin_url( 'images/generic.png' ) );
+ elseif ( is_ssl() && 0 === strpos($icon_url, 'http://') )
$icon_url = 'https://' . substr($icon_url, 7);
- }
- $new_menu = array ( $menu_title, $access_level, $file, $page_title, 'menu-top ' . $hookname, $hookname, $icon_url );
+ $new_menu = array( $menu_title, $capability, $menu_slug, $page_title, 'menu-top ' . $hookname, $hookname, $icon_url );
- if ( NULL === $position ) {
+ if ( null === $position )
$menu[] = $new_menu;
- } else {
+ else
$menu[$position] = $new_menu;
- }
$_registered_pages[$hookname] = true;
+ // No parent as top level
+ $_parent_pages[$menu_slug] = false;
+
return $hookname;
}
-function add_object_page( $page_title, $menu_title, $access_level, $file, $function = '', $icon_url = '') {
+/**
+ * Add a top level menu page in the 'objects' section
+ *
+ * This function takes a capability which will be used to determine whether
+ * or not a page is included in the menu.
+ *
+ * The function which is hooked in to handle the output of the page must check
+ * that the user has the required capability as well.
+ *
+ * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected
+ * @param string $menu_title The text to be used for the menu
+ * @param string $capability The capability required for this menu to be displayed to the user.
+ * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu)
+ * @param callback $function The function to be called to output the content for this page.
+ * @param string $icon_url The url to the icon to be used for this menu
+ */
+function add_object_page( $page_title, $menu_title, $capability, $menu_slug, $function = '', $icon_url = '') {
global $_wp_last_object_menu;
$_wp_last_object_menu++;
- return add_menu_page($page_title, $menu_title, $access_level, $file, $function, $icon_url, $_wp_last_object_menu);
+ return add_menu_page($page_title, $menu_title, $capability, $menu_slug, $function, $icon_url, $_wp_last_object_menu);
}
-function add_utility_page( $page_title, $menu_title, $access_level, $file, $function = '', $icon_url = '') {
+/**
+ * Add a top level menu page in the 'utility' section
+ *
+ * This function takes a capability which will be used to determine whether
+ * or not a page is included in the menu.
+ *
+ * The function which is hooked in to handle the output of the page must check
+ * that the user has the required capability as well.
+ *
+ * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected
+ * @param string $menu_title The text to be used for the menu
+ * @param string $capability The capability required for this menu to be displayed to the user.
+ * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu)
+ * @param callback $function The function to be called to output the content for this page.
+ * @param string $icon_url The url to the icon to be used for this menu
+ */
+function add_utility_page( $page_title, $menu_title, $capability, $menu_slug, $function = '', $icon_url = '') {
global $_wp_last_utility_menu;
$_wp_last_utility_menu++;
- return add_menu_page($page_title, $menu_title, $access_level, $file, $function, $icon_url, $_wp_last_utility_menu);
+ return add_menu_page($page_title, $menu_title, $capability, $menu_slug, $function, $icon_url, $_wp_last_utility_menu);
}
-function add_submenu_page( $parent, $page_title, $menu_title, $access_level, $file, $function = '' ) {
+/**
+ * Add a sub menu page
+ *
+ * This function takes a capability which will be used to determine whether
+ * or not a page is included in the menu.
+ *
+ * The function which is hooked in to handle the output of the page must check
+ * that the user has the required capability as well.
+ *
+ * @param string $parent_slug The slug name for the parent menu (or the file name of a standard WordPress admin page)
+ * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected
+ * @param string $menu_title The text to be used for the menu
+ * @param string $capability The capability required for this menu to be displayed to the user.
+ * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu)
+ * @param callback $function The function to be called to output the content for this page.
+ */
+function add_submenu_page( $parent_slug, $page_title, $menu_title, $capability, $menu_slug, $function = '' ) {
global $submenu;
global $menu;
global $_wp_real_parent_file;
global $_wp_submenu_nopriv;
global $_registered_pages;
+ global $_parent_pages;
- $file = plugin_basename( $file );
+ $menu_slug = plugin_basename( $menu_slug );
+ $parent_slug = plugin_basename( $parent_slug);
- $parent = plugin_basename( $parent);
- if ( isset( $_wp_real_parent_file[$parent] ) )
- $parent = $_wp_real_parent_file[$parent];
+ if ( isset( $_wp_real_parent_file[$parent_slug] ) )
+ $parent_slug = $_wp_real_parent_file[$parent_slug];
- if ( !current_user_can( $access_level ) ) {
- $_wp_submenu_nopriv[$parent][$file] = true;
+ if ( !current_user_can( $capability ) ) {
+ $_wp_submenu_nopriv[$parent_slug][$menu_slug] = true;
return false;
}
@@ -651,79 +935,272 @@ function add_submenu_page( $parent, $page_title, $menu_title, $access_level, $fi
// as the first item in the submenu. If the submenu file is the same as the
// parent file someone is trying to link back to the parent manually. In
// this case, don't automatically add a link back to avoid duplication.
- if (!isset( $submenu[$parent] ) && $file != $parent ) {
+ if (!isset( $submenu[$parent_slug] ) && $menu_slug != $parent_slug ) {
foreach ( (array)$menu as $parent_menu ) {
- if ( $parent_menu[2] == $parent && current_user_can( $parent_menu[1] ) )
- $submenu[$parent][] = $parent_menu;
+ if ( $parent_menu[2] == $parent_slug && current_user_can( $parent_menu[1] ) )
+ $submenu[$parent_slug][] = $parent_menu;
}
}
- $submenu[$parent][] = array ( $menu_title, $access_level, $file, $page_title );
+ $submenu[$parent_slug][] = array ( $menu_title, $capability, $menu_slug, $page_title );
- $hookname = get_plugin_page_hookname( $file, $parent);
+ $hookname = get_plugin_page_hookname( $menu_slug, $parent_slug);
if (!empty ( $function ) && !empty ( $hookname ))
add_action( $hookname, $function );
$_registered_pages[$hookname] = true;
// backwards-compatibility for plugins using add_management page. See wp-admin/admin.php for redirect from edit.php to tools.php
- if ( 'tools.php' == $parent )
- $_registered_pages[get_plugin_page_hookname( $file, 'edit.php')] = true;
+ if ( 'tools.php' == $parent_slug )
+ $_registered_pages[get_plugin_page_hookname( $menu_slug, 'edit.php')] = true;
+
+ // No parent as top level
+ $_parent_pages[$menu_slug] = $parent_slug;
return $hookname;
}
/**
* Add sub menu page to the tools main menu.
+*
+ * This function takes a capability which will be used to determine whether
+ * or not a page is included in the menu.
*
- * @param string $page_title
- * @param unknown_type $menu_title
- * @param unknown_type $access_level
- * @param unknown_type $file
- * @param unknown_type $function
- * @return unknown
+ * The function which is hooked in to handle the output of the page must check
+ * that the user has the required capability as well.
+ *
+ * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected
+ * @param string $menu_title The text to be used for the menu
+ * @param string $capability The capability required for this menu to be displayed to the user.
+ * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu)
+ * @param callback $function The function to be called to output the content for this page.
*/
-function add_management_page( $page_title, $menu_title, $access_level, $file, $function = '' ) {
- return add_submenu_page( 'tools.php', $page_title, $menu_title, $access_level, $file, $function );
+function add_management_page( $page_title, $menu_title, $capability, $menu_slug, $function = '' ) {
+ return add_submenu_page( 'tools.php', $page_title, $menu_title, $capability, $menu_slug, $function );
}
-function add_options_page( $page_title, $menu_title, $access_level, $file, $function = '' ) {
- return add_submenu_page( 'options-general.php', $page_title, $menu_title, $access_level, $file, $function );
+/**
+ * Add sub menu page to the options main menu.
+*
+ * This function takes a capability which will be used to determine whether
+ * or not a page is included in the menu.
+ *
+ * The function which is hooked in to handle the output of the page must check
+ * that the user has the required capability as well.
+ *
+ * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected
+ * @param string $menu_title The text to be used for the menu
+ * @param string $capability The capability required for this menu to be displayed to the user.
+ * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu)
+ * @param callback $function The function to be called to output the content for this page.
+ */
+function add_options_page( $page_title, $menu_title, $capability, $menu_slug, $function = '' ) {
+ return add_submenu_page( 'options-general.php', $page_title, $menu_title, $capability, $menu_slug, $function );
}
-function add_theme_page( $page_title, $menu_title, $access_level, $file, $function = '' ) {
- return add_submenu_page( 'themes.php', $page_title, $menu_title, $access_level, $file, $function );
+/**
+ * Add sub menu page to the themes main menu.
+*
+ * This function takes a capability which will be used to determine whether
+ * or not a page is included in the menu.
+ *
+ * The function which is hooked in to handle the output of the page must check
+ * that the user has the required capability as well.
+ *
+ * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected
+ * @param string $menu_title The text to be used for the menu
+ * @param string $capability The capability required for this menu to be displayed to the user.
+ * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu)
+ * @param callback $function The function to be called to output the content for this page.
+ */
+function add_theme_page( $page_title, $menu_title, $capability, $menu_slug, $function = '' ) {
+ return add_submenu_page( 'themes.php', $page_title, $menu_title, $capability, $menu_slug, $function );
+}
+
+/**
+ * Add sub menu page to the plugins main menu.
+*
+ * This function takes a capability which will be used to determine whether
+ * or not a page is included in the menu.
+ *
+ * The function which is hooked in to handle the output of the page must check
+ * that the user has the required capability as well.
+ *
+ * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected
+ * @param string $menu_title The text to be used for the menu
+ * @param string $capability The capability required for this menu to be displayed to the user.
+ * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu)
+ * @param callback $function The function to be called to output the content for this page.
+ */
+function add_plugins_page( $page_title, $menu_title, $capability, $menu_slug, $function = '' ) {
+ return add_submenu_page( 'plugins.php', $page_title, $menu_title, $capability, $menu_slug, $function );
}
-function add_users_page( $page_title, $menu_title, $access_level, $file, $function = '' ) {
+/**
+ * Add sub menu page to the Users/Profile main menu.
+*
+ * This function takes a capability which will be used to determine whether
+ * or not a page is included in the menu.
+ *
+ * The function which is hooked in to handle the output of the page must check
+ * that the user has the required capability as well.
+ *
+ * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected
+ * @param string $menu_title The text to be used for the menu
+ * @param string $capability The capability required for this menu to be displayed to the user.
+ * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu)
+ * @param callback $function The function to be called to output the content for this page.
+ */
+function add_users_page( $page_title, $menu_title, $capability, $menu_slug, $function = '' ) {
if ( current_user_can('edit_users') )
$parent = 'users.php';
else
$parent = 'profile.php';
- return add_submenu_page( $parent, $page_title, $menu_title, $access_level, $file, $function );
+ return add_submenu_page( $parent, $page_title, $menu_title, $capability, $menu_slug, $function );
+}
+/**
+ * Add sub menu page to the Dashboard main menu.
+*
+ * This function takes a capability which will be used to determine whether
+ * or not a page is included in the menu.
+ *
+ * The function which is hooked in to handle the output of the page must check
+ * that the user has the required capability as well.
+ *
+ * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected
+ * @param string $menu_title The text to be used for the menu
+ * @param string $capability The capability required for this menu to be displayed to the user.
+ * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu)
+ * @param callback $function The function to be called to output the content for this page.
+ */
+function add_dashboard_page( $page_title, $menu_title, $capability, $menu_slug, $function = '' ) {
+ return add_submenu_page( 'index.php', $page_title, $menu_title, $capability, $menu_slug, $function );
}
-function add_dashboard_page( $page_title, $menu_title, $access_level, $file, $function = '' ) {
- return add_submenu_page( 'index.php', $page_title, $menu_title, $access_level, $file, $function );
+/**
+ * Add sub menu page to the posts main menu.
+*
+ * This function takes a capability which will be used to determine whether
+ * or not a page is included in the menu.
+ *
+ * The function which is hooked in to handle the output of the page must check
+ * that the user has the required capability as well.
+ *
+ * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected
+ * @param string $menu_title The text to be used for the menu
+ * @param string $capability The capability required for this menu to be displayed to the user.
+ * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu)
+ * @param callback $function The function to be called to output the content for this page.
+ */
+function add_posts_page( $page_title, $menu_title, $capability, $menu_slug, $function = '' ) {
+ return add_submenu_page( 'edit.php', $page_title, $menu_title, $capability, $menu_slug, $function );
}
-function add_posts_page( $page_title, $menu_title, $access_level, $file, $function = '' ) {
- return add_submenu_page( 'edit.php', $page_title, $menu_title, $access_level, $file, $function );
+/**
+ * Add sub menu page to the media main menu.
+*
+ * This function takes a capability which will be used to determine whether
+ * or not a page is included in the menu.
+ *
+ * The function which is hooked in to handle the output of the page must check
+ * that the user has the required capability as well.
+ *
+ * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected
+ * @param string $menu_title The text to be used for the menu
+ * @param string $capability The capability required for this menu to be displayed to the user.
+ * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu)
+ * @param callback $function The function to be called to output the content for this page.
+ */
+function add_media_page( $page_title, $menu_title, $capability, $menu_slug, $function = '' ) {
+ return add_submenu_page( 'upload.php', $page_title, $menu_title, $capability, $menu_slug, $function );
}
-function add_media_page( $page_title, $menu_title, $access_level, $file, $function = '' ) {
- return add_submenu_page( 'upload.php', $page_title, $menu_title, $access_level, $file, $function );
+/**
+ * Add sub menu page to the links main menu.
+*
+ * This function takes a capability which will be used to determine whether
+ * or not a page is included in the menu.
+ *
+ * The function which is hooked in to handle the output of the page must check
+ * that the user has the required capability as well.
+ *
+ * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected
+ * @param string $menu_title The text to be used for the menu
+ * @param string $capability The capability required for this menu to be displayed to the user.
+ * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu)
+ * @param callback $function The function to be called to output the content for this page.
+ */
+function add_links_page( $page_title, $menu_title, $capability, $menu_slug, $function = '' ) {
+ return add_submenu_page( 'link-manager.php', $page_title, $menu_title, $capability, $menu_slug, $function );
}
-function add_links_page( $page_title, $menu_title, $access_level, $file, $function = '' ) {
- return add_submenu_page( 'link-manager.php', $page_title, $menu_title, $access_level, $file, $function );
+/**
+ * Add sub menu page to the pages main menu.
+*
+ * This function takes a capability which will be used to determine whether
+ * or not a page is included in the menu.
+ *
+ * The function which is hooked in to handle the output of the page must check
+ * that the user has the required capability as well.
+ *
+ * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected
+ * @param string $menu_title The text to be used for the menu
+ * @param string $capability The capability required for this menu to be displayed to the user.
+ * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu)
+ * @param callback $function The function to be called to output the content for this page.
+ */
+function add_pages_page( $page_title, $menu_title, $capability, $menu_slug, $function = '' ) {
+ return add_submenu_page( 'edit.php?post_type=page', $page_title, $menu_title, $capability, $menu_slug, $function );
}
-function add_pages_page( $page_title, $menu_title, $access_level, $file, $function = '' ) {
- return add_submenu_page( 'edit-pages.php', $page_title, $menu_title, $access_level, $file, $function );
+/**
+ * Add sub menu page to the comments main menu.
+*
+ * This function takes a capability which will be used to determine whether
+ * or not a page is included in the menu.
+ *
+ * The function which is hooked in to handle the output of the page must check
+ * that the user has the required capability as well.
+ *
+ * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected
+ * @param string $menu_title The text to be used for the menu
+ * @param string $capability The capability required for this menu to be displayed to the user.
+ * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu)
+ * @param callback $function The function to be called to output the content for this page.
+ */
+function add_comments_page( $page_title, $menu_title, $capability, $menu_slug, $function = '' ) {
+ return add_submenu_page( 'edit-comments.php', $page_title, $menu_title, $capability, $menu_slug, $function );
}
-function add_comments_page( $page_title, $menu_title, $access_level, $file, $function = '' ) {
- return add_submenu_page( 'edit-comments.php', $page_title, $menu_title, $access_level, $file, $function );
+/**
+ * Get the url to access a particular menu page based on the slug it was registered with.
+ *
+ * If the slug hasn't been registered properly no url will be returned
+ *
+ * @since 3.0
+ *
+ * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu)
+ * @param bool $echo Whether or not to echo the url - default is true
+ * @return string the url
+ */
+function menu_page_url($menu_slug, $echo = true) {
+ global $_parent_pages;
+
+ if ( isset( $_parent_pages[$menu_slug] ) ) {
+ if ( $_parent_pages[$menu_slug] ) {
+ $url = admin_url( add_query_arg( 'page', $menu_slug, $_parent_pages[$menu_slug] ) );
+ } else {
+ $url = admin_url('admin.php?page=' . $menu_slug);
+ }
+ } else {
+ $url = '';
+ }
+
+ $url = esc_url($url);
+
+ if ( $echo )
+ echo $url;
+
+ return $url;
}
//
@@ -735,6 +1212,7 @@ function get_admin_page_parent( $parent = '' ) {
global $menu;
global $submenu;
global $pagenow;
+ global $typenow;
global $plugin_page;
global $_wp_real_parent_file;
global $_wp_menu_nopriv;
@@ -745,14 +1223,15 @@ function get_admin_page_parent( $parent = '' ) {
$parent = $_wp_real_parent_file[$parent];
return $parent;
}
-/*
+
+ /*
if ( !empty ( $parent_file ) ) {
if ( isset( $_wp_real_parent_file[$parent_file] ) )
$parent_file = $_wp_real_parent_file[$parent_file];
return $parent_file;
}
-*/
+ */
if ( $pagenow == 'admin.php' && isset( $plugin_page ) ) {
foreach ( (array)$menu as $parent_menu ) {
@@ -782,7 +1261,10 @@ function get_admin_page_parent( $parent = '' ) {
foreach ( $submenu[$parent] as $submenu_array ) {
if ( isset( $_wp_real_parent_file[$parent] ) )
$parent = $_wp_real_parent_file[$parent];
- if ( $submenu_array[2] == $pagenow ) {
+ if ( !empty($typenow) && ($submenu_array[2] == "$pagenow?post_type=$typenow") ) {
+ $parent_file = $parent;
+ return $parent;
+ } elseif ( $submenu_array[2] == $pagenow && empty($typenow) && ( empty($parent_file) || false === strpos($parent_file, '?') ) ) {
$parent_file = $parent;
return $parent;
} else
@@ -804,10 +1286,10 @@ function get_admin_page_title() {
global $submenu;
global $pagenow;
global $plugin_page;
+ global $typenow;
- if ( isset( $title ) && !empty ( $title ) ) {
+ if ( ! empty ( $title ) )
return $title;
- }
$hook = get_plugin_page_hook( $plugin_page, $pagenow );
@@ -830,11 +1312,17 @@ function get_admin_page_title() {
}
}
} else {
- foreach (array_keys( $submenu ) as $parent) {
+ foreach ( array_keys( $submenu ) as $parent ) {
foreach ( $submenu[$parent] as $submenu_array ) {
if ( isset( $plugin_page ) &&
- ($plugin_page == $submenu_array[2] ) &&
- (($parent == $pagenow ) || ($parent == $plugin_page ) || ($plugin_page == $hook ) || (($pagenow == 'admin.php' ) && ($parent1 != $submenu_array[2] ) ) )
+ ( $plugin_page == $submenu_array[2] ) &&
+ (
+ ( $parent == $pagenow ) ||
+ ( $parent == $plugin_page ) ||
+ ( $plugin_page == $hook ) ||
+ ( $pagenow == 'admin.php' && $parent1 != $submenu_array[2] ) ||
+ ( !empty($typenow) && $parent == $pagenow . '?post_type=' . $typenow)
+ )
) {
$title = $submenu_array[3];
return $submenu_array[3];
@@ -852,12 +1340,12 @@ function get_admin_page_title() {
}
}
}
- if ( !isset($title) || empty ( $title ) ) {
+ if ( empty ( $title ) ) {
foreach ( $menu as $menu_array ) {
if ( isset( $plugin_page ) &&
- ($plugin_page == $menu_array[2] ) &&
- ($pagenow == 'admin.php' ) &&
- ($parent1 == $menu_array[2] ) )
+ ( $plugin_page == $menu_array[2] ) &&
+ ( $pagenow == 'admin.php' ) &&
+ ( $parent1 == $menu_array[2] ) )
{
$title = $menu_array[3];
return $menu_array[3];
@@ -895,7 +1383,7 @@ function get_plugin_page_hookname( $plugin_page, $parent_page ) {
$plugin_name = preg_replace( '!\.php!', '', $plugin_page );
- return $page_type.'_page_'.$plugin_name;
+ return $page_type . '_page_' . $plugin_name;
}
function user_can_access_admin_page() {
@@ -917,6 +1405,7 @@ function user_can_access_admin_page() {
return false;
$hookname = get_plugin_page_hookname($plugin_page, $parent);
+
if ( !isset($_registered_pages[$hookname]) )
return false;
}
@@ -983,51 +1472,37 @@ function user_can_access_admin_page() {
* @param unknown_type $sanitize_callback A callback function that sanitizes the option's value.
* @return unknown
*/
-function register_setting($option_group, $option_name, $sanitize_callback = '') {
- return add_option_update_handler($option_group, $option_name, $sanitize_callback);
-}
+function register_setting( $option_group, $option_name, $sanitize_callback = '' ) {
+ global $new_whitelist_options;
-/**
- * Unregister a setting
- *
- * @since 2.7.0
- *
- * @param unknown_type $option_group
- * @param unknown_type $option_name
- * @param unknown_type $sanitize_callback
- * @return unknown
- */
-function unregister_setting($option_group, $option_name, $sanitize_callback = '') {
- return remove_option_update_handler($option_group, $option_name, $sanitize_callback);
-}
+ if ( 'misc' == $option_group ) {
+ _deprecated_argument( __FUNCTION__, '3.0', __( 'The miscellaneous options group has been removed. Use another settings group.' ) );
+ $option_group = 'general';
+ }
-/**
- * {@internal Missing Short Description}}
- *
- * @since unknown
- *
- * @param unknown_type $option_group
- * @param unknown_type $option_name
- * @param unknown_type $sanitize_callback
- */
-function add_option_update_handler($option_group, $option_name, $sanitize_callback = '') {
- global $new_whitelist_options;
$new_whitelist_options[ $option_group ][] = $option_name;
if ( $sanitize_callback != '' )
add_filter( "sanitize_option_{$option_name}", $sanitize_callback );
}
/**
- * {@internal Missing Short Description}}
+ * Unregister a setting
*
- * @since unknown
+ * @since 2.7.0
*
* @param unknown_type $option_group
* @param unknown_type $option_name
* @param unknown_type $sanitize_callback
+ * @return unknown
*/
-function remove_option_update_handler($option_group, $option_name, $sanitize_callback = '') {
+function unregister_setting( $option_group, $option_name, $sanitize_callback = '' ) {
global $new_whitelist_options;
+
+ if ( 'misc' == $option_group ) {
+ _deprecated_argument( __FUNCTION__, '3.0', __( 'The miscellaneous options group has been removed. Use another settings group.' ) );
+ $option_group = 'general';
+ }
+
$pos = array_search( $option_name, (array) $new_whitelist_options );
if ( $pos !== false )
unset( $new_whitelist_options[ $option_group ][ $pos ] );
@@ -1063,13 +1538,13 @@ add_filter( 'whitelist_options', 'option_update_filter' );
* @return unknown
*/
function add_option_whitelist( $new_options, $options = '' ) {
- if( $options == '' ) {
+ if ( $options == '' )
global $whitelist_options;
- } else {
+ else
$whitelist_options = $options;
- }
- foreach( $new_options as $page => $keys ) {
- foreach( $keys as $key ) {
+
+ foreach ( $new_options as $page => $keys ) {
+ foreach ( $keys as $key ) {
if ( !isset($whitelist_options[ $page ]) || !is_array($whitelist_options[ $page ]) ) {
$whitelist_options[ $page ] = array();
$whitelist_options[ $page ][] = $key;
@@ -1080,6 +1555,7 @@ function add_option_whitelist( $new_options, $options = '' ) {
}
}
}
+
return $whitelist_options;
}
@@ -1093,20 +1569,21 @@ function add_option_whitelist( $new_options, $options = '' ) {
* @return unknown
*/
function remove_option_whitelist( $del_options, $options = '' ) {
- if( $options == '' ) {
+ if ( $options == '' )
global $whitelist_options;
- } else {
+ else
$whitelist_options = $options;
- }
- foreach( $del_options as $page => $keys ) {
- foreach( $keys as $key ) {
+
+ foreach ( $del_options as $page => $keys ) {
+ foreach ( $keys as $key ) {
if ( isset($whitelist_options[ $page ]) && is_array($whitelist_options[ $page ]) ) {
$pos = array_search( $key, $whitelist_options[ $page ] );
- if( $pos !== false )
+ if ( $pos !== false )
unset( $whitelist_options[ $page ][ $pos ] );
}
}
}
+
return $whitelist_options;
}
diff --git a/wp-admin/includes/post.php b/wp-admin/includes/post.php
index e5924f1d..5f8b6fd0 100644
--- a/wp-admin/includes/post.php
+++ b/wp-admin/includes/post.php
@@ -31,6 +31,9 @@ function _wp_translate_postdata( $update = false, $post_data = null ) {
if ( isset($post_data['trackback_url']) )
$post_data['to_ping'] = $post_data['trackback_url'];
+ if ( !isset($post_data['user_ID']) )
+ $post_data['user_ID'] = $GLOBALS['user_ID'];
+
if (!empty ( $post_data['post_author_override'] ) ) {
$post_data['post_author'] = (int) $post_data['post_author_override'];
} else {
@@ -41,16 +44,15 @@ function _wp_translate_postdata( $update = false, $post_data = null ) {
}
}
+ $ptype = get_post_type_object( $post_data['post_type'] );
if ( isset($post_data['user_ID']) && ($post_data['post_author'] != $post_data['user_ID']) ) {
- if ( 'page' == $post_data['post_type'] ) {
- if ( !current_user_can( 'edit_others_pages' ) ) {
+ if ( !current_user_can( $ptype->cap->edit_others_posts ) ) {
+ if ( 'page' == $post_data['post_type'] ) {
return new WP_Error( 'edit_others_pages', $update ?
__( 'You are not allowed to edit pages as this user.' ) :
__( 'You are not allowed to create pages as this user.' )
);
- }
- } else {
- if ( !current_user_can( 'edit_others_posts' ) ) {
+ } else {
return new WP_Error( 'edit_others_posts', $update ?
__( 'You are not allowed to edit posts as this user.' ) :
__( 'You are not allowed to post as this user.' )
@@ -64,26 +66,23 @@ function _wp_translate_postdata( $update = false, $post_data = null ) {
$post_data['post_status'] = 'draft';
if ( isset($post_data['saveasprivate']) && '' != $post_data['saveasprivate'] )
$post_data['post_status'] = 'private';
- if ( isset($post_data['publish']) && ( '' != $post_data['publish'] ) && ( $post_data['post_status'] != 'private' ) )
+ if ( isset($post_data['publish']) && ( '' != $post_data['publish'] ) && ( !isset($post_data['post_status']) || $post_data['post_status'] != 'private' ) )
$post_data['post_status'] = 'publish';
if ( isset($post_data['advanced']) && '' != $post_data['advanced'] )
$post_data['post_status'] = 'draft';
if ( isset($post_data['pending']) && '' != $post_data['pending'] )
$post_data['post_status'] = 'pending';
- $previous_status = get_post_field('post_status', isset($post_data['ID']) ? $post_data['ID'] : $post_data['temp_ID']);
+ if ( isset( $post_data['ID'] ) )
+ $post_id = $post_data['ID'];
+ else
+ $post_id = false;
+ $previous_status = $post_id ? get_post_field( 'post_status', $post_id ) : false;
// Posts 'submitted for approval' present are submitted to $_POST the same as if they were being published.
// Change status from 'publish' to 'pending' if user lacks permissions to publish or to resave published posts.
- if ( 'page' == $post_data['post_type'] ) {
- $publish_cap = 'publish_pages';
- $edit_cap = 'edit_published_pages';
- } else {
- $publish_cap = 'publish_posts';
- $edit_cap = 'edit_published_posts';
- }
- if ( isset($post_data['post_status']) && ('publish' == $post_data['post_status'] && !current_user_can( $publish_cap )) )
- if ( $previous_status != 'publish' || !current_user_can( $edit_cap ) )
+ if ( isset($post_data['post_status']) && ('publish' == $post_data['post_status'] && !current_user_can( $ptype->cap->publish_posts )) )
+ if ( $previous_status != 'publish' || !current_user_can( 'edit_post', $post_id ) )
$post_data['post_status'] = 'pending';
if ( ! isset($post_data['post_status']) )
@@ -138,11 +137,11 @@ function edit_post( $post_data = null ) {
$post_ID = (int) $post_data['post_ID'];
- if ( 'page' == $post_data['post_type'] ) {
- if ( !current_user_can( 'edit_page', $post_ID ) )
+ $ptype = get_post_type_object($post_data['post_type']);
+ if ( !current_user_can( $ptype->cap->edit_post, $post_ID ) ) {
+ if ( 'page' == $post_data['post_type'] )
wp_die( __('You are not allowed to edit this page.' ));
- } else {
- if ( !current_user_can( 'edit_post', $post_ID ) )
+ else
wp_die( __('You are not allowed to edit this post.' ));
}
@@ -157,6 +156,8 @@ function edit_post( $post_data = null ) {
}
$post_data = _wp_translate_postdata( true, $post_data );
+ if ( 'autosave' != $post_data['action'] && 'auto-draft' == $post_data['post_status'] )
+ $post_data['post_status'] = 'draft';
if ( is_wp_error($post_data) )
wp_die( $post_data->get_error_message() );
@@ -189,6 +190,8 @@ function edit_post( $post_data = null ) {
add_meta( $post_ID );
+ update_post_meta( $post_ID, '_edit_last', $GLOBALS['current_user']->ID );
+
wp_update_post( $post_data );
// Reunite any orphaned attachments with their parent
@@ -213,13 +216,14 @@ function edit_post( $post_data = null ) {
}
/**
- * {@internal Missing Short Description}}
+ * Process the post data for the bulk editing of posts.
*
* Updates all bulk edited posts/pages, adding (but not removing) tags and
* categories. Skips pages when they would be their own parent or child.
*
- * @since unknown
+ * @since 2.7.0
*
+ * @param array $post_data Optional, the array of post data to process if not provided will use $_POST superglobal.
* @return array
*/
function bulk_edit_posts( $post_data = null ) {
@@ -228,12 +232,16 @@ function bulk_edit_posts( $post_data = null ) {
if ( empty($post_data) )
$post_data = &$_POST;
- if ( isset($post_data['post_type']) && 'page' == $post_data['post_type'] ) {
- if ( ! current_user_can( 'edit_pages' ) )
- wp_die( __('You are not allowed to edit pages.') );
- } else {
- if ( ! current_user_can( 'edit_posts' ) )
- wp_die( __('You are not allowed to edit posts.') );
+ if ( isset($post_data['post_type']) )
+ $ptype = get_post_type_object($post_data['post_type']);
+ else
+ $ptype = get_post_type_object('post');
+
+ if ( !current_user_can( $ptype->cap->edit_posts ) ) {
+ if ( 'page' == $ptype->name )
+ wp_die( __('You are not allowed to edit pages.'));
+ else
+ wp_die( __('You are not allowed to edit posts.'));
}
if ( -1 == $post_data['_status'] ) {
@@ -246,7 +254,7 @@ function bulk_edit_posts( $post_data = null ) {
$post_IDs = array_map( 'intval', (array) $post_data['post'] );
- $reset = array( 'post_author', 'post_status', 'post_password', 'post_parent', 'page_template', 'comment_status', 'ping_status', 'keep_private', 'tags_input', 'post_category', 'sticky' );
+ $reset = array( 'post_author', 'post_status', 'post_password', 'post_parent', 'page_template', 'comment_status', 'ping_status', 'keep_private', 'tax_input', 'post_category', 'sticky' );
foreach ( $reset as $field ) {
if ( isset($post_data[$field]) && ( '' == $post_data[$field] || -1 == $post_data[$field] ) )
unset($post_data[$field]);
@@ -259,9 +267,18 @@ function bulk_edit_posts( $post_data = null ) {
unset($post_data['post_category']);
}
- if ( isset($post_data['tags_input']) ) {
- $new_tags = preg_replace( '/\s*,\s*/', ',', rtrim( trim($post_data['tags_input']), ' ,' ) );
- $new_tags = explode(',', $new_tags);
+ $tax_input = array();
+ if ( isset($post_data['tax_input'])) {
+ foreach ( $post_data['tax_input'] as $tax_name => $terms ) {
+ if ( empty($terms) )
+ continue;
+ if ( is_taxonomy_hierarchical( $tax_name ) )
+ $tax_input[$tax_name] = array_map( 'absint', $terms );
+ else {
+ $tax_input[$tax_name] = preg_replace( '/\s*,\s*/', ',', rtrim( trim($terms), ' ,' ) );
+ $tax_input[$tax_name] = explode(',', $tax_input[$tax_name]);
+ }
+ }
}
if ( isset($post_data['post_parent']) && ($parent = (int) $post_data['post_parent']) ) {
@@ -282,8 +299,9 @@ function bulk_edit_posts( $post_data = null ) {
$updated = $skipped = $locked = array();
foreach ( $post_IDs as $post_ID ) {
+ $post_type_object = get_post_type_object( get_post_type( $post_ID ) );
- if ( isset($children) && in_array($post_ID, $children) ) {
+ if ( !isset( $post_type_object ) || ( isset($children) && in_array($post_ID, $children) ) || !current_user_can( $post_type_object->cap->edit_post, $post_ID ) ) {
$skipped[] = $post_ID;
continue;
}
@@ -293,14 +311,26 @@ function bulk_edit_posts( $post_data = null ) {
continue;
}
- if ( isset($new_cats) ) {
- $cats = (array) wp_get_post_categories($post_ID);
- $post_data['post_category'] = array_unique( array_merge($cats, $new_cats) );
+ $tax_names = get_object_taxonomies( get_post($post_ID) );
+ foreach ( $tax_names as $tax_name ) {
+ $taxonomy_obj = get_taxonomy($tax_name);
+ if ( isset( $tax_input[$tax_name]) && current_user_can( $taxonomy_obj->cap->assign_terms ) )
+ $new_terms = $tax_input[$tax_name];
+ else
+ $new_terms = array();
+
+ if ( $taxonomy_obj->hierarchical )
+ $current_terms = (array) wp_get_object_terms( $post_ID, $tax_name, array('fields' => 'ids') );
+ else
+ $current_terms = (array) wp_get_object_terms( $post_ID, $tax_name, array('fields' => 'names') );
+
+ $post_data['tax_input'][$tax_name] = array_merge( $current_terms, $new_terms );
}
- if ( isset($new_tags) ) {
- $tags = wp_get_post_tags($post_ID, array('fields' => 'names'));
- $post_data['tags_input'] = array_unique( array_merge($tags, $new_tags) );
+ if ( isset($new_cats) && in_array( 'category', $tax_names ) ) {
+ $cats = (array) wp_get_post_categories($post_ID);
+ $post_data['post_category'] = array_unique( array_merge($cats, $new_cats) );
+ unset( $post_data['tax_input']['category'] );
}
$post_data['ID'] = $post_ID;
@@ -323,9 +353,11 @@ function bulk_edit_posts( $post_data = null ) {
*
* @since unknown
*
- * @return unknown
+ *@param string A post type string, defaults to 'post'.
+ * @return object stdClass object containing all the default post data as attributes
*/
-function get_default_post_to_edit() {
+function get_default_post_to_edit( $post_type = 'post', $create_in_db = false ) {
+ global $wpdb;
$post_title = '';
if ( !empty( $_REQUEST['post_title'] ) )
@@ -339,36 +371,45 @@ function get_default_post_to_edit() {
if ( !empty( $_REQUEST['excerpt'] ) )
$post_excerpt = esc_html( stripslashes( $_REQUEST['excerpt'] ));
- $post->ID = 0;
+ if ( $create_in_db ) {
+ // Cleanup old auto-drafts more than 7 days old
+ $old_posts = $wpdb->get_col( "SELECT ID FROM $wpdb->posts WHERE post_status = 'auto-draft' AND DATE_SUB( NOW(), INTERVAL 7 DAY ) > post_date" );
+ foreach ( (array) $old_posts as $delete )
+ wp_delete_post( $delete, true ); // Force delete
+ $post = get_post( wp_insert_post( array( 'post_title' => __( 'Auto Draft' ), 'post_type' => $post_type, 'post_status' => 'auto-draft' ) ) );
+ } else {
+ $post->ID = 0;
+ $post->post_author = '';
+ $post->post_date = '';
+ $post->post_date_gmt = '';
+ $post->post_password = '';
+ $post->post_type = $post_type;
+ $post->post_status = 'draft';
+ $post->to_ping = '';
+ $post->pinged = '';
+ $post->comment_status = get_option( 'default_comment_status' );
+ $post->ping_status = get_option( 'default_ping_status' );
+ $post->post_pingback = get_option( 'default_pingback_flag' );
+ $post->post_category = get_option( 'default_category' );
+ $post->page_template = 'default';
+ $post->post_parent = 0;
+ $post->menu_order = 0;
+ }
+
+ $post->post_content = apply_filters( 'default_content', $post_content, $post );
+ $post->post_title = apply_filters( 'default_title', $post_title, $post );
+ $post->post_excerpt = apply_filters( 'default_excerpt', $post_excerpt, $post );
$post->post_name = '';
- $post->post_author = '';
- $post->post_date = '';
- $post->post_date_gmt = '';
- $post->post_password = '';
- $post->post_status = 'draft';
- $post->post_type = 'post';
- $post->to_ping = '';
- $post->pinged = '';
- $post->comment_status = get_option( 'default_comment_status' );
- $post->ping_status = get_option( 'default_ping_status' );
- $post->post_pingback = get_option( 'default_pingback_flag' );
- $post->post_category = get_option( 'default_category' );
- $post->post_content = apply_filters( 'default_content', $post_content);
- $post->post_title = apply_filters( 'default_title', $post_title );
- $post->post_excerpt = apply_filters( 'default_excerpt', $post_excerpt);
- $post->page_template = 'default';
- $post->post_parent = 0;
- $post->menu_order = 0;
return $post;
}
/**
- * {@internal Missing Short Description}}
+ * Get the default page information to use.
*
- * @since unknown
+ * @since 2.5.0
*
- * @return unknown
+ * @return object stdClass object containing all the default post data as attributes
*/
function get_default_page_to_edit() {
$page = get_default_post_to_edit();
@@ -445,16 +486,21 @@ function post_exists($title, $content = '', $date = '') {
function wp_write_post() {
global $user_ID;
- if ( 'page' == $_POST['post_type'] ) {
- if ( !current_user_can( 'edit_pages' ) )
- return new WP_Error( 'edit_pages', __( 'You are not allowed to create pages on this blog.' ) );
- } else {
- if ( !current_user_can( 'edit_posts' ) )
- return new WP_Error( 'edit_posts', __( 'You are not allowed to create posts or drafts on this blog.' ) );
- }
+ if ( isset($_POST['post_type']) )
+ $ptype = get_post_type_object($_POST['post_type']);
+ else
+ $ptype = get_post_type_object('post');
+
+ if ( !current_user_can( $ptype->cap->edit_posts ) ) {
+ if ( 'page' == $ptype->name )
+ return new WP_Error( 'edit_pages', __( 'You are not allowed to create pages on this site.' ) );
+ else
+ return new WP_Error( 'edit_posts', __( 'You are not allowed to create posts or drafts on this site.' ) );
+ }
// Check for autosave collisions
+ // Does this need to be updated? ~ Mark
$temp_id = false;
if ( isset($_POST['temp_ID']) ) {
$temp_id = (int) $_POST['temp_ID'];
@@ -502,7 +548,10 @@ function wp_write_post() {
add_meta( $post_ID );
+ add_post_meta( $post_ID, '_edit_last', $GLOBALS['current_user']->ID );
+
// Reunite any orphaned attachments with their parent
+ // Does this need to be udpated? ~ Mark
if ( !$draft_ids = get_user_option( 'autosave_draft_ids' ) )
$draft_ids = array();
if ( $draft_temp_id = (int) array_search( $post_ID, $draft_ids ) )
@@ -533,7 +582,7 @@ function wp_write_post() {
*/
function write_post() {
$result = wp_write_post();
- if( is_wp_error( $result ) )
+ if ( is_wp_error( $result ) )
wp_die( $result->get_error_message() );
else
return $result;
@@ -577,8 +626,7 @@ function add_meta( $post_ID ) {
return false;
wp_cache_delete($post_ID, 'post_meta');
-
- $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->postmeta (post_id,meta_key,meta_value ) VALUES (%s, %s, %s)", $post_ID, $metakey, $metavalue) );
+ $wpdb->insert( $wpdb->postmeta, array( 'post_id' => $post_ID, 'meta_key' => $metakey, 'meta_value' => $metavalue ) );
do_action( 'added_postmeta', $wpdb->insert_id, $post_ID, $metakey, $metavalue );
return $wpdb->insert_id;
@@ -670,8 +718,8 @@ function has_meta( $postid ) {
* @since unknown
*
* @param unknown_type $meta_id
- * @param unknown_type $meta_key
- * @param unknown_type $meta_value
+ * @param unknown_type $meta_key Expect Slashed
+ * @param unknown_type $meta_value Expect Slashed
* @return unknown
*/
function update_meta( $meta_id, $meta_key, $meta_value ) {
@@ -679,6 +727,8 @@ function update_meta( $meta_id, $meta_key, $meta_value ) {
$protected = array( '_wp_attached_file', '_wp_attachment_metadata', '_wp_old_slug', '_wp_page_template' );
+ $meta_key = stripslashes($meta_key);
+
if ( in_array($meta_key, $protected) )
return false;
@@ -738,8 +788,8 @@ function _fix_attachment_links( $post_ID ) {
if ( ! empty( $attachment) && ! is_object( get_post( $attachment['post_parent'] ) ) ) {
$attachment['post_parent'] = $post_ID;
// Escape data pulled from DB.
- $attachment = add_magic_quotes( $attachment);
- wp_update_post( $attachment);
+ $attachment = add_magic_quotes( $attachment );
+ wp_update_post( $attachment );
}
$post_search[$i] = $anchor;
@@ -789,12 +839,12 @@ function _relocate_children( $old_ID, $new_ID ) {
}
/**
- * {@internal Missing Short Description}}
+ * Get all the possible statuses for a post_type
*
- * @since unknown
+ * @since 2.5.0
*
- * @param unknown_type $type
- * @return unknown
+ * @param string $type The post_type you want the statuses for
+ * @return array As array of all the statuses for the supplied post type
*/
function get_available_post_statuses($type = 'post') {
$stati = wp_count_posts($type);
@@ -803,35 +853,30 @@ function get_available_post_statuses($type = 'post') {
}
/**
- * {@internal Missing Short Description}}
+ * Run the wp query to fetch the posts for listing on the edit posts page
*
- * @since unknown
+ * @since 2.5.0
*
- * @param unknown_type $q
- * @return unknown
+ * @param array|bool $q Array of query variables to use to build the query or false to use $_GET superglobal.
+ * @return array
*/
function wp_edit_posts_query( $q = false ) {
if ( false === $q )
$q = $_GET;
- $q['m'] = isset($q['m']) ? (int) $q['m'] : 0;
+ $q['m'] = isset($q['m']) ? (int) $q['m'] : 0;
$q['cat'] = isset($q['cat']) ? (int) $q['cat'] : 0;
- $post_stati = array( // array( adj, noun )
- 'publish' => array(_x('Published', 'post'), __('Published posts'), _n_noop('Published (%s) ', 'Published (%s) ')),
- 'future' => array(_x('Scheduled', 'post'), __('Scheduled posts'), _n_noop('Scheduled (%s) ', 'Scheduled (%s) ')),
- 'pending' => array(_x('Pending Review', 'post'), __('Pending posts'), _n_noop('Pending Review (%s) ', 'Pending Review (%s) ')),
- 'draft' => array(_x('Draft', 'post'), _x('Drafts', 'manage posts header'), _n_noop('Draft (%s) ', 'Drafts (%s) ')),
- 'private' => array(_x('Private', 'post'), __('Private posts'), _n_noop('Private (%s) ', 'Private (%s) ')),
- 'trash' => array(_x('Trash', 'post'), __('Trash posts'), _n_noop('Trash (%s) ', 'Trash (%s) ')),
- );
-
- $post_stati = apply_filters('post_stati', $post_stati);
-
- $avail_post_stati = get_available_post_statuses('post');
-
- $post_status_q = '';
- if ( isset($q['post_status']) && in_array( $q['post_status'], array_keys($post_stati) ) ) {
- $post_status_q = '&post_status=' . $q['post_status'];
- $post_status_q .= '&perm=readable';
+ $post_stati = get_post_stati();
+
+ if ( isset($q['post_type']) && in_array( $q['post_type'], get_post_types() ) )
+ $post_type = $q['post_type'];
+ else
+ $post_type = 'post';
+
+ $avail_post_stati = get_available_post_statuses($post_type);
+
+ if ( isset($q['post_status']) && in_array( $q['post_status'], $post_stati ) ) {
+ $post_status = $q['post_status'];
+ $perm = 'readable';
}
if ( isset($q['post_status']) && 'pending' === $q['post_status'] ) {
@@ -845,14 +890,26 @@ function wp_edit_posts_query( $q = false ) {
$orderby = 'date';
}
- $posts_per_page = (int) get_user_option( 'edit_per_page', 0, false );
+ $per_page = 'edit_' . $post_type . '_per_page';
+ $posts_per_page = (int) get_user_option( $per_page );
if ( empty( $posts_per_page ) || $posts_per_page < 1 )
$posts_per_page = 15;
- $posts_per_page = apply_filters( 'edit_posts_per_page', $posts_per_page );
+ $posts_per_page = apply_filters( $per_page, $posts_per_page );
+
- wp("post_type=post&$post_status_q&posts_per_page=$posts_per_page&order=$order&orderby=$orderby");
+ $query = compact('post_type', 'post_status', 'perm', 'order', 'orderby', 'posts_per_page');
- return array($post_stati, $avail_post_stati);
+ // Hierarchical types require special args.
+ if ( is_post_type_hierarchical( $post_type ) ) {
+ $query['orderby'] = 'menu_order title';
+ $query['order'] = 'asc';
+ $query['posts_per_page'] = -1;
+ $query['posts_per_archive_page'] = -1;
+ }
+
+ wp( $query );
+
+ return $avail_post_stati;
}
/**
@@ -903,7 +960,7 @@ function wp_edit_attachments_query( $q = false ) {
$q['cat'] = isset( $q['cat'] ) ? (int) $q['cat'] : 0;
$q['post_type'] = 'attachment';
$q['post_status'] = isset( $q['status'] ) && 'trash' == $q['status'] ? 'trash' : 'inherit';
- $media_per_page = (int) get_user_option( 'upload_per_page', 0, false );
+ $media_per_page = (int) get_user_option( 'upload_per_page' );
if ( empty( $media_per_page ) || $media_per_page < 1 )
$media_per_page = 20;
$q['posts_per_page'] = apply_filters( 'upload_per_page', $media_per_page );
@@ -922,6 +979,7 @@ function wp_edit_attachments_query( $q = false ) {
/**
* {@internal Missing Short Description}}
*
+ * @uses get_user_option()
* @since unknown
*
* @param unknown_type $id
@@ -931,9 +989,11 @@ function wp_edit_attachments_query( $q = false ) {
function postbox_classes( $id, $page ) {
if ( isset( $_GET['edit'] ) && $_GET['edit'] == $id )
return '';
- $current_user = wp_get_current_user();
- if ( $closed = get_user_option('closedpostboxes_'.$page, 0, false ) ) {
- if ( !is_array( $closed ) ) return '';
+
+ if ( $closed = get_user_option('closedpostboxes_'.$page ) ) {
+ if ( !is_array( $closed ) ) {
+ return '';
+ }
return in_array( $id, $closed )? 'closed' : '';
} else {
return '';
@@ -945,47 +1005,51 @@ function postbox_classes( $id, $page ) {
*
* @since unknown
*
- * @param int|object $id Post ID or post object.
- * @param string $title (optional) Title
- * @param string $name (optional) Name
- * @return array With two entries of type string
+ * @param int|object $id Post ID or post object.
+ * @param string $title (optional) Title
+ * @param string $name (optional) Name
+ * @return array With two entries of type string
*/
function get_sample_permalink($id, $title = null, $name = null) {
$post = &get_post($id);
- if (!$post->ID) {
+ if ( !$post->ID )
return array('', '');
- }
+
+ $ptype = get_post_type_object($post->post_type);
+
$original_status = $post->post_status;
$original_date = $post->post_date;
$original_name = $post->post_name;
// Hack: get_permalink would return ugly permalink for
// drafts, so we will fake, that our post is published
- if (in_array($post->post_status, array('draft', 'pending'))) {
+ if ( in_array($post->post_status, array('draft', 'pending')) ) {
$post->post_status = 'publish';
$post->post_name = sanitize_title($post->post_name ? $post->post_name : $post->post_title, $post->ID);
}
- $post->post_name = wp_unique_post_slug($post->post_name, $post->ID, $post->post_status, $post->post_type, $post->post_parent);
-
// If the user wants to set a new name -- override the current one
// Note: if empty name is supplied -- use the title instead, see #6072
- if (!is_null($name)) {
+ if ( !is_null($name) )
$post->post_name = sanitize_title($name ? $name : $title, $post->ID);
- }
+
+ $post->post_name = wp_unique_post_slug($post->post_name, $post->ID, $post->post_status, $post->post_type, $post->post_parent);
$post->filter = 'sample';
$permalink = get_permalink($post, true);
+ // Replace custom post_type Token with generic pagename token for ease of use.
+ $permalink = str_replace("%$post->post_type%", '%pagename%', $permalink);
+
// Handle page hierarchy
- if ( 'page' == $post->post_type ) {
- $uri = get_page_uri($post->ID);
+ if ( $ptype->hierarchical ) {
+ $uri = get_page_uri($post);
$uri = untrailingslashit($uri);
$uri = strrev( stristr( strrev( $uri ), '/' ) );
$uri = untrailingslashit($uri);
if ( !empty($uri) )
- $uri .='/';
+ $uri .= '/';
$permalink = str_replace('%pagename%', "${uri}%pagename%", $permalink);
}
@@ -1002,20 +1066,23 @@ function get_sample_permalink($id, $title = null, $name = null) {
* sample permalink html
*
* intended to be used for the inplace editor of the permalink post slug on in the post (and page?) editor.
- *
+ *
* @since unknown
*
- * @param int|object $id Post ID or post object.
- * @param string $new_title (optional) New title
- * @param string $new_slug (optional) New slug
- * @return string intended to be used for the inplace editor of the permalink post slug on in the post (and page?) editor.
+ * @param int|object $id Post ID or post object.
+ * @param string $new_title (optional) New title
+ * @param string $new_slug (optional) New slug
+ * @return string intended to be used for the inplace editor of the permalink post slug on in the post (and page?) editor.
*/
function get_sample_permalink_html( $id, $new_title = null, $new_slug = null ) {
+ global $wpdb;
$post = &get_post($id);
+
list($permalink, $post_name) = get_sample_permalink($post->ID, $new_title, $new_slug);
if ( 'publish' == $post->post_status ) {
- $view_post = 'post' == $post->post_type ? __('View Post') : __('View Page');
+ $ptype = get_post_type_object($post->post_type);
+ $view_post = $ptype->labels->view_item;
$title = __('Click to edit this part of the permalink');
} else {
$title = __('Temporary permalink. Click to edit this part.');
@@ -1050,7 +1117,9 @@ function get_sample_permalink_html( $id, $new_title = null, $new_slug = null ) {
$post_name_html = '' . $post_name_abridged . ' ';
$display_link = str_replace(array('%pagename%','%postname%'), $post_name_html, $permalink);
$view_link = str_replace(array('%pagename%','%postname%'), $post_name, $permalink);
- $return = '' . __('Permalink:') . " \n" . '' . $display_link . " \n";
+ $return = '' . __('Permalink:') . " \n";
+ $return .= '' . $display_link . " \n";
+ $return .= ''; // Fix bi-directional text display defect in RTL languages.
$return .= '' . __('Edit') . " \n";
$return .= '' . $post_name . " \n";
if ( isset($view_post) )
@@ -1070,8 +1139,9 @@ function get_sample_permalink_html( $id, $new_title = null, $new_slug = null ) {
* @return string html
*/
function _wp_post_thumbnail_html( $thumbnail_id = NULL ) {
- global $content_width, $_wp_additional_image_sizes;
- $content = '' . esc_html__( 'Set thumbnail' ) . '
';
+ global $content_width, $_wp_additional_image_sizes, $post_ID;
+ $set_thumbnail_link = '%s
';
+ $content = sprintf($set_thumbnail_link, esc_html__( 'Set featured image' ));
if ( $thumbnail_id && get_post( $thumbnail_id ) ) {
$old_content_width = $content_width;
@@ -1081,8 +1151,9 @@ function _wp_post_thumbnail_html( $thumbnail_id = NULL ) {
else
$thumbnail_html = wp_get_attachment_image( $thumbnail_id, 'post-thumbnail' );
if ( !empty( $thumbnail_html ) ) {
- $content = '' . $thumbnail_html . ' ';
- $content .= '' . esc_html__( 'Remove thumbnail' ) . '
';
+ $ajax_nonce = wp_create_nonce( "set_post_thumbnail-$post_ID" );
+ $content = sprintf($set_thumbnail_link, $thumbnail_html);
+ $content .= '' . esc_html__( 'Remove featured image' ) . '
';
}
$content_width = $old_content_width;
}
@@ -1131,10 +1202,7 @@ function wp_set_post_lock( $post_id ) {
$now = time();
- if ( !add_post_meta( $post->ID, '_edit_lock', $now, true ) )
- update_post_meta( $post->ID, '_edit_lock', $now );
- if ( !add_post_meta( $post->ID, '_edit_last', $current_user->ID, true ) )
- update_post_meta( $post->ID, '_edit_last', $current_user->ID );
+ update_post_meta( $post->ID, '_edit_lock', $now );
}
/**
@@ -1172,6 +1240,8 @@ function _admin_notice_post_locked() {
*
* @uses _wp_translate_postdata()
* @uses _wp_post_revision_fields()
+ *
+ * @return unknown
*/
function wp_create_post_autosave( $post_id ) {
$translated = _wp_translate_postdata( true );
@@ -1198,7 +1268,7 @@ function wp_create_post_autosave( $post_id ) {
* Save draft or manually autosave for showing preview.
*
* @package WordPress
- * @since 2.7
+ * @since 2.7.0
*
* @uses wp_write_post()
* @uses edit_post()
@@ -1211,7 +1281,8 @@ function wp_create_post_autosave( $post_id ) {
function post_preview() {
$post_ID = (int) $_POST['post_ID'];
- if ( $post_ID < 1 )
+ $status = get_post_status( $post_ID );
+ if ( 'auto-draft' == $status )
wp_die( __('Preview not available. Please save as a draft first.') );
if ( isset($_POST['catslist']) )
@@ -1259,7 +1330,7 @@ function post_preview() {
* Adds the TinyMCE editor used on the Write and Edit screens.
*
* @package WordPress
- * @since 2.7
+ * @since 2.7.0
*
* TinyMCE is loaded separately from other Javascript by using wp-tinymce.php. It outputs concatenated
* and optionaly pre-compressed version of the core and all default plugins. Additional plugins are loaded
@@ -1270,7 +1341,7 @@ function post_preview() {
* @param mixed $settings optional An array that can add to or overwrite the default TinyMCE settings.
*/
function wp_tiny_mce( $teeny = false, $settings = false ) {
- global $concatenate_scripts, $compress_scripts, $tinymce_version;
+ global $concatenate_scripts, $compress_scripts, $tinymce_version, $editor_styles;
if ( ! user_can_richedit() )
return;
@@ -1382,7 +1453,10 @@ function wp_tiny_mce( $teeny = false, $settings = false ) {
$mce_buttons = apply_filters('mce_buttons', array('bold', 'italic', 'strikethrough', '|', 'bullist', 'numlist', 'blockquote', '|', 'justifyleft', 'justifycenter', 'justifyright', '|', 'link', 'unlink', 'wp_more', '|', 'spellchecker', 'fullscreen', 'wp_adv' ));
$mce_buttons = implode($mce_buttons, ',');
- $mce_buttons_2 = apply_filters('mce_buttons_2', array('formatselect', 'underline', 'justifyfull', 'forecolor', '|', 'pastetext', 'pasteword', 'removeformat', '|', 'media', 'charmap', '|', 'outdent', 'indent', '|', 'undo', 'redo', 'wp_help' ));
+ $mce_buttons_2 = array('formatselect', 'underline', 'justifyfull', 'forecolor', '|', 'pastetext', 'pasteword', 'removeformat', '|', 'media', 'charmap', '|', 'outdent', 'indent', '|', 'undo', 'redo', 'wp_help' );
+ if ( is_multisite() )
+ unset( $mce_buttons_2[ array_search( 'media', $mce_buttons_2 ) ] );
+ $mce_buttons_2 = apply_filters('mce_buttons_2', $mce_buttons_2);
$mce_buttons_2 = implode($mce_buttons_2, ',');
$mce_buttons_3 = apply_filters('mce_buttons_3', array());
@@ -1391,7 +1465,7 @@ function wp_tiny_mce( $teeny = false, $settings = false ) {
$mce_buttons_4 = apply_filters('mce_buttons_4', array());
$mce_buttons_4 = implode($mce_buttons_4, ',');
}
- $no_captions = ( apply_filters( 'disable_captions', '' ) ) ? true : false;
+ $no_captions = (bool) apply_filters( 'disable_captions', '' );
// TinyMCE init settings
$initArray = array (
@@ -1400,12 +1474,12 @@ function wp_tiny_mce( $teeny = false, $settings = false ) {
'width' => '100%',
'theme' => 'advanced',
'skin' => 'wp_theme',
- 'theme_advanced_buttons1' => "$mce_buttons",
- 'theme_advanced_buttons2' => "$mce_buttons_2",
- 'theme_advanced_buttons3' => "$mce_buttons_3",
- 'theme_advanced_buttons4' => "$mce_buttons_4",
- 'language' => "$mce_locale",
- 'spellchecker_languages' => "$mce_spellchecker_languages",
+ 'theme_advanced_buttons1' => $mce_buttons,
+ 'theme_advanced_buttons2' => $mce_buttons_2,
+ 'theme_advanced_buttons3' => $mce_buttons_3,
+ 'theme_advanced_buttons4' => $mce_buttons_4,
+ 'language' => $mce_locale,
+ 'spellchecker_languages' => $mce_spellchecker_languages,
'theme_advanced_toolbar_location' => 'top',
'theme_advanced_toolbar_align' => 'left',
'theme_advanced_statusbar_location' => 'bottom',
@@ -1426,13 +1500,35 @@ function wp_tiny_mce( $teeny = false, $settings = false ) {
'paste_remove_spans' => true,
'paste_strip_class_attributes' => 'all',
'wpeditimage_disable_captions' => $no_captions,
- 'plugins' => "$plugins"
+ 'plugins' => $plugins
);
- $mce_css = trim(apply_filters('mce_css', ''), ' ,');
+ if ( ! empty( $editor_styles ) && is_array( $editor_styles ) ) {
+ $mce_css = array();
+ $style_uri = get_stylesheet_directory_uri();
+ if ( TEMPLATEPATH == STYLESHEETPATH ) {
+ foreach ( $editor_styles as $file )
+ $mce_css[] = "$style_uri/$file";
+ } else {
+ $style_dir = get_stylesheet_directory();
+ $template_uri = get_template_directory_uri();
+ $template_dir = get_template_directory();
+ foreach ( $editor_styles as $file ) {
+ if ( file_exists( "$style_dir/$file" ) )
+ $mce_css[] = "$style_uri/$file";
+ if ( file_exists( "$template_dir/$file" ) )
+ $mce_css[] = "$template_uri/$file";
+ }
+ }
+ $mce_css = implode( ',', $mce_css );
+ } else {
+ $mce_css = '';
+ }
+
+ $mce_css = trim( apply_filters( 'mce_css', $mce_css ), ' ,' );
if ( ! empty($mce_css) )
- $initArray['content_css'] = "$mce_css";
+ $initArray['content_css'] = $mce_css;
if ( is_array($settings) )
$initArray = array_merge($initArray, $settings);
@@ -1456,7 +1552,9 @@ function wp_tiny_mce( $teeny = false, $settings = false ) {
script_concat_settings();
$language = $initArray['language'];
- $zip = $compress_scripts ? 1 : 0;
+
+ $compressed = $compress_scripts && $concatenate_scripts && isset($_SERVER['HTTP_ACCEPT_ENCODING'])
+ && false !== strpos( strtolower($_SERVER['HTTP_ACCEPT_ENCODING']), 'gzip');
/**
* Deprecated
@@ -1490,8 +1588,8 @@ tinyMCEPreInit = {
\n";
+ if ( $compressed )
+ echo "\n";
else
echo "\n";
@@ -1504,7 +1602,7 @@ tinyMCEPreInit = {
comments (
KEY comment_approved (comment_approved),
KEY comment_post_ID (comment_post_ID),
KEY comment_approved_date_gmt (comment_approved,comment_date_gmt),
- KEY comment_date_gmt (comment_date_gmt)
+ KEY comment_date_gmt (comment_date_gmt),
+ KEY comment_parent (comment_parent)
) $charset_collate;
CREATE TABLE $wpdb->links (
link_id bigint(20) unsigned NOT NULL auto_increment,
@@ -145,7 +146,8 @@ CREATE TABLE $wpdb->posts (
PRIMARY KEY (ID),
KEY post_name (post_name),
KEY type_status_date (post_type,post_status,post_date,ID),
- KEY post_parent (post_parent)
+ KEY post_parent (post_parent),
+ KEY post_author (post_author)
) $charset_collate;
CREATE TABLE $wpdb->users (
ID bigint(20) unsigned NOT NULL auto_increment,
@@ -180,7 +182,7 @@ CREATE TABLE $wpdb->usermeta (
* @uses $wp_db_version
*/
function populate_options() {
- global $wpdb, $wp_db_version;
+ global $wpdb, $wp_db_version, $current_site;
$guessurl = wp_guess_url();
@@ -195,8 +197,9 @@ function populate_options() {
$options = array(
'siteurl' => $guessurl,
- 'blogname' => __('My Blog'),
- 'blogdescription' => __('Just another WordPress weblog'),
+ 'blogname' => __('My Site'),
+ /* translators: blog tagline */
+ 'blogdescription' => __('Just another WordPress site'),
'users_can_register' => 0,
'admin_email' => 'you@example.com',
'start_of_week' => 1,
@@ -243,9 +246,8 @@ function populate_options() {
// 1.5
'default_email_category' => 1,
'recently_edited' => '',
- 'use_linksupdate' => 0,
- 'template' => 'default',
- 'stylesheet' => 'default',
+ 'template' => WP_DEFAULT_THEME,
+ 'stylesheet' => WP_DEFAULT_THEME,
'comment_whitelist' => 1,
'blacklist_keys' => '',
'comment_registration' => 0,
@@ -263,9 +265,6 @@ function populate_options() {
'uploads_use_yearmonth_folders' => $uploads_use_yearmonth_folders,
'upload_path' => '',
- // 2.0.3
- 'secret' => wp_generate_password(64),
-
// 2.1
'blog_public' => '1',
'default_link_category' => 2,
@@ -297,9 +296,9 @@ function populate_options() {
'image_default_align' => '',
'close_comments_for_old_posts' => 0,
'close_comments_days_old' => 14,
- 'thread_comments' => 0,
+ 'thread_comments' => 1,
'thread_comments_depth' => 5,
- 'page_comments' => 1,
+ 'page_comments' => 0,
'comments_per_page' => 50,
'default_comments_page' => 'newest',
'comment_order' => 'asc',
@@ -315,8 +314,19 @@ function populate_options() {
'embed_autourls' => 1,
'embed_size_w' => '',
'embed_size_h' => 600,
+
+ // 3.0
+ 'page_for_posts' => 0,
+ 'page_on_front' => 0,
);
+ // 3.0 multisite
+ if ( is_multisite() ) {
+ /* translators: blog tagline */
+ $options[ 'blogdescription' ] = sprintf(__('Just another %s site'), $current_site->site_name );
+ $options[ 'permalink_structure' ] = '/%year%/%monthnum%/%day%/%postname%/';
+ }
+
// Set autoload to no for these options
$fat_options = array( 'moderation_keys', 'recently_edited', 'blacklist_keys' );
@@ -348,10 +358,10 @@ function populate_options() {
// Delete unused options
$unusedoptions = array ('blodotgsping_url', 'bodyterminator', 'emailtestonly', 'phoneemail_separator', 'smilies_directory', 'subjectprefix', 'use_bbcode', 'use_blodotgsping', 'use_phoneemail', 'use_quicktags', 'use_weblogsping', 'weblogs_cache_file', 'use_preview', 'use_htmltrans', 'smilies_directory', 'fileupload_allowedusers', 'use_phoneemail', 'default_post_status', 'default_post_category', 'archive_mode', 'time_difference', 'links_minadminlevel', 'links_use_adminlevels', 'links_rating_type', 'links_rating_char', 'links_rating_ignore_zero', 'links_rating_single_image', 'links_rating_image0', 'links_rating_image1', 'links_rating_image2', 'links_rating_image3', 'links_rating_image4', 'links_rating_image5', 'links_rating_image6', 'links_rating_image7', 'links_rating_image8', 'links_rating_image9', 'weblogs_cacheminutes', 'comment_allowed_tags', 'search_engine_friendly_urls', 'default_geourl_lat', 'default_geourl_lon', 'use_default_geourl', 'weblogs_xml_url', 'new_users_can_blog', '_wpnonce', '_wp_http_referer', 'Update', 'action', 'rich_editing', 'autosave_interval', 'deactivated_plugins', 'can_compress_scripts',
- 'page_uris', 'update_core', 'update_plugins', 'update_themes', 'doing_cron', 'random_seed', 'rss_excerpt_length');
+ 'page_uris', 'update_core', 'update_plugins', 'update_themes', 'doing_cron', 'random_seed', 'rss_excerpt_length', 'secret', 'use_linksupdate', 'default_comment_status_page' );
foreach ($unusedoptions as $option)
delete_option($option);
-
+
// delete obsolete magpie stuff
$wpdb->query("DELETE FROM $wpdb->options WHERE option_name REGEXP '^rss_[0-9a-f]{32}(_ts)?$'");
}
@@ -369,6 +379,7 @@ function populate_roles() {
populate_roles_260();
populate_roles_270();
populate_roles_280();
+ populate_roles_300();
}
/**
@@ -590,4 +601,181 @@ function populate_roles_280() {
}
}
+/**
+ * Create and modify WordPress roles for WordPress 3.0.
+ *
+ * @since 3.0.0
+ */
+function populate_roles_300() {
+ $role =& get_role( 'administrator' );
+
+ if ( !empty( $role ) ) {
+ $role->add_cap( 'update_core' );
+ $role->add_cap( 'list_users' );
+ $role->add_cap( 'remove_users' );
+ $role->add_cap( 'add_users' );
+ $role->add_cap( 'promote_users' );
+ $role->add_cap( 'edit_theme_options' );
+ $role->add_cap( 'delete_themes' );
+ $role->add_cap( 'export' );
+ }
+}
+
+/**
+ * populate network settings
+ *
+ * @since 3.0.0
+ *
+ * @param int $network_id id of network to populate
+ * @return bool|WP_Error True on success, or WP_Error on warning (with the install otherwise successful,
+ * so the error code must be checked) or failure.
+ */
+function populate_network( $network_id = 1, $domain = '', $email = '', $site_name = '', $path = '/', $subdomain_install = false ) {
+ global $wpdb, $current_site, $wp_db_version, $wp_rewrite;
+
+ $errors = new WP_Error();
+ if ( '' == $domain )
+ $errors->add( 'empty_domain', __( 'You must provide a domain name.' ) );
+ if ( '' == $site_name )
+ $errors->add( 'empty_sitename', __( 'You must provide a name for your network of sites.' ) );
+
+ // check for network collision
+ if ( $network_id == $wpdb->get_var( $wpdb->prepare( "SELECT id FROM $wpdb->site WHERE id = %d", $network_id ) ) )
+ $errors->add( 'siteid_exists', __( 'The network already exists.' ) );
+
+ $site_user = get_user_by_email( $email );
+ if ( ! is_email( $email ) )
+ $errors->add( 'invalid_email', __( 'You must provide a valid e-mail address.' ) );
+
+ if ( $errors->get_error_code() )
+ return $errors;
+
+ // set up site tables
+ $template = get_option( 'template' );
+ $stylesheet = get_option( 'stylesheet' );
+ $allowed_themes = array( $stylesheet => true );
+ if ( $template != $stylesheet )
+ $allowed_themes[ $template ] = true;
+ if ( WP_DEFAULT_THEME != $stylesheet && WP_DEFAULT_THEME != $template )
+ $allowed_themes[ WP_DEFAULT_THEME ] = true;
+
+ if ( 1 == $network_id ) {
+ $wpdb->insert( $wpdb->site, array( 'domain' => $domain, 'path' => $path ) );
+ $network_id = $wpdb->insert_id;
+ } else {
+ $wpdb->insert( $wpdb->site, array( 'domain' => $domain, 'path' => $path, 'id' => $network_id ) );
+ }
+
+ if ( !is_multisite() ) {
+ $site_admins = array( $site_user->user_login );
+ $users = get_users_of_blog();
+ if ( $users ) {
+ foreach ( $users as $user ) {
+ if ( is_super_admin( $user->ID ) && !in_array( $user->user_login, $site_admins ) )
+ $site_admins[] = $user->user_login;
+ }
+ }
+ } else {
+ $site_admins = get_site_option( 'site_admins' );
+ }
+
+ $welcome_email = __( 'Dear User,
+
+Your new SITE_NAME site has been successfully set up at:
+BLOG_URL
+
+You can log in to the administrator account with the following information:
+Username: USERNAME
+Password: PASSWORD
+Login Here: BLOG_URLwp-login.php
+
+We hope you enjoy your new site.
+Thanks!
+
+--The Team @ SITE_NAME' );
+
+ $sitemeta = array(
+ 'site_name' => $site_name,
+ 'admin_email' => $site_user->user_email,
+ 'admin_user_id' => $site_user->ID,
+ 'registration' => 'none',
+ 'upload_filetypes' => 'jpg jpeg png gif mp3 mov avi wmv midi mid pdf',
+ 'blog_upload_space' => 10,
+ 'fileupload_maxk' => 1500,
+ 'site_admins' => $site_admins,
+ 'allowedthemes' => $allowed_themes,
+ 'illegal_names' => array( 'www', 'web', 'root', 'admin', 'main', 'invite', 'administrator', 'files' ),
+ 'wpmu_upgrade_site' => $wp_db_version,
+ 'welcome_email' => $welcome_email,
+ 'first_post' => __( 'Welcome to SITE_NAME . This is your first post. Edit or delete it, then start blogging!' ),
+ // @todo - network admins should have a method of editing the network siteurl (used for cookie hash)
+ 'siteurl' => get_option( 'siteurl' ) . '/',
+ 'add_new_users' => '0',
+ 'upload_space_check_disabled' => '0',
+ 'subdomain_install' => intval( $subdomain_install ),
+ 'global_terms_enabled' => global_terms_enabled() ? '1' : '0'
+ );
+ if ( !intval( $subdomain_install ) )
+ $sitemeta['illegal_names'][] = 'blog';
+
+ $insert = '';
+ foreach ( $sitemeta as $meta_key => $meta_value ) {
+ $meta_key = $wpdb->escape( $meta_key );
+ if ( is_array( $meta_value ) )
+ $meta_value = serialize( $meta_value );
+ $meta_value = $wpdb->escape( $meta_value );
+ if ( !empty( $insert ) )
+ $insert .= ', ';
+ $insert .= "( $network_id, '$meta_key', '$meta_value')";
+ }
+ $wpdb->query( "INSERT INTO $wpdb->sitemeta ( site_id, meta_key, meta_value ) VALUES " . $insert );
+
+ $current_site->domain = $domain;
+ $current_site->path = $path;
+ $current_site->site_name = ucfirst( $domain );
+
+ if ( !is_multisite() ) {
+ $wpdb->insert( $wpdb->blogs, array( 'site_id' => $network_id, 'domain' => $domain, 'path' => $path, 'registered' => current_time( 'mysql' ) ) );
+ $blog_id = $wpdb->insert_id;
+ update_user_meta( $site_user->ID, 'source_domain', $domain );
+ update_user_meta( $site_user->ID, 'primary_blog', $blog_id );
+ if ( !$upload_path = get_option( 'upload_path' ) ) {
+ $upload_path = substr( WP_CONTENT_DIR, strlen( ABSPATH ) ) . '/uploads';
+ update_option( 'upload_path', $upload_path );
+ }
+ update_option( 'fileupload_url', get_option( 'siteurl' ) . '/' . $upload_path );
+ }
+
+ if ( $subdomain_install )
+ update_option( 'permalink_structure', '/%year%/%monthnum%/%day%/%postname%/');
+ else
+ update_option( 'permalink_structure', '/blog/%year%/%monthnum%/%day%/%postname%/');
+
+ $wp_rewrite->flush_rules();
+
+ if ( $subdomain_install ) {
+ $vhost_ok = false;
+ $errstr = '';
+ $hostname = substr( md5( time() ), 0, 6 ) . '.' . $domain; // Very random hostname!
+ $page = wp_remote_get( 'http://' . $hostname, array( 'timeout' => 5, 'httpversion' => '1.1' ) );
+ if ( is_wp_error( $page ) )
+ $errstr = $page->get_error_message();
+ elseif ( 200 == $page['response']['code'] )
+ $vhost_ok = true;
+
+ if ( ! $vhost_ok ) {
+ $msg = '' . __( 'Warning! Wildcard DNS may not be configured correctly!' ) . '
';
+ $msg .= '' . sprintf( __( 'The installer attempted to contact a random hostname (%1$s
) on your domain.' ), $hostname );
+ if ( ! empty ( $errstr ) )
+ $msg .= ' ' . sprintf( __( 'This resulted in an error message: %s' ), '' . $errstr . '
' );
+ $msg .= '
';
+ $msg .= '' . _e( 'To use a subdomain configuration, you must have a wildcard entry in your DNS. This usually means adding a *
hostname record pointing at your web server in your DNS configuration tool.' ) . '
';
+ $msg .= '' . __( 'You can still use your site but any subdomain you create may not be accessible. If you know your DNS is correct, ignore this message.' ) . '
';
+ return new WP_Error( 'no_wildcard_dns', $msg );
+ }
+ }
+
+ return true;
+}
+
?>
diff --git a/wp-admin/includes/taxonomy.php b/wp-admin/includes/taxonomy.php
index 5f104d63..b371ec24 100644
--- a/wp-admin/includes/taxonomy.php
+++ b/wp-admin/includes/taxonomy.php
@@ -19,7 +19,7 @@
* @return unknown
*/
function category_exists($cat_name, $parent = 0) {
- $id = is_term($cat_name, 'category', $parent);
+ $id = term_exists($cat_name, 'category', $parent);
if ( is_array($id) )
$id = $id['term_id'];
return $id;
@@ -48,7 +48,7 @@ function get_category_to_edit( $id ) {
* @return unknown
*/
function wp_create_category( $cat_name, $parent = 0 ) {
- if ( $id = category_exists($cat_name) )
+ if ( $id = category_exists($cat_name, $parent) )
return $id;
return wp_insert_category( array('cat_name' => $cat_name, 'category_parent' => $parent) );
@@ -73,19 +73,19 @@ function wp_create_categories($categories, $post_id = '') {
$cat_ids[] = $id;
}
- if ($post_id)
+ if ( $post_id )
wp_set_post_categories($post_id, $cat_ids);
return $cat_ids;
}
/**
- * {@internal Missing Short Description}}
+ * Deletes one existing category.
*
- * @since unknown
+ * @since 2.0.0
*
- * @param unknown_type $cat_ID
- * @return unknown
+ * @param int $cat_ID
+ * @return mixed Returns true if completes delete action; false if term doesnt exist; Zero on attempted deletion of default Category; WP_Error object is also a possibility.
*/
function wp_delete_category($cat_ID) {
$cat_ID = (int) $cat_ID;
@@ -99,16 +99,16 @@ function wp_delete_category($cat_ID) {
}
/**
- * {@internal Missing Short Description}}
+ * Updates an existing Category or creates a new Category.
*
- * @since unknown
+ * @since 2.0.0
*
- * @param unknown_type $catarr
- * @param unknown_type $wp_error
- * @return unknown
+ * @param mixed $catarr See defaults below. Set 'cat_ID' to a non-zero value to update an existing category. The 'taxonomy' key was added in 3.0.0.
+ * @param bool $wp_error Optional, since 2.5.0. Set this to true if the caller handles WP_Error return values.
+ * @return int|object The ID number of the new or updated Category on success. Zero or a WP_Error on failure, depending on param $wp_error.
*/
function wp_insert_category($catarr, $wp_error = false) {
- $cat_defaults = array('cat_ID' => 0, 'cat_name' => '', 'category_description' => '', 'category_nicename' => '', 'category_parent' => '');
+ $cat_defaults = array('cat_ID' => 0, 'taxonomy' => 'category', 'cat_name' => '', 'category_description' => '', 'category_nicename' => '', 'category_parent' => '');
$catarr = wp_parse_args($catarr, $cat_defaults);
extract($catarr, EXTR_SKIP);
@@ -142,9 +142,9 @@ function wp_insert_category($catarr, $wp_error = false) {
$args = compact('name', 'slug', 'parent', 'description');
if ( $update )
- $cat_ID = wp_update_term($cat_ID, 'category', $args);
+ $cat_ID = wp_update_term($cat_ID, $taxonomy, $args);
else
- $cat_ID = wp_insert_term($cat_name, 'category', $args);
+ $cat_ID = wp_insert_term($cat_name, $taxonomy, $args);
if ( is_wp_error($cat_ID) ) {
if ( $wp_error )
@@ -157,12 +157,15 @@ function wp_insert_category($catarr, $wp_error = false) {
}
/**
- * {@internal Missing Short Description}}
+ * Aliases wp_insert_category() with minimal args.
*
- * @since unknown
+ * If you want to update only some fields of an existing category, call this
+ * function with only the new values set inside $catarr.
*
- * @param unknown_type $catarr
- * @return unknown
+ * @since 2.0.0
+ *
+ * @param array $catarr The 'cat_ID' value is required. All other keys are optional.
+ * @return int|bool The ID number of the new or updated Category on success. Zero or FALSE on failure.
*/
function wp_update_category($catarr) {
$cat_ID = (int) $catarr['cat_ID'];
@@ -237,7 +240,7 @@ function get_terms_to_edit( $post_id, $taxonomy = 'post_tag' ) {
* @return unknown
*/
function tag_exists($tag_name) {
- return is_term($tag_name, 'post_tag');
+ return term_exists($tag_name, 'post_tag');
}
/**
@@ -261,7 +264,7 @@ function wp_create_tag($tag_name) {
* @return unknown
*/
function wp_create_term($tag_name, $taxonomy = 'post_tag') {
- if ( $id = is_term($tag_name, $taxonomy) )
+ if ( $id = term_exists($tag_name, $taxonomy) )
return $id;
return wp_insert_term($tag_name, $taxonomy);
diff --git a/wp-admin/includes/template.php b/wp-admin/includes/template.php
index 39f703a2..e3981f22 100644
--- a/wp-admin/includes/template.php
+++ b/wp-admin/includes/template.php
@@ -8,215 +8,23 @@
* @subpackage Administration
*/
-// Ugly recursive category stuff.
-/**
- * {@internal Missing Short Description}}
- *
- * @since unknown
- *
- * @param unknown_type $parent
- * @param unknown_type $level
- * @param unknown_type $categories
- * @param unknown_type $page
- * @param unknown_type $per_page
- */
-function cat_rows( $parent = 0, $level = 0, $categories = 0, $page = 1, $per_page = 20 ) {
-
- $count = 0;
-
- if ( empty($categories) ) {
-
- $args = array('hide_empty' => 0);
- if ( !empty($_GET['s']) )
- $args['search'] = $_GET['s'];
-
- $categories = get_categories( $args );
-
- if ( empty($categories) )
- return false;
- }
-
- $children = _get_term_hierarchy('category');
-
- _cat_rows( $parent, $level, $categories, $children, $page, $per_page, $count );
-
-}
-
-/**
- * {@internal Missing Short Description}}
- *
- * @since unknown
- *
- * @param unknown_type $categories
- * @param unknown_type $count
- * @param unknown_type $parent
- * @param unknown_type $level
- * @param unknown_type $page
- * @param unknown_type $per_page
- * @return unknown
- */
-function _cat_rows( $parent = 0, $level = 0, $categories, &$children, $page = 1, $per_page = 20, &$count ) {
-
- $start = ($page - 1) * $per_page;
- $end = $start + $per_page;
- ob_start();
-
- foreach ( $categories as $key => $category ) {
- if ( $count >= $end )
- break;
-
- if ( $category->parent != $parent && empty($_GET['s']) )
- continue;
-
- // If the page starts in a subtree, print the parents.
- if ( $count == $start && $category->parent > 0 ) {
-
- $my_parents = array();
- $p = $category->parent;
- while ( $p ) {
- $my_parent = get_category( $p );
- $my_parents[] = $my_parent;
- if ( $my_parent->parent == 0 )
- break;
- $p = $my_parent->parent;
- }
-
- $num_parents = count($my_parents);
- while( $my_parent = array_pop($my_parents) ) {
- echo "\t" . _cat_row( $my_parent, $level - $num_parents );
- $num_parents--;
- }
- }
-
- if ( $count >= $start )
- echo "\t" . _cat_row( $category, $level );
-
- unset( $categories[ $key ] );
-
- $count++;
-
- if ( isset($children[$category->term_id]) )
- _cat_rows( $category->term_id, $level + 1, $categories, $children, $page, $per_page, $count );
- }
-
- $output = ob_get_contents();
- ob_end_clean();
-
- echo $output;
-}
-
-/**
- * {@internal Missing Short Description}}
- *
- * @since unknown
- *
- * @param unknown_type $category
- * @param unknown_type $level
- * @param unknown_type $name_override
- * @return unknown
- */
-function _cat_row( $category, $level, $name_override = false ) {
- static $row_class = '';
-
- $category = get_category( $category, OBJECT, 'display' );
-
- $default_cat_id = (int) get_option( 'default_category' );
- $pad = str_repeat( '— ', max(0, $level) );
- $name = ( $name_override ? $name_override : $pad . ' ' . $category->name );
- $edit_link = "categories.php?action=edit&cat_ID=$category->term_id";
- if ( current_user_can( 'manage_categories' ) ) {
- $edit = "name)) . "'>" . esc_attr( $name ) . ' ';
- $actions = array();
- $actions['edit'] = '' . __('Edit') . ' ';
- $actions['inline hide-if-no-js'] = '' . __('Quick Edit') . ' ';
- if ( $default_cat_id != $category->term_id )
- $actions['delete'] = "term_id) . "'>" . __('Delete') . " ";
- $actions = apply_filters('cat_row_actions', $actions, $category);
- $action_count = count($actions);
- $i = 0;
- $edit .= '';
- foreach ( $actions as $action => $link ) {
- ++$i;
- ( $i == $action_count ) ? $sep = '' : $sep = ' | ';
- $edit .= "$link$sep ";
- }
- $edit .= '
';
- } else {
- $edit = $name;
- }
-
- $row_class = 'alternate' == $row_class ? '' : 'alternate';
- $qe_data = get_category_to_edit($category->term_id);
-
- $category->count = number_format_i18n( $category->count );
- $posts_count = ( $category->count > 0 ) ? "$category->count " : $category->count;
- $output = "";
-
- $columns = get_column_headers('categories');
- $hidden = get_hidden_columns('categories');
- foreach ( $columns as $column_name => $column_display_name ) {
- $class = "class=\"$column_name column-$column_name\"";
-
- $style = '';
- if ( in_array($column_name, $hidden) )
- $style = ' style="display:none;"';
-
- $attributes = "$class$style";
-
- switch ($column_name) {
- case 'cb':
- $output .= "";
- if ( $default_cat_id != $category->term_id ) {
- $output .= " ";
- } else {
- $output .= " ";
- }
- $output .= ' ';
- break;
- case 'name':
- $output .= "$edit";
- $output .= '';
- $output .= '
' . $qe_data->name . '
';
- $output .= '
' . apply_filters('editable_slug', $qe_data->slug) . '
';
- $output .= '
' . $qe_data->parent . '
';
- break;
- case 'description':
- $output .= "$category->description ";
- break;
- case 'slug':
- $output .= "" . apply_filters('editable_slug', $category->slug) . " ";
- break;
- case 'posts':
- $attributes = 'class="posts column-posts num"' . $style;
- $output .= "$posts_count \n";
- break;
- default:
- $output .= "";
- $output .= apply_filters('manage_categories_custom_column', '', $column_name, $category->term_id);
- $output .= " ";
- }
- }
- $output .= ' ';
-
- return $output;
-}
-
/**
* {@internal Missing Short Description}}
*
* @since 2.7
*
- * Outputs the HTML for the hidden table rows used in Categories, Link Caregories and Tags quick edit.
+ * Outputs the HTML for the hidden table rows used in Categories, Link Categories and Tags quick edit.
*
- * @param string $type "tag", "category" or "link-category"
+ * @param string $type "edit-tags", "categoried" or "edit-link-categories"
+ * @param string $taxonomy The taxonomy of the row.
* @return
*/
-function inline_edit_term_row($type) {
+function inline_edit_term_row($type, $taxonomy) {
- if ( ! current_user_can( 'manage_categories' ) )
+ $tax = get_taxonomy($taxonomy);
+ if ( ! current_user_can( $tax->cap->edit_terms ) )
return;
- $is_tag = $type == 'edit-tags';
$columns = get_column_headers($type);
$hidden = array_intersect( array_keys( $columns ), array_filter( get_hidden_columns($type) ) );
$col_count = count($columns) - count($hidden);
@@ -232,20 +40,12 @@ function inline_edit_term_row($type) {
-
+
-
-
-
-
-
- 0, 'name' => 'parent', 'orderby' => 'name', 'hierarchical' => 1, 'show_option_none' => __('None'))); ?>
-
-
-
+
@@ -256,18 +56,19 @@ function inline_edit_term_row($type) {
foreach ( $columns as $column_name => $column_display_name ) {
if ( isset( $core_columns[$column_name] ) )
continue;
- do_action( 'quick_edit_custom_box', $column_name, $type );
+ do_action( 'quick_edit_custom_box', $column_name, $type, $taxonomy );
}
?>
-
+ labels->update_item; ?>
-
+
+
@@ -371,81 +172,10 @@ function link_cat_row( $category, $name_override = false ) {
return $output;
}
-/**
- * Outputs the html checked attribute.
- *
- * Compares the first two arguments and if identical marks as checked
- *
- * @since 1.0
- *
- * @param any $checked One of the values to compare
- * @param any $current (true) The other value to compare if not just true
- * @param bool $echo Whether or not to echo or just return the string
- */
-function checked( $checked, $current = true, $echo = true) {
- return __checked_selected_helper( $checked, $current, $echo, 'checked' );
-}
-
-/**
- * Outputs the html selected attribute.
- *
- * Compares the first two arguments and if identical marks as selected
- *
- * @since 1.0
- *
- * @param any selected One of the values to compare
- * @param any $current (true) The other value to compare if not just true
- * @param bool $echo Whether or not to echo or just return the string
- */
-function selected( $selected, $current = true, $echo = true) {
- return __checked_selected_helper( $selected, $current, $echo, 'selected' );
-}
-
-/**
- * Private helper function for checked and selected.
- *
- * Compares the first two arguments and if identical marks as $type
- *
- * @since 2.8
- * @access private
- *
- * @param any $helper One of the values to compare
- * @param any $current (true) The other value to compare if not just true
- * @param bool $echo Whether or not to echo or just return the string
- * @param string $type The type of checked|selected we are doing.
- */
-function __checked_selected_helper( $helper, $current, $echo, $type) {
- if ( (string) $helper === (string) $current)
- $result = " $type='$type'";
- else
- $result = '';
-
- if ($echo)
- echo $result;
-
- return $result;
-}
-
//
// Category Checklists
//
-/**
- * {@internal Missing Short Description}}
- *
- * @since unknown
- * @deprecated Use {@link wp_link_category_checklist()}
- * @see wp_link_category_checklist()
- *
- * @param unknown_type $default
- * @param unknown_type $parent
- * @param unknown_type $popular_ids
- */
-function dropdown_categories( $default = 0, $parent = 0, $popular_ids = array() ) {
- global $post_ID;
- wp_category_checklist($post_ID);
-}
-
/**
* {@internal Missing Short Description}}
*
@@ -467,9 +197,16 @@ class Walker_Category_Checklist extends Walker {
function start_el(&$output, $category, $depth, $args) {
extract($args);
+ if ( empty($taxonomy) )
+ $taxonomy = 'category';
+
+ if ( $taxonomy == 'category' )
+ $name = 'post_category';
+ else
+ $name = 'tax_input['.$taxonomy.']';
$class = in_array( $category->term_id, $popular_cats ) ? ' class="popular-category"' : '';
- $output .= "\n" . ' term_id, $selected_cats ) ? ' checked="checked"' : "" ) . '/> ' . esc_html( apply_filters('the_category', $category->name )) . ' ';
+ $output .= "\n " . ' term_id, $selected_cats ), true, false ) . disabled( empty( $args['disabled'] ), false, false ) . ' /> ' . esc_html( apply_filters('the_category', $category->name )) . ' ';
}
function end_el(&$output, $category, $depth, $args) {
@@ -488,31 +225,62 @@ class Walker_Category_Checklist extends Walker {
* @param unknown_type $popular_cats
*/
function wp_category_checklist( $post_id = 0, $descendants_and_self = 0, $selected_cats = false, $popular_cats = false, $walker = null, $checked_ontop = true ) {
+ wp_terms_checklist($post_id,
+ array(
+ 'taxonomy' => 'category',
+ 'descendants_and_self' => $descendants_and_self,
+ 'selected_cats' => $selected_cats,
+ 'popular_cats' => $popular_cats,
+ 'walker' => $walker,
+ 'checked_ontop' => $checked_ontop
+ ));
+}
+
+/**
+ * Taxonomy independent version of wp_category_checklist
+ *
+ * @param int $post_id
+ * @param array $args
+ */
+function wp_terms_checklist($post_id = 0, $args = array()) {
+ $defaults = array(
+ 'descendants_and_self' => 0,
+ 'selected_cats' => false,
+ 'popular_cats' => false,
+ 'walker' => null,
+ 'taxonomy' => 'category',
+ 'checked_ontop' => true
+ );
+ extract( wp_parse_args($args, $defaults), EXTR_SKIP );
+
if ( empty($walker) || !is_a($walker, 'Walker') )
$walker = new Walker_Category_Checklist;
$descendants_and_self = (int) $descendants_and_self;
- $args = array();
+ $args = array('taxonomy' => $taxonomy);
+
+ $tax = get_taxonomy($taxonomy);
+ $args['disabled'] = !current_user_can($tax->cap->assign_terms);
if ( is_array( $selected_cats ) )
$args['selected_cats'] = $selected_cats;
elseif ( $post_id )
- $args['selected_cats'] = wp_get_post_categories($post_id);
+ $args['selected_cats'] = wp_get_object_terms($post_id, $taxonomy, array_merge($args, array('fields' => 'ids')));
else
$args['selected_cats'] = array();
if ( is_array( $popular_cats ) )
$args['popular_cats'] = $popular_cats;
else
- $args['popular_cats'] = get_terms( 'category', array( 'fields' => 'ids', 'orderby' => 'count', 'order' => 'DESC', 'number' => 10, 'hierarchical' => false ) );
+ $args['popular_cats'] = get_terms( $taxonomy, array( 'fields' => 'ids', 'orderby' => 'count', 'order' => 'DESC', 'number' => 10, 'hierarchical' => false ) );
if ( $descendants_and_self ) {
- $categories = get_categories( "child_of=$descendants_and_self&hierarchical=0&hide_empty=0" );
- $self = get_category( $descendants_and_self );
+ $categories = (array) get_terms($taxonomy, array( 'child_of' => $descendants_and_self, 'hierarchical' => 0, 'hide_empty' => 0 ) );
+ $self = get_term( $descendants_and_self, $taxonomy );
array_unshift( $categories, $self );
} else {
- $categories = get_categories('get=all');
+ $categories = (array) get_terms($taxonomy, array('get' => 'all'));
}
if ( $checked_ontop ) {
@@ -549,25 +317,31 @@ function wp_popular_terms_checklist( $taxonomy, $default = 0, $number = 10, $ech
global $post_ID;
if ( $post_ID )
- $checked_categories = wp_get_post_categories($post_ID);
+ $checked_terms = wp_get_object_terms($post_ID, $taxonomy, array('fields'=>'ids'));
else
- $checked_categories = array();
+ $checked_terms = array();
+
+ $terms = get_terms( $taxonomy, array( 'orderby' => 'count', 'order' => 'DESC', 'number' => $number, 'hierarchical' => false ) );
- $categories = get_terms( $taxonomy, array( 'orderby' => 'count', 'order' => 'DESC', 'number' => $number, 'hierarchical' => false ) );
+ $tax = get_taxonomy($taxonomy);
+ if ( ! current_user_can($tax->cap->assign_terms) )
+ $disabled = 'disabled="disabled"';
+ else
+ $disabled = '';
$popular_ids = array();
- foreach ( (array) $categories as $category ) {
- $popular_ids[] = $category->term_id;
+ foreach ( (array) $terms as $term ) {
+ $popular_ids[] = $term->term_id;
if ( !$echo ) // hack for AJAX use
continue;
- $id = "popular-category-$category->term_id";
- $checked = in_array( $category->term_id, $checked_categories ) ? 'checked="checked"' : '';
+ $id = "popular-$taxonomy-$term->term_id";
+ $checked = in_array( $term->term_id, $checked_terms ) ? 'checked="checked"' : '';
?>
- value="term_id; ?>" />
- name ) ); ?>
+ value="term_id; ?>" />
+ name ) ); ?>
@@ -576,21 +350,6 @@ function wp_popular_terms_checklist( $taxonomy, $default = 0, $number = 10, $ech
return $popular_ids;
}
-/**
- * {@internal Missing Short Description}}
- *
- * @since unknown
- * @deprecated Use {@link wp_link_category_checklist()}
- * @see wp_link_category_checklist()
- *
- * @param unknown_type $default
- */
-function dropdown_link_categories( $default = 0 ) {
- global $link_id;
-
- wp_link_category_checklist($link_id);
-}
-
/**
* {@internal Missing Short Description}}
*
@@ -602,26 +361,24 @@ function wp_link_category_checklist( $link_id = 0 ) {
$default = 1;
if ( $link_id ) {
- $checked_categories = wp_get_link_cats($link_id);
-
- if ( count( $checked_categories ) == 0 ) {
- // No selected categories, strange
+ $checked_categories = wp_get_link_cats( $link_id );
+ // No selected categories, strange
+ if ( ! count( $checked_categories ) )
$checked_categories[] = $default;
- }
} else {
$checked_categories[] = $default;
}
- $categories = get_terms('link_category', 'orderby=count&hide_empty=0');
+ $categories = get_terms( 'link_category', array( 'orderby' => 'name', 'hide_empty' => 0 ) );
- if ( empty($categories) )
+ if ( empty( $categories ) )
return;
foreach ( $categories as $category ) {
$cat_id = $category->term_id;
- $name = esc_html( apply_filters('the_category', $category->name));
- $checked = in_array( $cat_id, $checked_categories );
- echo ' ', $name, " ";
+ $name = esc_html( apply_filters( 'the_category', $category->name ) );
+ $checked = in_array( $cat_id, $checked_categories ) ? ' checked="checked"' : '';
+ echo ' ', $name, " ";
}
}
@@ -638,18 +395,36 @@ function wp_link_category_checklist( $link_id = 0 ) {
* @param unknown_type $class
* @return unknown
*/
-function _tag_row( $tag, $class = '', $taxonomy = 'post_tag' ) {
+function _tag_row( $tag, $level, $taxonomy = 'post_tag' ) {
+ global $post_type, $current_screen;
+ static $row_class = '';
+ $row_class = ($row_class == '' ? ' class="alternate"' : '');
+
$count = number_format_i18n( $tag->count );
- $tagsel = ($taxonomy == 'post_tag' ? 'tag' : $taxonomy);
- $count = ( $count > 0 ) ? "$count " : $count;
+ $tax = get_taxonomy($taxonomy);
+
+ if ( 'post_tag' == $taxonomy ) {
+ $tagsel = 'tag';
+ } elseif ( 'category' == $taxonomy ) {
+ $tagsel = 'category_name';
+ } elseif ( ! empty($tax->query_var) ) {
+ $tagsel = $tax->query_var;
+ } else {
+ $tagsel = $taxonomy;
+ }
- $name = apply_filters( 'term_name', $tag->name );
+ $pad = str_repeat( '— ', max(0, $level) );
+ $name = apply_filters( 'term_name', $pad . ' ' . $tag->name, $tag );
$qe_data = get_term($tag->term_id, $taxonomy, object, 'edit');
- $edit_link = "edit-tags.php?action=edit&taxonomy=$taxonomy&tag_ID=$tag->term_id";
+ $edit_link = "edit-tags.php?action=edit&taxonomy=$taxonomy&post_type=$post_type&tag_ID=$tag->term_id";
+
$out = '';
- $out .= '';
- $columns = get_column_headers('edit-tags');
- $hidden = get_hidden_columns('edit-tags');
+ $out .= ' ';
+
+
+ $columns = get_column_headers($current_screen);
+ $hidden = get_hidden_columns($current_screen);
+ $default_term = get_option('default_' . $taxonomy);
foreach ( $columns as $column_name => $column_display_name ) {
$class = "class=\"$column_name column-$column_name\"";
@@ -661,15 +436,24 @@ function _tag_row( $tag, $class = '', $taxonomy = 'post_tag' ) {
switch ($column_name) {
case 'cb':
- $out .= ' ';
+ if ( current_user_can($tax->cap->delete_terms) && $tag->term_id != $default_term )
+ $out .= ' ';
+ else
+ $out .= ' ';
break;
case 'name':
$out .= '' . $name . ' ';
$actions = array();
- $actions['edit'] = '' . __('Edit') . ' ';
- $actions['inline hide-if-no-js'] = '' . __('Quick Edit') . ' ';
- $actions['delete'] = "term_id) . "'>" . __('Delete') . " ";
+ if ( current_user_can($tax->cap->edit_terms) ) {
+ $actions['edit'] = '' . __('Edit') . ' ';
+ $actions['inline hide-if-no-js'] = '' . __('Quick Edit') . ' ';
+ }
+ if ( current_user_can($tax->cap->delete_terms) && $tag->term_id != $default_term )
+ $actions['delete'] = "term_id) . "'>" . __('Delete') . " ";
+
$actions = apply_filters('tag_row_actions', $actions, $tag);
+ $actions = apply_filters("${taxonomy}_row_actions", $actions, $tag);
+
$action_count = count($actions);
$i = 0;
$out .= '';
@@ -681,7 +465,8 @@ function _tag_row( $tag, $class = '', $taxonomy = 'post_tag' ) {
$out .= '
';
$out .= '';
$out .= '
' . $qe_data->name . '
';
- $out .= '
' . apply_filters('editable_slug', $qe_data->slug) . '
';
+ $out .= '' . apply_filters('editable_slug', $qe_data->slug) . '
';
+ $out .= '' . $qe_data->parent . '
';
break;
case 'description':
$out .= "$tag->description ";
@@ -691,7 +476,7 @@ function _tag_row( $tag, $class = '', $taxonomy = 'post_tag' ) {
break;
case 'posts':
$attributes = 'class="posts column-posts num"' . $style;
- $out .= "$count ";
+ $out .= "$count ";
break;
default:
$out .= "";
@@ -700,7 +485,7 @@ function _tag_row( $tag, $class = '', $taxonomy = 'post_tag' ) {
}
}
- $out .= ' ';
+ $out .= "\n";
return $out;
}
@@ -725,23 +510,84 @@ function tag_rows( $page = 1, $pagesize = 20, $searchterms = '', $taxonomy = 'po
$args = array('offset' => $start, 'number' => $pagesize, 'hide_empty' => 0);
- if ( !empty( $searchterms ) ) {
+ if ( !empty( $searchterms ) )
$args['search'] = $searchterms;
- }
-
- $tags = get_terms( $taxonomy, $args );
// convert it to table rows
$out = '';
$count = 0;
- foreach( $tags as $tag )
- $out .= _tag_row( $tag, ++$count % 2 ? ' class="alternate"' : '', $taxonomy );
+ if ( is_taxonomy_hierarchical($taxonomy) ) {
+ // We'll need the full set of terms then.
+ $args['number'] = $args['offset'] = 0;
+
+ $terms = get_terms( $taxonomy, $args );
+ if ( !empty( $searchterms ) ) // Ignore children on searches.
+ $children = array();
+ else
+ $children = _get_term_hierarchy($taxonomy);
+
+ // Some funky recursion to get the job done(Paging & parents mainly) is contained within, Skip it for non-hierarchical taxonomies for performance sake
+ $out .= _term_rows($taxonomy, $terms, $children, $page, $pagesize, $count);
+ } else {
+ $terms = get_terms( $taxonomy, $args );
+ foreach( $terms as $term )
+ $out .= _tag_row( $term, 0, $taxonomy );
+ $count = $pagesize; // Only displaying a single page.
+ }
- // filter and send to screen
echo $out;
return $count;
}
+function _term_rows( $taxonomy, $terms, &$children, $page = 1, $per_page = 20, &$count, $parent = 0, $level = 0 ) {
+
+ $start = ($page - 1) * $per_page;
+ $end = $start + $per_page;
+
+ $output = '';
+ foreach ( $terms as $key => $term ) {
+
+ if ( $count >= $end )
+ break;
+
+ if ( $term->parent != $parent && empty($_GET['s']) )
+ continue;
+
+ // If the page starts in a subtree, print the parents.
+ if ( $count == $start && $term->parent > 0 && empty($_GET['s']) ) {
+ $my_parents = $parent_ids = array();
+ $p = $term->parent;
+ while ( $p ) {
+ $my_parent = get_term( $p, $taxonomy );
+ $my_parents[] = $my_parent;
+ $p = $my_parent->parent;
+ if ( in_array($p, $parent_ids) ) // Prevent parent loops.
+ break;
+ $parent_ids[] = $p;
+ }
+ unset($parent_ids);
+
+ $num_parents = count($my_parents);
+ while ( $my_parent = array_pop($my_parents) ) {
+ $output .= "\t" . _tag_row( $my_parent, $level - $num_parents, $taxonomy );
+ $num_parents--;
+ }
+ }
+
+ if ( $count >= $start )
+ $output .= "\t" . _tag_row( $term, $level, $taxonomy );
+
+ ++$count;
+
+ unset($terms[$key]);
+
+ if ( isset($children[$term->term_id]) && empty($_GET['s']) )
+ $output .= _term_rows( $taxonomy, $terms, $children, $page, $per_page, $count, $term->term_id, $level + 1 );
+ }
+
+ return $output;
+}
+
// define the columns to display, the syntax is 'internal name' => 'display name'
/**
* {@internal Missing Short Description}}
@@ -750,19 +596,31 @@ function tag_rows( $page = 1, $pagesize = 20, $searchterms = '', $taxonomy = 'po
*
* @return unknown
*/
-function wp_manage_posts_columns() {
+function wp_manage_posts_columns( $screen = '') {
+ if ( empty($screen) )
+ $post_type = 'post';
+ else
+ $post_type = $screen->post_type;
+
$posts_columns = array();
$posts_columns['cb'] = ' ';
/* translators: manage posts column name */
- $posts_columns['title'] = _x('Post', 'column name');
+ $posts_columns['title'] = _x('Title', 'column name');
$posts_columns['author'] = __('Author');
- $posts_columns['categories'] = __('Categories');
- $posts_columns['tags'] = __('Tags');
+ if ( empty($post_type) || is_object_in_taxonomy($post_type, 'category') )
+ $posts_columns['categories'] = __('Categories');
+ if ( empty($post_type) || is_object_in_taxonomy($post_type, 'post_tag') )
+ $posts_columns['tags'] = __('Tags');
$post_status = !empty($_REQUEST['post_status']) ? $_REQUEST['post_status'] : 'all';
- if ( !in_array( $post_status, array('pending', 'draft', 'future') ) )
- $posts_columns['comments'] = ' ';
+ if ( !in_array( $post_status, array('pending', 'draft', 'future') ) && ( empty($post_type) || post_type_supports($post_type, 'comments') ) )
+ $posts_columns['comments'] = ' ';
$posts_columns['date'] = __('Date');
- $posts_columns = apply_filters('manage_posts_columns', $posts_columns);
+
+ if ( 'page' == $post_type )
+ $posts_columns = apply_filters( 'manage_pages_columns', $posts_columns );
+ else
+ $posts_columns = apply_filters( 'manage_posts_columns', $posts_columns, $post_type );
+ $posts_columns = apply_filters( "manage_{$post_type}_posts_columns", $posts_columns );
return $posts_columns;
}
@@ -785,7 +643,7 @@ function wp_manage_media_columns() {
//$posts_columns['tags'] = _x('Tags', 'column name');
/* translators: column name */
$posts_columns['parent'] = _x('Attached to', 'column name');
- $posts_columns['comments'] = ' ';
+ $posts_columns['comments'] = ' ';
//$posts_columns['comments'] = __('Comments');
/* translators: column name */
$posts_columns['date'] = _x('Date', 'column name');
@@ -802,46 +660,36 @@ function wp_manage_media_columns() {
* @return unknown
*/
function wp_manage_pages_columns() {
- $posts_columns = array();
- $posts_columns['cb'] = ' ';
- $posts_columns['title'] = __('Title');
- $posts_columns['author'] = __('Author');
- $post_status = !empty($_REQUEST['post_status']) ? $_REQUEST['post_status'] : 'all';
- if ( !in_array( $post_status, array('pending', 'draft', 'future') ) )
- $posts_columns['comments'] = ' ';
- $posts_columns['date'] = __('Date');
- $posts_columns = apply_filters('manage_pages_columns', $posts_columns);
-
- return $posts_columns;
+ return wp_manage_posts_columns();
}
/**
- * {@internal Missing Short Description}}
+ * Get the column headers for a screen
*
* @since unknown
*
- * @param unknown_type $page
- * @return unknown
+ * @param string|object $screen The screen you want the headers for
+ * @return array Containing the headers in the format id => UI String
*/
-function get_column_headers($page) {
+function get_column_headers($screen) {
global $_wp_column_headers;
if ( !isset($_wp_column_headers) )
$_wp_column_headers = array();
+ if ( is_string($screen) )
+ $screen = convert_to_screen($screen);
+
// Store in static to avoid running filters on each call
- if ( isset($_wp_column_headers[$page]) )
- return $_wp_column_headers[$page];
+ if ( isset($_wp_column_headers[$screen->id]) )
+ return $_wp_column_headers[$screen->id];
- switch ($page) {
+ switch ($screen->base) {
case 'edit':
- $_wp_column_headers[$page] = wp_manage_posts_columns();
+ $_wp_column_headers[$screen->id] = wp_manage_posts_columns( $screen );
break;
- case 'edit-pages':
- $_wp_column_headers[$page] = wp_manage_pages_columns();
- break;
case 'edit-comments':
- $_wp_column_headers[$page] = array(
+ $_wp_column_headers[$screen->id] = array(
'cb' => ' ',
'author' => __('Author'),
/* translators: column name */
@@ -852,7 +700,7 @@ function get_column_headers($page) {
break;
case 'link-manager':
- $_wp_column_headers[$page] = array(
+ $_wp_column_headers[$screen->id] = array(
'cb' => ' ',
'name' => __('Name'),
'url' => __('URL'),
@@ -864,10 +712,10 @@ function get_column_headers($page) {
break;
case 'upload':
- $_wp_column_headers[$page] = wp_manage_media_columns();
+ $_wp_column_headers[$screen->id] = wp_manage_media_columns();
break;
case 'categories':
- $_wp_column_headers[$page] = array(
+ $_wp_column_headers[$screen->id] = array(
'cb' => ' ',
'name' => __('Name'),
'description' => __('Description'),
@@ -877,7 +725,7 @@ function get_column_headers($page) {
break;
case 'edit-link-categories':
- $_wp_column_headers[$page] = array(
+ $_wp_column_headers[$screen->id] = array(
'cb' => ' ',
'name' => __('Name'),
'description' => __('Description'),
@@ -887,7 +735,7 @@ function get_column_headers($page) {
break;
case 'edit-tags':
- $_wp_column_headers[$page] = array(
+ $_wp_column_headers[$screen->id] = array(
'cb' => ' ',
'name' => __('Name'),
'description' => __('Description'),
@@ -897,7 +745,7 @@ function get_column_headers($page) {
break;
case 'users':
- $_wp_column_headers[$page] = array(
+ $_wp_column_headers[$screen->id] = array(
'cb' => ' ',
'username' => __('Username'),
'name' => __('Name'),
@@ -907,11 +755,11 @@ function get_column_headers($page) {
);
break;
default :
- $_wp_column_headers[$page] = array();
+ $_wp_column_headers[$screen->id] = array();
}
- $_wp_column_headers[$page] = apply_filters('manage_' . $page . '_columns', $_wp_column_headers[$page]);
- return $_wp_column_headers[$page];
+ $_wp_column_headers[$screen->id] = apply_filters('manage_' . $screen->id . '_columns', $_wp_column_headers[$screen->id]);
+ return $_wp_column_headers[$screen->id];
}
/**
@@ -919,18 +767,16 @@ function get_column_headers($page) {
*
* @since unknown
*
- * @param unknown_type $type
+ * @param unknown_type $screen
* @param unknown_type $id
*/
-function print_column_headers( $type, $id = true ) {
- $type = str_replace('.php', '', $type);
- $columns = get_column_headers( $type );
- $hidden = get_hidden_columns($type);
+function print_column_headers( $screen, $id = true ) {
+ if ( is_string($screen) )
+ $screen = convert_to_screen($screen);
+
+ $columns = get_column_headers( $screen );
+ $hidden = get_hidden_columns($screen);
$styles = array();
-// $styles['tag']['posts'] = 'width: 90px;';
-// $styles['link-category']['links'] = 'width: 90px;';
-// $styles['category']['posts'] = 'width: 90px;';
-// $styles['link']['visible'] = 'text-align: center;';
foreach ( $columns as $column_key => $column_display_name ) {
$class = ' class="manage-column';
@@ -948,8 +794,8 @@ function print_column_headers( $type, $id = true ) {
if ( in_array($column_key, $hidden) )
$style = 'display:none;';
- if ( isset($styles[$type]) && isset($styles[$type][$column_key]) )
- $style .= ' ' . $styles[$type][$column_key];
+ if ( isset($styles[$screen->id]) && isset($styles[$screen->id][$column_key]) )
+ $style .= ' ' . $styles[$screen>id][$column_key];
$style = ' style="' . $style . '"';
?>
>
@@ -968,10 +814,13 @@ function print_column_headers( $type, $id = true ) {
function register_column_headers($screen, $columns) {
global $_wp_column_headers;
+ if ( is_string($screen) )
+ $screen = convert_to_screen($screen);
+
if ( !isset($_wp_column_headers) )
$_wp_column_headers = array();
- $_wp_column_headers[$screen] = $columns;
+ $_wp_column_headers[$screen->id] = $columns;
}
/**
@@ -979,11 +828,13 @@ function register_column_headers($screen, $columns) {
*
* @since unknown
*
- * @param unknown_type $page
+ * @param unknown_type $screen
*/
-function get_hidden_columns($page) {
- $page = str_replace('.php', '', $page);
- return (array) get_user_option( 'manage-' . $page . '-columns-hidden', 0, false );
+function get_hidden_columns($screen) {
+ if ( is_string($screen) )
+ $screen = convert_to_screen($screen);
+
+ return (array) get_user_option( 'manage' . $screen->id. 'columnshidden' );
}
/**
@@ -993,43 +844,61 @@ function get_hidden_columns($page) {
*
* @since 2.7
*
- * @param string $type 'post' or 'page'
+ * @param string $screen
*/
-function inline_edit_row( $type ) {
+function inline_edit_row( $screen ) {
global $current_user, $mode;
- $is_page = 'page' == $type;
- if ( $is_page ) {
- $screen = 'edit-pages';
- $post = get_default_page_to_edit();
- } else {
- $screen = 'edit';
- $post = get_default_post_to_edit();
+ if ( is_string($screen) ) {
+ $screen = array('id' => 'edit-' . $screen, 'base' => 'edit', 'post_type' => $screen );
+ $screen = (object) $screen;
+ }
+
+ $post = get_default_post_to_edit( $screen->post_type );
+ $post_type_object = get_post_type_object( $screen->post_type );
+
+ $taxonomy_names = get_object_taxonomies( $screen->post_type );
+ $hierarchical_taxonomies = array();
+ $flat_taxonomies = array();
+ foreach ( $taxonomy_names as $taxonomy_name ) {
+ $taxonomy = get_taxonomy( $taxonomy_name);
+
+ if ( !$taxonomy->show_ui )
+ continue;
+
+ if ( $taxonomy->hierarchical )
+ $hierarchical_taxonomies[] = $taxonomy;
+ else
+ $flat_taxonomies[] = $taxonomy;
}
- $columns = $is_page ? wp_manage_pages_columns() : wp_manage_posts_columns();
+ $columns = wp_manage_posts_columns($screen);
$hidden = array_intersect( array_keys( $columns ), array_filter( get_hidden_columns($screen) ) );
$col_count = count($columns) - count($hidden);
$m = ( isset($mode) && 'excerpt' == $mode ) ? 'excerpt' : 'list';
- $can_publish = current_user_can("publish_{$type}s");
+ $can_publish = current_user_can($post_type_object->cap->publish_posts);
$core_columns = array( 'cb' => true, 'date' => true, 'title' => true, 'categories' => true, 'tags' => true, 'comments' => true, 'author' => true );
?>
- post_type ";
+ echo $bulk ? "bulk-edit-row bulk-edit-row-$hclass bulk-edit-$screen->post_type" : "quick-edit-row quick-edit-row-$hclass inline-edit-$screen->post_type";
?>" style="display: none">
-
+
-
+post_type, 'title' ) ) :
+ if ( $bulk ) : ?>
@@ -1041,16 +910,15 @@ function inline_edit_row( $type ) {
-
-
-
-
-
+
+
+
@@ -1059,12 +927,13 @@ function inline_edit_row( $type ) {
id, true, $type ); // TODO: ROLE SYSTEM
+ if ( post_type_supports( $screen->post_type, 'author' ) ) :
+ $authors = get_editable_user_ids( $current_user->id, true, $screen->post_type ); // TODO: ROLE SYSTEM
$authors_dropdown = '';
if ( $authors && count( $authors ) > 1 ) :
$users_opt = array('include' => $authors, 'name' => 'post_author', 'class'=> 'authors', 'multi' => 1, 'echo' => 0);
if ( $bulk )
- $users_opt['show_option_none'] = __('- No Change -');
+ $users_opt['show_option_none'] = __('— No Change —');
$authors_dropdown = '
';
$authors_dropdown .= '' . __( 'Author' ) . ' ';
$authors_dropdown .= wp_dropdown_users( $users_opt );
@@ -1073,7 +942,11 @@ function inline_edit_row( $type ) {
endif; // authors
?>
-
+
@@ -1089,7 +962,7 @@ function inline_edit_row( $type ) {
-
+
@@ -1097,41 +970,49 @@ function inline_edit_row( $type ) {
-
+
-
+
+
+
+ labels->name) ?>
-
-
+
post_type, 'author' ) && $bulk )
echo $authors_dropdown;
?>
-
+hierarchical ) : ?>
$post->post_parent, 'name' => 'post_parent', 'show_option_none' => __('Main Page (no parent)'), 'option_none_value' => 0, 'sort_column'=> 'menu_order, post_title');
+ $dropdown_args = array('post_type' => $post_type_object->name, 'selected' => $post->post_parent, 'name' => 'post_parent', 'show_option_none' => __('Main Page (no parent)'), 'option_none_value' => 0, 'sort_column'=> 'menu_order, post_title');
if ( $bulk )
- $dropdown_args['show_option_no_change'] = __('- No Change -');
+ $dropdown_args['show_option_no_change'] = __('— No Change —');
$dropdown_args = apply_filters('quick_edit_dropdown_pages_args', $dropdown_args);
wp_dropdown_pages($dropdown_args);
?>
-
+post_type, 'page-attributes' ) ) :
+ if ( !$bulk ) : ?>
@@ -1144,67 +1025,80 @@ function inline_edit_row( $type ) {
-
+
-
+hierarchical ?>
+
+
+
+
-
-
+ labels->name) ?>
+
-
+
-
+
+
+post_type, 'comments' ) || post_type_supports( $screen->post_type, 'trackbacks' ) ) :
+ if ( $bulk ) : ?>
+ post_type, 'comments' ) ) : ?>
-
+
-
+ post_type, 'trackbacks' ) ) : ?>
-
+
+
+ post_type, 'comments' ) ) : ?>
-
+ post_type, 'trackbacks' ) ) : ?>
+
-
-
+
-
+
@@ -1218,14 +1112,14 @@ function inline_edit_row( $type ) {
-
+post_type && $can_publish && current_user_can( $post_type_object->cap->edit_others_posts ) ) : ?>
-
+
@@ -1240,7 +1134,7 @@ function inline_edit_row( $type ) {
-
+
@@ -1250,23 +1144,24 @@ function inline_edit_row( $type ) {
foreach ( $columns as $column_name => $column_display_name ) {
if ( isset( $core_columns[$column_name] ) )
continue;
- do_action( $bulk ? 'bulk_edit_custom_box' : 'quick_edit_custom_box', $column_name, $type);
+ do_action( $bulk ? 'bulk_edit_custom_box' : 'quick_edit_custom_box', $column_name, $screen->post_type );
}
?>
-
+
-
+
+
@@ -1286,11 +1181,11 @@ function inline_edit_row( $type ) {
* @param unknown_type $post
*/
function get_inline_data($post) {
-
- if ( ! current_user_can('edit_' . $post->post_type, $post->ID) )
+ $post_type_object = get_post_type_object($post->post_type);
+ if ( ! current_user_can($post_type_object->cap->edit_post, $post->ID) )
return;
- $title = esc_attr($post->post_title);
+ $title = esc_attr( get_the_title( $post->ID ) );
echo '
@@ -1308,17 +1203,27 @@ function get_inline_data($post) {
' . mysql2date( 's', $post->post_date, false ) . '
' . esc_html( $post->post_password ) . '
';
- if( $post->post_type == 'page' )
- echo '
-
' . $post->post_parent . '
-
' . esc_html( get_post_meta( $post->ID, '_wp_page_template', true ) ) . '
- ';
+ if ( $post_type_object->hierarchical )
+ echo '
' . $post->post_parent . '
';
- if( $post->post_type == 'post' )
- echo '
-
' . esc_html( str_replace( ',', ', ', get_tags_to_edit($post->ID) ) ) . '
-
' . implode( ',', wp_get_post_categories( $post->ID ) ) . '
-
' . (is_sticky($post->ID) ? 'sticky' : '') . '
';
+ if ( $post->post_type == 'page' )
+ echo '
' . esc_html( get_post_meta( $post->ID, '_wp_page_template', true ) ) . '
';
+
+ if ( $post_type_object->hierarchical )
+ echo '';
+
+ $taxonomy_names = get_object_taxonomies( $post->post_type );
+ foreach ( $taxonomy_names as $taxonomy_name) {
+ $taxonomy = get_taxonomy( $taxonomy_name );
+
+ if ( $taxonomy->hierarchical && $taxonomy->show_ui )
+ echo '
' . implode( ',', wp_get_object_terms( $post->ID, $taxonomy_name, array('fields'=>'ids')) ) . '
';
+ elseif ( $taxonomy->show_ui )
+ echo '
' . esc_html( str_replace( ',', ', ', get_terms_to_edit($post->ID, $taxonomy_name) ) ) . '
';
+ }
+
+ if ( !$post_type_object->hierarchical )
+ echo '
' . (is_sticky($post->ID) ? 'sticky' : '') . '
';
echo '
';
}
@@ -1345,8 +1250,6 @@ function post_rows( $posts = array() ) {
$post_ids[] = $a_post->ID;
$comment_pending_count = get_pending_comments_num($post_ids);
- if ( empty($comment_pending_count) )
- $comment_pending_count = array();
foreach ( $posts as $post ) {
if ( empty($comment_pending_count[$post->ID]) )
@@ -1366,7 +1269,7 @@ function post_rows( $posts = array() ) {
* @param unknown_type $mode
*/
function _post_row($a_post, $pending_comments, $mode) {
- global $post, $current_user;
+ global $post, $current_user, $current_screen;
static $rowclass;
$global_post = $post;
@@ -1377,11 +1280,12 @@ function _post_row($a_post, $pending_comments, $mode) {
$post_owner = ( $current_user->ID == $post->post_author ? 'self' : 'other' );
$edit_link = get_edit_post_link( $post->ID );
$title = _draft_or_post_title();
+ $post_type_object = get_post_type_object($post->post_type);
?>
post_status ); ?> iedit' valign="top">
$column_display_name ) {
$class = "class=\"$column_name column-$column_name\"";
@@ -1395,7 +1299,7 @@ function _post_row($a_post, $pending_comments, $mode) {
case 'cb':
?>
- ID ) ) { ?>
+ cap->edit_post, $post->ID ) ) { ?>
- >ID) && $post->post_status != 'trash' ) { ?>
+ >cap->edit_post, $post->ID) && $post->post_status != 'trash' ) { ?>
ID) && 'trash' != $post->post_status ) {
- $actions['edit'] = '' . __('Edit') . ' ';
- $actions['inline hide-if-no-js'] = '' . __('Quick Edit') . ' ';
+ if ( current_user_can($post_type_object->cap->edit_post, $post->ID) && 'trash' != $post->post_status ) {
+ $actions['edit'] = '' . __('Edit') . ' ';
+ $actions['inline hide-if-no-js'] = '' . __('Quick Edit') . ' ';
}
- if ( current_user_can('delete_post', $post->ID) ) {
+ if ( current_user_can($post_type_object->cap->delete_post, $post->ID) ) {
if ( 'trash' == $post->post_status )
- $actions['untrash'] = "ID) . "'>" . __('Restore') . " ";
+ $actions['untrash'] = "ID) ), 'untrash-' . $post->post_type . '_' . $post->ID ) . "'>" . __('Restore') . " ";
elseif ( EMPTY_TRASH_DAYS )
- $actions['trash'] = "" . __('Trash') . " ";
+ $actions['trash'] = "" . __('Trash') . " ";
if ( 'trash' == $post->post_status || !EMPTY_TRASH_DAYS )
- $actions['delete'] = "ID) . "'>" . __('Delete Permanently') . " ";
+ $actions['delete'] = "" . __('Delete Permanently') . " ";
}
if ( in_array($post->post_status, array('pending', 'draft')) ) {
- if ( current_user_can('edit_post', $post->ID) )
- $actions['view'] = '' . __('Preview') . ' ';
+ if ( current_user_can($post_type_object->cap->edit_post, $post->ID) )
+ $actions['view'] = '' . __('Preview') . ' ';
} elseif ( 'trash' != $post->post_status ) {
$actions['view'] = '' . __('View') . ' ';
}
@@ -1528,7 +1432,7 @@ function _post_row($a_post, $pending_comments, $mode) {
case 'author':
?>
- >
+ >
- ID) ) { echo "" . __('Edit') . " "; } ?>
+ cap->edit_post, $post->ID) ) { echo "" . __('Edit') . " "; } ?>
- ID) ) { echo "ID) . "' class='delete'>" . __('Delete') . " "; } ?>
+ cap->delete_post, $post->ID) ) { echo "ID) . "' class='delete'>" . __('Delete') . " "; } ?>
ID;
$rowclass = 'alternate' == $rowclass ? '' : 'alternate';
- $posts_columns = get_column_headers('edit-pages');
- $hidden = get_hidden_columns('edit-pages');
+ $posts_columns = get_column_headers( $current_screen );
+ $hidden = get_hidden_columns( $current_screen );
$title = _draft_or_post_title();
+ $post_type = $page->post_type;
+ $post_type_object = get_post_type_object($post_type);
?>
$column_display_name) {
+foreach ( $posts_columns as $column_name => $column_display_name ) {
$class = "class=\"$column_name column-$column_name\"";
$style = '';
@@ -1623,7 +1529,7 @@ foreach ($posts_columns as $column_name=>$column_display_name) {
case 'cb':
?>
-
+ cap->edit_post, $page->ID ) ) { ?>
$column_display_name) {
$attributes = 'class="post-title page-title column-title"' . $style;
$edit_link = get_edit_post_link( $page->ID );
?>
- >ID) && $post->post_status != 'trash' ) { ?>
+ >cap->edit_post, $page->ID) && $post->post_status != 'trash' ) { ?> labels->parent_item_colon . ' ' . esc_html($parent_name) : ''; ?>
ID) && $post->post_status != 'trash' ) {
+ if ( current_user_can($post_type_object->cap->edit_post, $page->ID) && $post->post_status != 'trash' ) {
$actions['edit'] = '' . __('Edit') . ' ';
$actions['inline'] = '' . __('Quick Edit') . ' ';
}
- if ( current_user_can('delete_page', $page->ID) ) {
+ if ( current_user_can($post_type_object->cap->delete_post, $page->ID) ) {
if ( $post->post_status == 'trash' )
- $actions['untrash'] = "ID) . "'>" . __('Restore') . " ";
+ $actions['untrash'] = "post_type . '_' . $page->ID) . "'>" . __('Restore') . " ";
elseif ( EMPTY_TRASH_DAYS )
$actions['trash'] = "" . __('Trash') . " ";
if ( $post->post_status == 'trash' || !EMPTY_TRASH_DAYS )
- $actions['delete'] = "ID) . "'>" . __('Delete Permanently') . " ";
+ $actions['delete'] = "post_type . '_' . $page->ID) . "'>" . __('Delete Permanently') . " ";
}
if ( in_array($post->post_status, array('pending', 'draft')) ) {
- if ( current_user_can('edit_page', $page->ID) )
- $actions['view'] = '' . __('Preview') . ' ';
+ if ( current_user_can($post_type_object->cap->edit_post, $page->ID) )
+ $actions['view'] = '' . __('Preview') . ' ';
} elseif ( $post->post_status != 'trash' ) {
$actions['view'] = '' . __('View') . ' ';
}
@@ -1716,7 +1622,7 @@ foreach ($posts_columns as $column_name=>$column_display_name) {
case 'author':
?>
- >
+ >
post_parent == $page->ID ) {
$page->post_parent = 0;
- $wpdb->query( $wpdb->prepare("UPDATE $wpdb->posts SET post_parent = '0' WHERE ID = %d", $page->ID) );
+ $wpdb->update($wpdb->posts, array('post_parent' => 0), array('ID' => $page->ID));
clean_page_cache( $page->ID );
}
@@ -1820,12 +1726,9 @@ function page_rows($pages, $pagenum = 1, $per_page = 20) {
}
}
-/*
+/**
* Given a top level page ID, display the nested hierarchy of sub-pages
* together with paging support
- */
-/**
- * {@internal Missing Short Description}}
*
* @since unknown
*
@@ -1879,16 +1782,17 @@ function _page_rows( &$children_pages, &$count, $parent, $level, $pagenum, $per_
}
/**
- * {@internal Missing Short Description}}
+ * Generate HTML for a single row on the users.php admin panel.
*
- * @since unknown
+ * @since 2.1.0
*
- * @param unknown_type $user_object
- * @param unknown_type $style
- * @param unknown_type $role
- * @return unknown
+ * @param object $user_object
+ * @param string $style Optional. Attributes added to the TR element. Must be sanitized.
+ * @param string $role Key for the $wp_roles array.
+ * @param int $numposts Optional. Post count to display for this user. Defaults to zero, as in, a new user has made zero posts.
+ * @return string
*/
-function user_row( $user_object, $style = '', $role = '' ) {
+function user_row( $user_object, $style = '', $role = '', $numposts = 0 ) {
global $wp_roles;
$current_user = wp_get_current_user();
@@ -1904,12 +1808,11 @@ function user_row( $user_object, $style = '', $role = '' ) {
$short_url = substr( $short_url, 0, -1 );
if ( strlen( $short_url ) > 35 )
$short_url = substr( $short_url, 0, 32 ).'...';
- $numposts = get_usernumposts( $user_object->ID );
$checkbox = '';
// Check if the user for this row is editable
- if ( current_user_can( 'edit_user', $user_object->ID ) ) {
+ if ( current_user_can( 'list_users' ) ) {
// Set up the user editing link
- // TODO: make profile/user-edit determination a seperate function
+ // TODO: make profile/user-edit determination a separate function
if ($current_user->ID == $user_object->ID) {
$edit_link = 'profile.php';
} else {
@@ -1919,9 +1822,18 @@ function user_row( $user_object, $style = '', $role = '' ) {
// Set up the hover actions for this user
$actions = array();
- $actions['edit'] = '' . __('Edit') . ' ';
- if ( $current_user->ID != $user_object->ID )
+
+ if ( current_user_can('edit_user', $user_object->ID) ) {
+ $edit = "$user_object->user_login ";
+ $actions['edit'] = '' . __('Edit') . ' ';
+ } else {
+ $edit = "$user_object->user_login ";
+ }
+
+ if ( !is_multisite() && $current_user->ID != $user_object->ID && current_user_can('delete_user', $user_object->ID) )
$actions['delete'] = "" . __('Delete') . " ";
+ if ( is_multisite() && $current_user->ID != $user_object->ID && current_user_can('remove_user', $user_object->ID) )
+ $actions['remove'] = "" . __('Remove') . " ";
$actions = apply_filters('user_row_actions', $actions, $user_object);
$action_count = count($actions);
$i = 0;
@@ -1964,7 +1876,7 @@ function user_row( $user_object, $style = '', $role = '' ) {
$r .= "$user_object->first_name $user_object->last_name ";
break;
case 'email':
- $r .= "$email ";
+ $r .= "$email ";
break;
case 'role':
$r .= "$role_name ";
@@ -2095,8 +2007,10 @@ function _wp_comment_row( $comment_id, $mode, $comment_status, $checkbox = true,
$comment = get_comment( $comment_id );
$post = get_post($comment->comment_post_ID);
$the_comment_status = wp_get_comment_status($comment->comment_ID);
- $user_can = current_user_can('edit_post', $post->ID);
+ $post_type_object = get_post_type_object($post->post_type);
+ $user_can = current_user_can($post_type_object->cap->edit_post, $post->ID);
+ $comment_url = esc_url(get_comment_link($comment->comment_ID));
$author_url = get_comment_author_url();
if ( 'http://' == $author_url )
$author_url = '';
@@ -2114,7 +2028,6 @@ function _wp_comment_row( $comment_id, $mode, $comment_status, $checkbox = true,
$del_nonce = esc_html( '_wpnonce=' . wp_create_nonce( "delete-comment_$comment->comment_ID" ) );
$approve_nonce = esc_html( '_wpnonce=' . wp_create_nonce( "approve-comment_$comment->comment_ID" ) );
- $comment_url = esc_url(get_comment_link($comment->comment_ID));
$approve_url = esc_url( "comment.php?action=approvecomment&p=$post->ID&c=$comment->comment_ID&$approve_nonce" );
$unapprove_url = esc_url( "comment.php?action=unapprovecomment&p=$post->ID&c=$comment->comment_ID&$approve_nonce" );
$spam_url = esc_url( "comment.php?action=spamcomment&p=$post->ID&c=$comment->comment_ID&$del_nonce" );
@@ -2146,7 +2059,18 @@ function _wp_comment_row( $comment_id, $mode, $comment_status, $checkbox = true,
case 'comment':
echo "";
echo '';
- printf(__('Submitted on
%2$s at %3$s '), $comment_url, get_comment_date(__('Y/m/d')), get_comment_date(__('g:ia')));
+ /* translators: 2: comment date, 3: comment time */
+ printf( __( '
%2$s at %3$s ' ), $comment_url,
+ /* translators: comment date format. See http://php.net/date */ get_comment_date( __('Y/m/d') ),
+ /* translators: comment time format. See http://php.net/date */ get_comment_date( get_option( 'time_format' ) ) );
+
+ if ( $comment->comment_parent ) {
+ $parent = get_comment( $comment->comment_parent );
+ $parent_link = esc_url( get_comment_link( $comment->comment_parent ) );
+ $name = apply_filters( 'get_comment_author', $parent->comment_author ); // there's no API function for this
+ printf( ' | '.__( 'In reply to
%2$s .' ), $parent_link, $name );
+ }
+
echo '
';
comment_text();
if ( $user_can ) { ?>
@@ -2184,7 +2108,7 @@ function _wp_comment_row( $comment_id, $mode, $comment_status, $checkbox = true,
if ( 'spam' != $the_comment_status && 'trash' != $the_comment_status ) {
$actions['spam'] = "';
} elseif ( 'spam' == $the_comment_status ) {
- $actions['unspam'] = "';
+ $actions['unspam'] = "';
} elseif ( 'trash' == $the_comment_status ) {
$actions['untrash'] = "';
}
@@ -2253,9 +2177,9 @@ function _wp_comment_row( $comment_id, $mode, $comment_status, $checkbox = true,
case 'response':
if ( 'single' !== $mode ) {
if ( isset( $_comment_pending_count[$post->ID] ) ) {
- $pending_comments = absint( $_comment_pending_count[$post->ID] );
+ $pending_comments = $_comment_pending_count[$post->ID];
} else {
- $_comment_pending_count_temp = (array) get_pending_comments_num( array( $post->ID ) );
+ $_comment_pending_count_temp = get_pending_comments_num( array( $post->ID ) );
$pending_comments = $_comment_pending_count[$post->ID] = $_comment_pending_count_temp[$post->ID];
}
if ( $user_can ) {
@@ -2349,7 +2273,7 @@ function wp_comment_reply($position = '1', $checkbox = false, $mode = 'single',
-
+
@@ -2362,7 +2286,7 @@ function wp_comment_reply($position = '1', $checkbox = false, $mode = 'single',
-
+
@@ -2389,39 +2313,6 @@ function wp_comment_trashnotice() {
0) );
-
- if ( $categories ) {
- foreach ( $categories as $category ) {
- if ( $currentcat != $category->term_id && $parent == $category->parent) {
- $pad = str_repeat( '– ', $level );
- $category->name = esc_html( $category->name );
- echo "\n\tterm_id )
- echo " selected='selected'";
- echo ">$pad$category->name ";
- wp_dropdown_cats( $currentcat, $currentparent, $category->term_id, $level +1, $categories );
- }
- }
- } else {
- return false;
- }
-}
-
/**
* {@internal Missing Short Description}}
*
@@ -2510,7 +2401,7 @@ function _list_meta_row( $entry, &$count ) {
$r .= "\n\t\t ";
- $r .= "\n\t\t
";
+ $r .= "\n\t\t ";
$r .= wp_nonce_field( 'change-meta', '_ajax_nonce', false, false );
$r .= "";
@@ -2531,12 +2422,12 @@ function meta_form() {
FROM $wpdb->postmeta
GROUP BY meta_key
HAVING meta_key NOT LIKE '\_%'
- ORDER BY LOWER(meta_key)
+ ORDER BY meta_key
LIMIT $limit" );
if ( $keys )
natcasesort($keys);
?>
-
+
@@ -2594,7 +2484,7 @@ function touch_time( $edit = 1, $for_post = 1, $tab_index = 0, $multi = 0 ) {
global $wp_locale, $post, $comment;
if ( $for_post )
- $edit = ( in_array($post->post_status, array('draft', 'pending') ) && (!$post->post_date_gmt || '0000-00-00 00:00:00' == $post->post_date_gmt ) ) ? false : true;
+ $edit = ! ( in_array($post->post_status, array('draft', 'pending') ) && (!$post->post_date_gmt || '0000-00-00 00:00:00' == $post->post_date_gmt ) );
$tab_index_attribute = '';
if ( (int) $tab_index > 0 )
@@ -2602,7 +2492,7 @@ function touch_time( $edit = 1, $for_post = 1, $tab_index = 0, $multi = 0 ) {
// echo ' '.__( 'Edit timestamp' ).' ';
- $time_adj = time() + (get_option( 'gmt_offset' ) * 3600 );
+ $time_adj = current_time('timestamp');
$post_date = ($for_post) ? $post->post_date : $comment->comment_date;
$jj = ($edit) ? mysql2date( 'd', $post_date, false ) : gmdate( 'd', $time_adj );
$mm = ($edit) ? mysql2date( 'm', $post_date, false ) : gmdate( 'm', $time_adj );
@@ -2709,18 +2599,6 @@ function parent_dropdown( $default = 0, $parent = 0, $level = 0 ) {
}
}
-/**
- * {@internal Missing Short Description}}
- *
- * @since unknown
- */
-function browse_happy() {
- $getit = __( 'WordPress recommends a better browser' );
- echo '
-
-';
-}
-
/**
* {@internal Missing Short Description}}
*
@@ -2736,7 +2614,7 @@ function the_attachment_links( $id = false ) {
if ( $post->post_type != 'attachment' )
return false;
- $icon = get_attachment_icon( $post->ID );
+ $icon = wp_get_attachment_image( $post->ID, 'thumbnail', true );
$attachment_data = wp_get_attachment_metadata( $id );
$thumb = isset( $attachment_data['thumb'] );
?>
@@ -2784,13 +2662,12 @@ function the_attachment_links( $id = false ) {
* @param string $default slug for the role that should be already selected
*/
function wp_dropdown_roles( $selected = false ) {
- global $wp_roles;
$p = '';
$r = '';
$editable_roles = get_editable_roles();
- foreach( $editable_roles as $role => $details ) {
+ foreach ( $editable_roles as $role => $details ) {
$name = translate_user_role($details['name'] );
if ( $selected == $role ) // Make default first in list
$p = "\n\t$name ";
@@ -2881,18 +2758,6 @@ function wp_import_upload_form( $action ) {
endif;
}
-/**
- * {@internal Missing Short Description}}
- *
- * @since unknown
- */
-function wp_remember_old_slug() {
- global $post;
- $name = esc_attr($post->post_name); // just in case
- if ( strlen($name) )
- echo ' ';
-}
-
/**
* Add a meta box to an edit form.
*
@@ -2957,29 +2822,27 @@ function add_meta_box($id, $title, $callback, $page, $context = 'advanced', $pri
}
/**
- * {@internal Missing Short Description}}
+ * Meta-Box template function
*
- * @since unknown
+ * @since 2.5.0
*
- * @param unknown_type $page
- * @param unknown_type $context
- * @param unknown_type $object
+ * @param string $page page identifier, also known as screen identifier
+ * @param string $context box context
+ * @param mixed $object gets passed to the box callback function as first parameter
* @return int number of meta_boxes
*/
function do_meta_boxes($page, $context, $object) {
global $wp_meta_boxes;
static $already_sorted = false;
- //do_action('do_meta_boxes', $page, $context, $object);
-
$hidden = get_hidden_meta_boxes($page);
- echo "