Changeset 15491
- Timestamp:
- 08/11/2010 09:54:51 PM (15 years ago)
- Location:
- trunk
- Files:
-
- 7 added
- 35 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-admin/admin-ajax.php
r15471 r15491 51 51 if ( isset( $_GET['action'] ) ) : 52 52 switch ( $action = $_GET['action'] ) : 53 case 'fetch-list' : 54 require_once( './includes/default-list-tables.php' ); 55 56 $class = $_GET['list_args']['class']; 57 58 if ( class_exists( $class ) ) { 59 global $current_screen; 60 $current_screen = (object) $_GET['list_args']['screen']; 61 $table = new $class; 62 $table->ajax_response(); 63 } 64 65 die('-1'); 66 break; 53 67 case 'ajax-tag-search' : 54 68 if ( !current_user_can( 'edit_posts' ) ) … … 516 530 $x->send(); 517 531 break; 518 case 'add-link-cat' : // From Blogroll -> Categories 519 check_ajax_referer( 'add-link-category' ); 520 if ( !current_user_can( 'manage_categories' ) ) 521 die('-1'); 522 523 if ( '' === trim($_POST['name']) ) { 524 $x = new WP_Ajax_Response( array( 525 'what' => 'link-cat', 526 'id' => new WP_Error( 'name', __('You did not enter a category name.') ) 527 ) ); 528 $x->send(); 529 } 530 531 $r = wp_insert_term($_POST['name'], 'link_category', $_POST ); 532 if ( is_wp_error( $r ) ) { 533 $x = new WP_AJAX_Response( array( 534 'what' => 'link-cat', 535 'id' => $r 536 ) ); 537 $x->send(); 538 } 539 540 extract($r, EXTR_SKIP); 541 542 if ( !$link_cat = link_cat_row( $term_id ) ) 543 die('0'); 544 545 $x = new WP_Ajax_Response( array( 546 'what' => 'link-cat', 547 'id' => $term_id, 548 'position' => -1, 549 'data' => $link_cat 550 ) ); 551 $x->send(); 552 break; 553 case 'add-tag' : // From Manage->Tags 532 case 'add-tag' : 554 533 check_ajax_referer( 'add-tag' ); 555 534 $post_type = !empty($_POST['post_type']) ? $_POST['post_type'] : 'post'; … … 557 536 $tax = get_taxonomy($taxonomy); 558 537 538 if ( !current_user_can( $tax->cap->edit_terms ) ) 539 die('-1'); 540 559 541 $x = new WP_Ajax_Response(); 560 561 if ( !current_user_can( $tax->cap->edit_terms ) )562 die('-1');563 542 564 543 $tag = wp_insert_term($_POST['tag-name'], $taxonomy, $_POST ); … … 578 557 if ( isset($_POST['screen']) ) 579 558 set_current_screen($_POST['screen']); 559 560 require_once( './includes/default-list-tables.php' ); 561 $table = new WP_Terms_Table( 'ajax' ); 580 562 581 563 $level = 0; … … 589 571 $level++; 590 572 } 591 $noparents = _tag_row( $tag, $level, $taxonomy );573 $noparents = $table->single_row( $tag, $level, $taxonomy ); 592 574 } 593 575 $tag->name = $tag_full_name; 594 $parents = _tag_row( $tag, 0, $taxonomy);576 $parents = $table->single_row( $tag, 0, $taxonomy); 595 577 596 578 $x->add( array( … … 601 583 'what' => 'term', 602 584 'position' => $level, 603 'supplemental' => get_term( $tag->term_id, $taxonomy, ARRAY_A ) // Refetch as $tag has been contaminated by the full name.585 'supplemental' => get_term( $tag->term_id, $taxonomy, ARRAY_A ) // Refetch as $tag has been contaminated by the full name. 604 586 ) ); 605 587 $x->send(); … … 643 625 if ( !current_user_can( 'edit_posts' ) ) 644 626 die('-1'); 645 $search = isset($_POST['s']) ? $_POST['s'] : false; 646 $status = isset($_POST['comment_status']) ? $_POST['comment_status'] : 'all'; 647 $per_page = isset($_POST['per_page']) ? (int) $_POST['per_page'] + 8 : 28; 648 $start = isset($_POST['page']) ? ( intval($_POST['page']) * $per_page ) -1 : $per_page - 1; 649 if ( 1 > $start ) 650 $start = 27; 651 652 $mode = isset($_POST['mode']) ? $_POST['mode'] : 'detail'; 653 $p = isset($_POST['p']) ? $_POST['p'] : 0; 654 $comment_type = isset($_POST['comment_type']) ? $_POST['comment_type'] : ''; 655 list($comments, $total) = _wp_get_comment_list( $status, $search, $start, 1, $p, $comment_type ); 627 628 require_once( './includes/default-list-tables.php' ); 629 $table = new WP_Comments_Table( 'ajax' ); 630 631 global $comments; 632 633 if ( !$comments ) 634 die('1'); 656 635 657 636 if ( get_option('show_avatars') ) 658 637 add_filter( 'comment_author', 'floated_admin_avatar' ); 659 638 660 if ( !$comments )661 die('1');662 639 $x = new WP_Ajax_Response(); 663 640 foreach ( (array) $comments as $comment ) { 664 641 get_comment( $comment ); 665 642 ob_start(); 666 _wp_comment_row( $comment->comment_ID, $mode, $status, true, true );643 $table->single_row( $comment->comment_ID, $mode, $status, true, true ); 667 644 $comment_list_item = ob_get_contents(); 668 645 ob_end_clean(); … … 682 659 die('-1'); 683 660 684 $start = isset($_POST['start']) ? intval($_POST['start']) : 0;685 $ num = isset($_POST['num']) ? intval($_POST['num']) : 10;686 687 list($comments, $total) = _wp_get_comment_list( false, false, $start, $num, $post_ID );661 require_once( './includes/default-list-tables.php' ); 662 $table = new WP_Comments_Table( 'ajax' ); 663 664 global $comments; 688 665 689 666 if ( !$comments ) … … 695 672 get_comment( $comment ); 696 673 ob_start(); 697 _wp_comment_row( $comment->comment_ID, 'single', false, false );674 $table->single_row( $comment->comment_ID, 'single', false, false ); 698 675 $comment_list_item .= ob_get_contents(); 699 676 ob_end_clean(); … … 707 684 case 'replyto-comment' : 708 685 check_ajax_referer( $action, '_ajax_nonce-replyto-comment' ); 686 687 require_once( './includes/default-list-tables.php' ); 688 $table = new WP_Comments_Table( 'ajax' ); 709 689 710 690 $comment_post_ID = (int) $_POST['comment_post_ID']; … … 760 740 _wp_dashboard_recent_comments_row( $comment, false ); 761 741 } else { 762 _wp_comment_row( $comment->comment_ID, $mode, false, $checkbox );742 $table->single_row( $comment->comment_ID, $mode, false, $checkbox ); 763 743 } 764 744 $comment_list_item = ob_get_contents(); … … 796 776 add_filter( 'comment_author', 'floated_admin_avatar' ); 797 777 798 $x = new WP_Ajax_Response(); 778 require_once( './includes/default-list-tables.php' ); 779 $table = new WP_Comments_Table( 'ajax' ); 799 780 800 781 ob_start(); 801 _wp_comment_row( $comment_id, $mode, $comments_listing, $checkbox );782 $table->single_row( $comment_id, $mode, $comments_listing, $checkbox ); 802 783 $comment_list_item = ob_get_contents(); 803 784 ob_end_clean(); 785 786 $x = new WP_Ajax_Response(); 804 787 805 788 $x->add( array( … … 942 925 $user_object = new WP_User( $user_id ); 943 926 927 require_once( './includes/default-list-tables.php' ); 928 $table = new WP_Users_Table( 'ajax' ); 929 944 930 $x = new WP_Ajax_Response( array( 945 931 'what' => 'user', 946 932 'id' => $user_id, 947 'data' => user_row( $user_object, '', $user_object->roles[0] ),933 'data' => $table->single_row( $user_object, '', $user_object->roles[0] ), 948 934 'supplemental' => array( 949 935 'show-link' => sprintf(__( 'User <a href="#%s">%s</a> added' ), "user-$user_id", $user_object->user_login), … … 1232 1218 edit_post(); 1233 1219 1234 if ( in_array( $_POST['post_type'], get_post_types( array( 'show_ui' => true ) ) ) ) { 1235 $post = array(); 1236 $post[] = get_post($_POST['post_ID']); 1237 if ( is_post_type_hierarchical( $_POST['post_type'] ) ) { 1238 page_rows( $post ); 1239 } else { 1240 $mode = $_POST['post_view']; 1241 post_rows( $post ); 1242 } 1243 } 1220 require_once( './includes/default-list-tables.php' ); 1221 $table = new WP_Posts_Table( 'ajax' ); 1222 1223 $mode = $_POST['post_view']; 1224 $table->display_rows( array( get_post( $_POST['post_ID'] ) ) ); 1244 1225 1245 1226 exit; … … 1259 1240 die(-1); 1260 1241 1261 switch ($_POST['tax_type']) { 1262 case 'link-cat' : 1263 $updated = wp_update_term($id, 'link_category', $_POST); 1264 1265 if ( $updated && !is_wp_error($updated) ) 1266 echo link_cat_row($updated['term_id']); 1267 else 1268 die( __('Category not updated.') ); 1269 1270 break; 1271 case 'tag' : 1272 $taxonomy = !empty($_POST['taxonomy']) ? $_POST['taxonomy'] : 'post_tag'; 1273 1274 $tag = get_term( $id, $taxonomy ); 1275 $_POST['description'] = $tag->description; 1276 1277 $updated = wp_update_term($id, $taxonomy, $_POST); 1278 if ( $updated && !is_wp_error($updated) ) { 1279 $tag = get_term( $updated['term_id'], $taxonomy ); 1280 if ( !$tag || is_wp_error( $tag ) ) { 1281 if ( is_wp_error($tag) && $tag->get_error_message() ) 1282 die( $tag->get_error_message() ); 1283 die( __('Item not updated.') ); 1284 } 1285 1286 set_current_screen( 'edit-' . $taxonomy ); 1287 1288 echo _tag_row($tag, 0, $taxonomy); 1289 } else { 1290 if ( is_wp_error($updated) && $updated->get_error_message() ) 1291 die( $updated->get_error_message() ); 1292 die( __('Item not updated.') ); 1293 } 1294 1295 break; 1242 $taxonomy = !empty($_POST['taxonomy']) ? $_POST['taxonomy'] : 'post_tag'; 1243 1244 $tag = get_term( $id, $taxonomy ); 1245 $_POST['description'] = $tag->description; 1246 1247 $updated = wp_update_term($id, $taxonomy, $_POST); 1248 if ( $updated && !is_wp_error($updated) ) { 1249 $tag = get_term( $updated['term_id'], $taxonomy ); 1250 if ( !$tag || is_wp_error( $tag ) ) { 1251 if ( is_wp_error($tag) && $tag->get_error_message() ) 1252 die( $tag->get_error_message() ); 1253 die( __('Item not updated.') ); 1254 } 1255 1256 set_current_screen( 'edit-' . $taxonomy ); 1257 1258 require_once( './includes/default-list-tables.php' ); 1259 $table = new WP_Terms_Table( 'ajax' ); 1260 1261 echo $table->single_row( $tag, 0, $taxonomy ); 1262 } else { 1263 if ( is_wp_error($updated) && $updated->get_error_message() ) 1264 die( $updated->get_error_message() ); 1265 die( __('Item not updated.') ); 1296 1266 } 1297 1267 -
trunk/wp-admin/css/colors-classic.css
r15177 r15491 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,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;}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,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 .current #view-switch-list{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 .current #view-switch-excerpt{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;} -
trunk/wp-admin/css/colors-classic.dev.css
r15177 r15491 1593 1593 } 1594 1594 1595 .view-switch #view-switch-list.current {1595 .view-switch .current #view-switch-list { 1596 1596 background: transparent url(../images/list-vs.png) no-repeat -40px 0; 1597 1597 } … … 1601 1601 } 1602 1602 1603 .view-switch #view-switch-excerpt.current {1603 .view-switch .current #view-switch-excerpt { 1604 1604 background: transparent url(../images/list-vs.png) no-repeat -60px 0; 1605 1605 } -
trunk/wp-admin/css/colors-fresh.css
r15206 r15491 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,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;}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,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 .current #view-switch-list{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 .current #view-switch-excerpt{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;} -
trunk/wp-admin/css/colors-fresh.dev.css
r15206 r15491 1576 1576 } 1577 1577 1578 .view-switch #view-switch-list.current {1578 .view-switch .current #view-switch-list { 1579 1579 background: transparent url(../images/list.png) no-repeat -40px 0; 1580 1580 } … … 1584 1584 } 1585 1585 1586 .view-switch #view-switch-excerpt.current {1586 .view-switch .current #view-switch-excerpt { 1587 1587 background: transparent url(../images/list.png) no-repeat -60px 0; 1588 1588 } -
trunk/wp-admin/css/wp-admin.css
r15255 r15491 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%;}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{width:33%;}.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;}.plugins tbody th.check-column{padding:7px 0;}.plugins td,.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;}#loading-items{position:absolute;z-index:9999;padding:10px;background-color:#fff;font-weight:bold;text-align:center;opacity:.5;}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;}.tablenav-pages a{border-bottom-style:solid;border-bottom-width:2px;font-weight:bold;margin-right:1px;padding:0 2px;}.tablenav-pages .current-page{text-align:center;}.tablenav-pages .next-page{margin-left: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%;}input.regular-text,#adduser .form-field input{width:25em;}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;text-align:left;}.fixed .column-comments .vers{padding-left:3px;}.fixed .column-comments a{float:left;}.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;}.sorting-indicator{display:none;float:left;width:21px;height:4px;margin-top:5px;}th.sortable a,th.sorted-asc a,th.sorted-desc a{float:left;}th.sorted-asc .sorting-indicator,th.sorted-desc:hover .sorting-indicator,th.sortable:hover .sorting-indicator{display:block;background:url(../images/sort_asc.gif) no-repeat scroll 0 0;}th.sorted-desc .sorting-indicator,th.sorted-asc:hover .sorting-indicator{display:block;background:url(../images/sort_desc.gif) no-repeat scroll 0 0;}.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%;} -
trunk/wp-admin/css/wp-admin.dev.css
r15255 r15491 28 28 } 29 29 30 .plugins #name {width: 33%} 31 30 32 .plugins .name, 31 33 #pass-strength-result.strong, … … 68 70 } 69 71 70 . widefat tbody.pluginsth.check-column {72 .plugins tbody th.check-column { 71 73 padding: 7px 0; 72 74 } 73 75 74 .widefat .plugins td, 75 .widefat .plugins th { 76 .plugins td, .plugins th { 76 77 border-bottom: 0 none; 77 78 } … … 114 115 .anchors { 115 116 margin: 10px 20px 10px 20px; 117 } 118 119 #loading-items { 120 position: absolute; 121 z-index: 9999; 122 padding: 10px; 123 background-color: #fff; 124 font-weight: bold; 125 text-align: center; 126 opacity: 0.5; 116 127 } 117 128 … … 715 726 } 716 727 717 a.page-numbers{728 .tablenav-pages a { 718 729 border-bottom-style: solid; 719 730 border-bottom-width: 2px; … … 721 732 margin-right: 1px; 722 733 padding: 0 2px; 734 } 735 .tablenav-pages .current-page { 736 text-align: center; 737 } 738 .tablenav-pages .next-page { 739 margin-left: 2px; 723 740 } 724 741 … … 1347 1364 } 1348 1365 1349 .form-tableinput.regular-text,1366 input.regular-text, 1350 1367 #adduser .form-field input { 1351 1368 width: 25em; 1352 1369 } 1353 1370 1354 .form-tableinput.small-text {1371 input.small-text { 1355 1372 width: 50px; 1356 1373 } … … 3241 3258 width: 4em; 3242 3259 padding-top: 8px; 3260 text-align: left; 3261 } 3262 .fixed .column-comments .vers { 3263 padding-left: 3px; 3264 } 3265 .fixed .column-comments a { 3266 float: left; 3243 3267 } 3244 3268 … … 3273 3297 table .column-rating { 3274 3298 text-align: center; 3299 } 3300 3301 .sorting-indicator { 3302 display: none; 3303 float: left; 3304 width: 21px; 3305 height: 4px; 3306 margin-top: 5px; 3307 } 3308 th.sortable a, th.sorted-asc a, th.sorted-desc a { 3309 float: left; 3310 } 3311 th.sorted-asc .sorting-indicator, th.sorted-desc:hover .sorting-indicator, th.sortable:hover .sorting-indicator { 3312 display: block; 3313 background: url(../images/sort_asc.gif) no-repeat scroll 0 0; 3314 } 3315 th.sorted-desc .sorting-indicator, th.sorted-asc:hover .sorting-indicator { 3316 display: block; 3317 background: url(../images/sort_desc.gif) no-repeat scroll 0 0; 3275 3318 } 3276 3319 -
trunk/wp-admin/edit-comments.php
r15132 r15491 13 13 wp_die(__('Cheatin’ uh?')); 14 14 15 wp_enqueue_script('admin-comments'); 16 enqueue_comment_hotkeys_js(); 17 18 $post_id = isset($_REQUEST['p']) ? (int) $_REQUEST['p'] : 0; 19 20 if ( isset($_REQUEST['doaction']) || isset($_REQUEST['doaction2']) || isset($_REQUEST['delete_all']) || isset($_REQUEST['delete_all2']) ) { 21 check_admin_referer('bulk-comments'); 22 23 if ( (isset($_REQUEST['delete_all']) || isset($_REQUEST['delete_all2'])) && !empty($_REQUEST['pagegen_timestamp']) ) { 24 $comment_status = $wpdb->escape($_REQUEST['comment_status']); 25 $delete_time = $wpdb->escape($_REQUEST['pagegen_timestamp']); 15 if ( isset( $_REQUEST['doaction'] ) || isset( $_REQUEST['doaction2'] ) || isset( $_REQUEST['delete_all'] ) || isset( $_REQUEST['delete_all2'] ) ) { 16 check_admin_referer( 'bulk-comments' ); 17 18 if ( ( isset( $_REQUEST['delete_all'] ) || isset( $_REQUEST['delete_all2'] ) ) && !empty( $_REQUEST['pagegen_timestamp'] ) ) { 19 $comment_status = $wpdb->escape( $_REQUEST['comment_status'] ); 20 $delete_time = $wpdb->escape( $_REQUEST['pagegen_timestamp'] ); 26 21 $comment_ids = $wpdb->get_col( "SELECT comment_ID FROM $wpdb->comments WHERE comment_approved = '$comment_status' AND '$delete_time' > comment_date_gmt" ); 27 22 $doaction = 'delete'; 28 } elseif ( ( $_REQUEST['action'] != -1 || $_REQUEST['action2'] != -1) && isset($_REQUEST['delete_comments']) ) {23 } elseif ( ( $_REQUEST['action'] != -1 || $_REQUEST['action2'] != -1 ) && isset( $_REQUEST['delete_comments'] ) ) { 29 24 $comment_ids = $_REQUEST['delete_comments']; 30 $doaction = ( $_REQUEST['action'] != -1) ? $_REQUEST['action'] : $_REQUEST['action2'];31 } elseif ( $_REQUEST['doaction'] == 'undo' && isset( $_REQUEST['ids']) ) {32 $comment_ids = array_map( 'absint', explode( ',', $_REQUEST['ids']) );25 $doaction = ( $_REQUEST['action'] != -1 ) ? $_REQUEST['action'] : $_REQUEST['action2']; 26 } elseif ( $_REQUEST['doaction'] == 'undo' && isset( $_REQUEST['ids'] ) ) { 27 $comment_ids = array_map( 'absint', explode( ',', $_REQUEST['ids'] ) ); 33 28 $doaction = $_REQUEST['action']; 34 29 } else { … … 37 32 38 33 $approved = $unapproved = $spammed = $unspammed = $trashed = $untrashed = $deleted = 0; 39 $redirect_to = remove_query_arg( array( 'trashed', 'untrashed', 'deleted', 'spammed', 'unspammed', 'approved', 'unapproved', 'ids'), wp_get_referer() );40 41 foreach ( $comment_ids as $comment_id) { // Check the permissions on each42 $_post_id = (int) $wpdb->get_var( $wpdb->prepare( "SELECT comment_post_ID FROM $wpdb->comments WHERE comment_ID = %d", $comment_id ) );43 44 if ( !current_user_can( 'edit_post', $_post_id) )34 $redirect_to = remove_query_arg( array( 'trashed', 'untrashed', 'deleted', 'spammed', 'unspammed', 'approved', 'unapproved', 'ids' ), wp_get_referer() ); 35 36 foreach ( $comment_ids as $comment_id ) { // Check the permissions on each 37 $_post_id = (int) $wpdb->get_var( $wpdb->prepare( "SELECT comment_post_ID FROM $wpdb->comments WHERE comment_ID = %d", $comment_id ) ); 38 39 if ( !current_user_can( 'edit_post', $_post_id ) ) 45 40 continue; 46 41 47 switch ( $doaction ) {42 switch ( $doaction ) { 48 43 case 'approve' : 49 wp_set_comment_status( $comment_id, 'approve');44 wp_set_comment_status( $comment_id, 'approve' ); 50 45 $approved++; 51 46 break; 52 47 case 'unapprove' : 53 wp_set_comment_status( $comment_id, 'hold');48 wp_set_comment_status( $comment_id, 'hold' ); 54 49 $unapproved++; 55 50 break; 56 51 case 'spam' : 57 wp_spam_comment( $comment_id);52 wp_spam_comment( $comment_id ); 58 53 $spammed++; 59 54 break; 60 55 case 'unspam' : 61 wp_unspam_comment( $comment_id);56 wp_unspam_comment( $comment_id ); 62 57 $unspammed++; 63 58 break; 64 59 case 'trash' : 65 wp_trash_comment( $comment_id);60 wp_trash_comment( $comment_id ); 66 61 $trashed++; 67 62 break; 68 63 case 'untrash' : 69 wp_untrash_comment( $comment_id);64 wp_untrash_comment( $comment_id ); 70 65 $untrashed++; 71 66 break; 72 67 case 'delete' : 73 wp_delete_comment( $comment_id);68 wp_delete_comment( $comment_id ); 74 69 $deleted++; 75 70 break; … … 92 87 $redirect_to = add_query_arg( 'deleted', $deleted, $redirect_to ); 93 88 if ( $trashed || $spammed ) 94 $redirect_to = add_query_arg( 'ids', join( ',', $comment_ids), $redirect_to );89 $redirect_to = add_query_arg( 'ids', join( ',', $comment_ids ), $redirect_to ); 95 90 96 91 wp_redirect( $redirect_to ); 97 92 exit; 98 } elseif ( ! empty( $_GET['_wp_http_referer']) ) {99 wp_redirect( remove_query_arg( array( '_wp_http_referer', '_wpnonce'), stripslashes($_SERVER['REQUEST_URI']) ) );93 } elseif ( ! empty( $_REQUEST['_wp_http_referer'] ) ) { 94 wp_redirect( remove_query_arg( array( '_wp_http_referer', '_wpnonce' ), stripslashes( $_SERVER['REQUEST_URI'] ) ) ); 100 95 exit; 101 96 } 97 98 require_once( './includes/default-list-tables.php' ); 99 100 $table = new WP_Comments_Table; 101 102 wp_enqueue_script('admin-comments'); 103 enqueue_comment_hotkeys_js(); 102 104 103 105 if ( $post_id ) … … 119 121 ); 120 122 require_once('./admin-header.php'); 121 122 $mode = ( empty($_GET['mode']) ) ? 'detail' : esc_attr($_GET['mode']); 123 124 $comment_status = isset($_REQUEST['comment_status']) ? $_REQUEST['comment_status'] : 'all'; 125 if ( !in_array($comment_status, array('all', 'moderated', 'approved', 'spam', 'trash')) ) 126 $comment_status = 'all'; 127 128 $comment_type = !empty($_GET['comment_type']) ? esc_attr($_GET['comment_type']) : ''; 129 130 $search_dirty = ( isset($_GET['s']) ) ? $_GET['s'] : ''; 131 $search = esc_attr( $search_dirty ); ?> 123 ?> 132 124 133 125 <div class="wrap"> 134 126 <?php screen_icon(); ?> 135 127 <h2><?php echo esc_html( $title ); 136 if ( isset($_ GET['s']) && $_GET['s'] )137 printf( '<span class="subtitle">' . sprintf( __( 'Search results for “%s”' ), wp_html_excerpt( esc_html( stripslashes( $_ GET['s'] ) ), 50 ) ) . '</span>' ); ?>128 if ( isset($_REQUEST['s']) && $_REQUEST['s'] ) 129 printf( '<span class="subtitle">' . sprintf( __( 'Search results for “%s”' ), wp_html_excerpt( esc_html( stripslashes( $_REQUEST['s'] ) ), 50 ) ) . '</span>' ); ?> 138 130 </h2> 139 131 140 132 <?php 141 if ( isset( $_ GET['error'] ) ) {142 $error = (int) $_ GET['error'];133 if ( isset( $_REQUEST['error'] ) ) { 134 $error = (int) $_REQUEST['error']; 143 135 $error_msg = ''; 144 136 switch ( $error ) { … … 154 146 } 155 147 156 if ( isset($_ GET['approved']) || isset($_GET['deleted']) || isset($_GET['trashed']) || isset($_GET['untrashed']) || isset($_GET['spammed']) || isset($_GET['unspammed']) || isset($_GET['same']) ) {157 $approved = isset( $_ GET['approved'] ) ? (int) $_GET['approved'] : 0;158 $deleted = isset( $_ GET['deleted'] ) ? (int) $_GET['deleted'] : 0;159 $trashed = isset( $_ GET['trashed'] ) ? (int) $_GET['trashed'] : 0;160 $untrashed = isset( $_ GET['untrashed'] ) ? (int) $_GET['untrashed'] : 0;161 $spammed = isset( $_ GET['spammed'] ) ? (int) $_GET['spammed'] : 0;162 $unspammed = isset( $_ GET['unspammed'] ) ? (int) $_GET['unspammed'] : 0;163 $same = isset( $_ GET['same'] ) ? (int) $_GET['same'] : 0;148 if ( isset($_REQUEST['approved']) || isset($_REQUEST['deleted']) || isset($_REQUEST['trashed']) || isset($_REQUEST['untrashed']) || isset($_REQUEST['spammed']) || isset($_REQUEST['unspammed']) || isset($_REQUEST['same']) ) { 149 $approved = isset( $_REQUEST['approved'] ) ? (int) $_REQUEST['approved'] : 0; 150 $deleted = isset( $_REQUEST['deleted'] ) ? (int) $_REQUEST['deleted'] : 0; 151 $trashed = isset( $_REQUEST['trashed'] ) ? (int) $_REQUEST['trashed'] : 0; 152 $untrashed = isset( $_REQUEST['untrashed'] ) ? (int) $_REQUEST['untrashed'] : 0; 153 $spammed = isset( $_REQUEST['spammed'] ) ? (int) $_REQUEST['spammed'] : 0; 154 $unspammed = isset( $_REQUEST['unspammed'] ) ? (int) $_REQUEST['unspammed'] : 0; 155 $same = isset( $_REQUEST['same'] ) ? (int) $_REQUEST['same'] : 0; 164 156 165 157 if ( $approved > 0 || $deleted > 0 || $trashed > 0 || $untrashed > 0 || $spammed > 0 || $unspammed > 0 || $same > 0 ) { … … 168 160 169 161 if ( $spammed > 0 ) { 170 $ids = isset($_ GET['ids']) ? $_GET['ids'] : 0;162 $ids = isset($_REQUEST['ids']) ? $_REQUEST['ids'] : 0; 171 163 $messages[] = sprintf( _n( '%s comment marked as spam.', '%s comments marked as spam.', $spammed ), $spammed ) . ' <a href="' . esc_url( wp_nonce_url( "edit-comments.php?doaction=undo&action=unspam&ids=$ids", "bulk-comments" ) ) . '">' . __('Undo') . '</a><br />'; 172 164 } … … 176 168 177 169 if ( $trashed > 0 ) { 178 $ids = isset($_ GET['ids']) ? $_GET['ids'] : 0;170 $ids = isset($_REQUEST['ids']) ? $_REQUEST['ids'] : 0; 179 171 $messages[] = sprintf( _n( '%s comment moved to the Trash.', '%s comments moved to the Trash.', $trashed ), $trashed ) . ' <a href="' . esc_url( wp_nonce_url( "edit-comments.php?doaction=undo&action=untrash&ids=$ids", "bulk-comments" ) ) . '">' . __('Undo') . '</a><br />'; 180 172 } … … 205 197 ?> 206 198 207 <form id="comments-form" action="" method=" get">199 <form id="comments-form" action="" method="post"> 208 200 <ul class="subsubsub"> 209 201 <?php … … 234 226 $link = add_query_arg( 'comment_status', $status, $link ); 235 227 if ( $post_id ) 236 $link = add_query_arg( 'p ', absint( $post_id ), $link );228 $link = add_query_arg( 'post_ID', absint( $post_id ), $link ); 237 229 /* 238 230 // I toyed with this, but decided against it. Leaving it in here in case anyone thinks it is a good idea. ~ Mark 239 if ( !empty( $_ GET['s'] ) )240 $link = add_query_arg( 's', esc_attr( stripslashes( $_ GET['s'] ) ), $link );231 if ( !empty( $_REQUEST['s'] ) ) 232 $link = add_query_arg( 's', esc_attr( stripslashes( $_REQUEST['s'] ) ), $link ); 241 233 */ 242 234 $status_links[] = "<li class='$status'><a href='$link'$class>" . sprintf( … … 259 251 </p> 260 252 261 <?php262 $comments_per_page = (int) get_user_option( 'edit_comments_per_page' );263 if ( empty( $comments_per_page ) || $comments_per_page < 1 )264 $comments_per_page = 20;265 $comments_per_page = apply_filters( 'comments_per_page', $comments_per_page, $comment_status );266 267 if ( isset( $_GET['apage'] ) )268 $page = abs( (int) $_GET['apage'] );269 else270 $page = 1;271 272 $start = $offset = ( $page - 1 ) * $comments_per_page;273 274 list($_comments, $total) = _wp_get_comment_list( $comment_status, $search_dirty, $start, $comments_per_page + 8, $post_id, $comment_type ); // Grab a few extra275 276 $_comment_post_ids = array();277 foreach ( $_comments as $_c ) {278 $_comment_post_ids[] = $_c->comment_post_ID;279 }280 281 $_comment_pending_count = get_pending_comments_num($_comment_post_ids);282 283 $comments = array_slice($_comments, 0, $comments_per_page);284 $extra_comments = array_slice($_comments, $comments_per_page);285 286 $page_links = paginate_links( array(287 'base' => add_query_arg( 'apage', '%#%' ),288 'format' => '',289 'prev_text' => __('«'),290 'next_text' => __('»'),291 'total' => ceil($total / $comments_per_page),292 'current' => $page293 ));294 295 ?>296 297 253 <input type="hidden" name="mode" value="<?php echo esc_attr($mode); ?>" /> 298 254 <?php if ( $post_id ) : ?> 299 <input type="hidden" name="p " value="<?php echo esc_attr( intval( $post_id ) ); ?>" />255 <input type="hidden" name="post_ID" value="<?php echo esc_attr( intval( $post_id ) ); ?>" /> 300 256 <?php endif; ?> 301 257 <input type="hidden" name="comment_status" value="<?php echo esc_attr($comment_status); ?>" /> 302 258 <input type="hidden" name="pagegen_timestamp" value="<?php echo esc_attr(current_time('mysql', 1)); ?>" /> 303 259 304 <div class="tablenav">305 306 <?php if ( $page_links ) : ?>307 <div class="tablenav-pages"><?php $page_links_text = sprintf( '<span class="displaying-num">' . __( 'Displaying %s–%s of %s' ) . '</span>%s',308 number_format_i18n( $start + 1 ),309 number_format_i18n( min( $page * $comments_per_page, $total ) ),310 '<span class="total-type-count">' . number_format_i18n( $total ) . '</span>',311 $page_links312 ); echo $page_links_text; ?></div>313 260 <input type="hidden" name="_total" value="<?php echo esc_attr($total); ?>" /> 314 261 <input type="hidden" name="_per_page" value="<?php echo esc_attr($comments_per_page); ?>" /> 315 262 <input type="hidden" name="_page" value="<?php echo esc_attr($page); ?>" /> 316 <?php endif; ?> 317 318 <?php if ( $comments ) : ?> 319 <div class="alignleft actions"> 320 <select name="action"> 321 <option value="-1" selected="selected"><?php _e('Bulk Actions') ?></option> 322 <?php if ( 'all' == $comment_status || 'approved' == $comment_status ): ?> 323 <option value="unapprove"><?php _e('Unapprove'); ?></option> 324 <?php endif; ?> 325 <?php if ( 'all' == $comment_status || 'moderated' == $comment_status || 'spam' == $comment_status ): ?> 326 <option value="approve"><?php _e('Approve'); ?></option> 327 <?php endif; ?> 328 <?php if ( 'all' == $comment_status || 'approved' == $comment_status || 'moderated' == $comment_status ): ?> 329 <option value="spam"><?php _ex('Mark as Spam', 'comment'); ?></option> 330 <?php endif; ?> 331 <?php if ( 'trash' == $comment_status ): ?> 332 <option value="untrash"><?php _e('Restore'); ?></option> 333 <?php elseif ( 'spam' == $comment_status ): ?> 334 <option value="unspam"><?php _ex('Not Spam', 'comment'); ?></option> 335 <?php endif; ?> 336 <?php if ( 'trash' == $comment_status || 'spam' == $comment_status || !EMPTY_TRASH_DAYS ): ?> 337 <option value="delete"><?php _e('Delete Permanently'); ?></option> 338 <?php else: ?> 339 <option value="trash"><?php _e('Move to Trash'); ?></option> 340 <?php endif; ?> 341 </select> 342 <input type="submit" name="doaction" id="doaction" value="<?php esc_attr_e('Apply'); ?>" class="button-secondary apply" /> 343 <?php wp_nonce_field('bulk-comments'); ?> 344 345 <?php endif; ?> 346 347 <select name="comment_type"> 348 <option value="all"><?php _e('Show all comment types'); ?></option> 349 <?php 350 $comment_types = apply_filters( 'admin_comment_types_dropdown', array( 351 'comment' => __('Comments'), 352 'pings' => __('Pings'), 353 ) ); 354 355 foreach ( $comment_types as $type => $label ) { 356 echo " <option value='" . esc_attr($type) . "'"; 357 selected( $comment_type, $type ); 358 echo ">$label</option>\n"; 359 } 360 ?> 361 </select> 362 <input type="submit" id="post-query-submit" value="<?php esc_attr_e('Filter'); ?>" class="button-secondary" /> 363 364 <?php if ( isset($_GET['apage']) ) { ?> 365 <input type="hidden" name="apage" value="<?php echo esc_attr( absint( $_GET['apage'] ) ); ?>" /> 366 <?php } 367 368 if ( ( 'spam' == $comment_status || 'trash' == $comment_status) && current_user_can ('moderate_comments') ) { 369 wp_nonce_field('bulk-destroy', '_destroy_nonce'); 370 if ( 'spam' == $comment_status && current_user_can('moderate_comments') ) { ?> 371 <input type="submit" name="delete_all" id="delete_all" value="<?php esc_attr_e('Empty Spam'); ?>" class="button-secondary apply" /> 372 <?php } elseif ( 'trash' == $comment_status && current_user_can('moderate_comments') ) { ?> 373 <input type="submit" name="delete_all" id="delete_all" value="<?php esc_attr_e('Empty Trash'); ?>" class="button-secondary apply" /> 374 <?php } 375 } ?> 376 <?php do_action('manage_comments_nav', $comment_status); ?> 377 </div> 378 379 <br class="clear" /> 380 381 </div> 382 383 <div class="clear"></div> 384 <?php if ( $comments ) { ?> 385 386 <table class="widefat comments fixed" cellspacing="0"> 387 <thead> 388 <tr> 389 <?php print_column_headers('edit-comments'); ?> 390 </tr> 391 </thead> 392 393 <tfoot> 394 <tr> 395 <?php print_column_headers('edit-comments', false); ?> 396 </tr> 397 </tfoot> 398 399 <tbody id="the-comment-list" class="list:comment"> 400 <?php 401 foreach ($comments as $comment) 402 _wp_comment_row( $comment->comment_ID, $mode, $comment_status ); 403 ?> 404 </tbody> 405 <tbody id="the-extra-comment-list" class="list:comment" style="display: none;"> 406 <?php 407 foreach ($extra_comments as $comment) 408 _wp_comment_row( $comment->comment_ID, $mode, $comment_status ); 409 ?> 410 </tbody> 411 </table> 412 413 <div class="tablenav"> 414 <?php 415 if ( $page_links ) 416 echo "<div class='tablenav-pages'>$page_links_text</div>"; 417 ?> 418 419 <div class="alignleft actions"> 420 <select name="action2"> 421 <option value="-1" selected="selected"><?php _e('Bulk Actions') ?></option> 422 <?php if ( 'all' == $comment_status || 'approved' == $comment_status ): ?> 423 <option value="unapprove"><?php _e('Unapprove'); ?></option> 424 <?php endif; ?> 425 <?php if ( 'all' == $comment_status || 'moderated' == $comment_status || 'spam' == $comment_status ): ?> 426 <option value="approve"><?php _e('Approve'); ?></option> 427 <?php endif; ?> 428 <?php if ( 'all' == $comment_status || 'approved' == $comment_status || 'moderated' == $comment_status ): ?> 429 <option value="spam"><?php _ex('Mark as Spam', 'comment'); ?></option> 430 <?php endif; ?> 431 <?php if ( 'trash' == $comment_status ): ?> 432 <option value="untrash"><?php _e('Restore'); ?></option> 433 <?php endif; ?> 434 <?php if ( 'trash' == $comment_status || 'spam' == $comment_status || !EMPTY_TRASH_DAYS ): ?> 435 <option value="delete"><?php _e('Delete Permanently'); ?></option> 436 <?php elseif ( 'spam' == $comment_status ): ?> 437 <option value="unspam"><?php _ex('Not Spam', 'comment'); ?></option> 438 <?php else: ?> 439 <option value="trash"><?php _e('Move to Trash'); ?></option> 440 <?php endif; ?> 441 </select> 442 <input type="submit" name="doaction2" id="doaction2" value="<?php esc_attr_e('Apply'); ?>" class="button-secondary apply" /> 443 444 <?php if ( 'spam' == $comment_status && current_user_can('moderate_comments') ) { ?> 445 <input type="submit" name="delete_all2" id="delete_all2" value="<?php esc_attr_e('Empty Spam'); ?>" class="button-secondary apply" /> 446 <?php } elseif ( 'trash' == $comment_status && current_user_can('moderate_comments') ) { ?> 447 <input type="submit" name="delete_all2" id="delete_all2" value="<?php esc_attr_e('Empty Trash'); ?>" class="button-secondary apply" /> 263 264 <?php if ( isset($_REQUEST['paged']) ) { ?> 265 <input type="hidden" name="paged" value="<?php echo esc_attr( absint( $_REQUEST['paged'] ) ); ?>" /> 448 266 <?php } ?> 449 <?php do_action('manage_comments_nav', $comment_status); ?> 450 </div> 267 268 <?php if ( $table->has_items() ) { ?> 269 270 <?php $table->display_table(); ?> 451 271 452 272 <br class="clear" /> … … 461 281 <input type="hidden" name="page" value="<?php echo esc_attr($page); ?>" /> 462 282 <input type="hidden" name="per_page" value="<?php echo esc_attr($comments_per_page); ?>" /> 463 <input type="hidden" name="p " value="<?php echo esc_attr( $post_id ); ?>" />283 <input type="hidden" name="post_ID" value="<?php echo esc_attr( $post_id ); ?>" /> 464 284 <input type="hidden" name="comment_type" value="<?php echo esc_attr( $comment_type ); ?>" /> 465 285 <?php wp_nonce_field( 'add-comment', '_ajax_nonce', false ); ?> -
trunk/wp-admin/edit-tags.php
r15441 r15491 10 10 require_once('./admin.php'); 11 11 12 wp_reset_vars( array('action', 'tag', 'taxonomy', 'post_type') ); 13 14 if ( empty($taxonomy) ) 15 $taxonomy = 'post_tag'; 16 17 if ( !taxonomy_exists($taxonomy) ) 18 wp_die(__('Invalid taxonomy')); 19 20 $tax = get_taxonomy($taxonomy); 21 22 if ( ! current_user_can($tax->cap->manage_terms) ) 23 wp_die(__('Cheatin’ uh?')); 12 require_once( './includes/default-list-tables.php' ); 13 14 $table = new WP_Terms_Table; 24 15 25 16 $title = $tax->labels->name; 26 27 if ( empty($post_type) || !in_array( $post_type, get_post_types( array('public' => true) ) ) )28 $post_type = 'post';29 17 30 18 if ( 'post' != $post_type ) { … … 36 24 } 37 25 38 if ( isset( $_ GET['action'] ) && isset($_GET['delete_tags']) && ( 'delete' == $_GET['action'] || 'delete' == $_GET['action2'] ) )26 if ( isset( $_REQUEST['action'] ) && isset( $_REQUEST['delete_tags'] ) && ( 'delete' == $_REQUEST['action'] || 'delete' == $_REQUEST['action2'] ) ) 39 27 $action = 'bulk-delete'; 40 28 41 switch ($action) {29 switch ( $action ) { 42 30 43 31 case 'add-tag': 44 32 45 check_admin_referer( 'add-tag');46 47 if ( !current_user_can( $tax->cap->edit_terms) )48 wp_die( __('Cheatin’ uh?'));49 50 $ret = wp_insert_term( $_POST['tag-name'], $taxonomy, $_POST);33 check_admin_referer( 'add-tag' ); 34 35 if ( !current_user_can( $tax->cap->edit_terms ) ) 36 wp_die( __( 'Cheatin’ uh?' ) ); 37 38 $ret = wp_insert_term( $_POST['tag-name'], $taxonomy, $_POST ); 51 39 $location = 'edit-tags.php?taxonomy=' . $taxonomy; 52 40 if ( 'post' != $post_type ) … … 54 42 55 43 if ( $referer = wp_get_original_referer() ) { 56 if ( false !== strpos( $referer, 'edit-tags.php') )44 if ( false !== strpos( $referer, 'edit-tags.php' ) ) 57 45 $location = $referer; 58 46 } 59 47 60 48 if ( $ret && !is_wp_error( $ret ) ) 61 $location = add_query_arg( 'message', 1, $location);62 else 63 $location = add_query_arg( 'message', 4, $location);64 wp_redirect( $location);49 $location = add_query_arg( 'message', 1, $location ); 50 else 51 $location = add_query_arg( 'message', 4, $location ); 52 wp_redirect( $location ); 65 53 exit; 66 54 break; … … 71 59 $location .= '&post_type=' . $post_type; 72 60 if ( $referer = wp_get_referer() ) { 73 if ( false !== strpos( $referer, 'edit-tags.php') )61 if ( false !== strpos( $referer, 'edit-tags.php' ) ) 74 62 $location = $referer; 75 63 } 76 64 77 if ( !isset( $_ GET['tag_ID'] ) ) {78 wp_redirect( $location);65 if ( !isset( $_REQUEST['tag_ID'] ) ) { 66 wp_redirect( $location ); 79 67 exit; 80 68 } 81 69 82 $tag_ID = (int) $_ GET['tag_ID'];83 check_admin_referer( 'delete-tag_' . $tag_ID);84 85 if ( !current_user_can( $tax->cap->delete_terms) )86 wp_die( __('Cheatin’ uh?'));87 88 wp_delete_term( $tag_ID, $taxonomy );89 90 $location = add_query_arg( 'message', 2, $location);91 wp_redirect( $location);70 $tag_ID = (int) $_REQUEST['tag_ID']; 71 check_admin_referer( 'delete-tag_' . $tag_ID ); 72 73 if ( !current_user_can( $tax->cap->delete_terms ) ) 74 wp_die( __( 'Cheatin’ uh?' ) ); 75 76 wp_delete_term( $tag_ID, $taxonomy ); 77 78 $location = add_query_arg( 'message', 2, $location ); 79 wp_redirect( $location ); 92 80 exit; 93 81 … … 95 83 96 84 case 'bulk-delete': 97 check_admin_referer( 'bulk-tags');98 99 if ( !current_user_can( $tax->cap->delete_terms) )100 wp_die( __('Cheatin’ uh?'));101 102 $tags = (array) $_ GET['delete_tags'];103 foreach ( $tags as $tag_ID ) {104 wp_delete_term( $tag_ID, $taxonomy );85 check_admin_referer( 'bulk-tags' ); 86 87 if ( !current_user_can( $tax->cap->delete_terms ) ) 88 wp_die( __( 'Cheatin’ uh?' ) ); 89 90 $tags = (array) $_REQUEST['delete_tags']; 91 foreach ( $tags as $tag_ID ) { 92 wp_delete_term( $tag_ID, $taxonomy ); 105 93 } 106 94 … … 109 97 $location .= '&post_type=' . $post_type; 110 98 if ( $referer = wp_get_referer() ) { 111 if ( false !== strpos( $referer, 'edit-tags.php') )99 if ( false !== strpos( $referer, 'edit-tags.php' ) ) 112 100 $location = $referer; 113 101 } 114 102 115 $location = add_query_arg( 'message', 6, $location);116 wp_redirect( $location);103 $location = add_query_arg( 'message', 6, $location ); 104 wp_redirect( $location ); 117 105 exit; 118 106 … … 122 110 $title = $tax->labels->edit_item; 123 111 124 require_once ('admin-header.php'); 125 $tag_ID = (int) $_GET['tag_ID']; 126 127 if ( !current_user_can($tax->cap->edit_terms) ) 128 wp_die( __('You are not allowed to edit this item.') ); 129 130 $tag = get_term($tag_ID, $taxonomy, OBJECT, 'edit'); 131 include('./edit-tag-form.php'); 112 require_once ( 'admin-header.php' ); 113 $tag_ID = (int) $_REQUEST['tag_ID']; 114 115 $tag = get_term( $tag_ID, $taxonomy, OBJECT, 'edit' ); 116 include( './edit-tag-form.php' ); 132 117 133 118 break; … … 135 120 case 'editedtag': 136 121 $tag_ID = (int) $_POST['tag_ID']; 137 check_admin_referer( 'update-tag_' . $tag_ID);138 139 if ( !current_user_can( $tax->cap->edit_terms) )140 wp_die( __('Cheatin’ uh?'));141 142 $ret = wp_update_term( $tag_ID, $taxonomy, $_POST);122 check_admin_referer( 'update-tag_' . $tag_ID ); 123 124 if ( !current_user_can( $tax->cap->edit_terms ) ) 125 wp_die( __( 'Cheatin’ uh?' ) ); 126 127 $ret = wp_update_term( $tag_ID, $taxonomy, $_POST ); 143 128 144 129 $location = 'edit-tags.php?taxonomy=' . $taxonomy; … … 147 132 148 133 if ( $referer = wp_get_original_referer() ) { 149 if ( false !== strpos( $referer, 'edit-tags.php') )134 if ( false !== strpos( $referer, 'edit-tags.php' ) ) 150 135 $location = $referer; 151 136 } 152 137 153 138 if ( $ret && !is_wp_error( $ret ) ) 154 $location = add_query_arg( 'message', 3, $location);155 else 156 $location = add_query_arg( 'message', 5, $location);157 158 wp_redirect( $location);139 $location = add_query_arg( 'message', 3, $location ); 140 else 141 $location = add_query_arg( 'message', 5, $location ); 142 143 wp_redirect( $location ); 159 144 exit; 160 145 break; … … 162 147 default: 163 148 164 if ( ! empty($_ GET['_wp_http_referer']) ) {149 if ( ! empty($_REQUEST['_wp_http_referer']) ) { 165 150 wp_redirect( remove_query_arg( array('_wp_http_referer', '_wpnonce'), stripslashes($_SERVER['REQUEST_URI']) ) ); 166 151 exit; … … 209 194 210 195 require_once ('admin-header.php'); 196 197 if ( !current_user_can($tax->cap->edit_terms) ) 198 wp_die( __('You are not allowed to edit this item.') ); 211 199 212 200 $messages[1] = __('Item added.'); … … 222 210 <?php screen_icon(); ?> 223 211 <h2><?php echo esc_html( $title ); 224 if ( !empty($_ GET['s']) )225 printf( '<span class="subtitle">' . __('Search results for “%s”') . '</span>', esc_html( stripslashes($_ GET['s']) ) ); ?>212 if ( !empty($_REQUEST['s']) ) 213 printf( '<span class="subtitle">' . __('Search results for “%s”') . '</span>', esc_html( stripslashes($_REQUEST['s']) ) ); ?> 226 214 </h2> 227 215 228 <?php if ( isset($_ GET['message']) && ( $msg = (int) $_GET['message'] ) ) : ?>216 <?php if ( isset($_REQUEST['message']) && ( $msg = (int) $_REQUEST['message'] ) ) : ?> 229 217 <div id="message" class="updated"><p><?php echo $messages[$msg]; ?></p></div> 230 218 <?php $_SERVER['REQUEST_URI'] = remove_query_arg(array('message'), $_SERVER['REQUEST_URI']); … … 247 235 <div id="col-right"> 248 236 <div class="col-wrap"> 249 <form id="posts-filter" action="" method=" get">237 <form id="posts-filter" action="" method="post"> 250 238 <input type="hidden" name="taxonomy" value="<?php echo esc_attr($taxonomy); ?>" /> 251 239 <input type="hidden" name="post_type" value="<?php echo esc_attr($post_type); ?>" /> 252 <div class="tablenav"> 253 <?php 254 $pagenum = isset( $_GET['pagenum'] ) ? absint( $_GET['pagenum'] ) : 0; 255 if ( empty($pagenum) ) 256 $pagenum = 1; 257 258 $tags_per_page = (int) get_user_option( 'edit_' . $taxonomy . '_per_page' ); 259 260 if ( empty($tags_per_page) || $tags_per_page < 1 ) 261 $tags_per_page = 20; 262 263 if ( 'post_tag' == $taxonomy ) { 264 $tags_per_page = apply_filters( 'edit_tags_per_page', $tags_per_page ); 265 $tags_per_page = apply_filters( 'tagsperpage', $tags_per_page ); // Old filter 266 } elseif ( 'category' == $taxonomy ) { 267 $tags_per_page = apply_filters( 'edit_categories_per_page', $tags_per_page ); // Old filter 268 } else { 269 $tags_per_page = apply_filters( 'edit_' . $taxonomy . '_per_page', $tags_per_page ); 270 } 271 272 $searchterms = !empty($_GET['s']) ? trim(stripslashes($_GET['s'])) : ''; 273 274 $page_links = paginate_links( array( 275 'base' => add_query_arg( 'pagenum', '%#%' ), 276 'format' => '', 277 'prev_text' => __('«'), 278 'next_text' => __('»'), 279 'total' => ceil(wp_count_terms($taxonomy, array('search' => $searchterms)) / $tags_per_page), 280 'current' => $pagenum 281 )); 282 283 if ( $page_links ) 284 echo "<div class='tablenav-pages'>$page_links</div>"; 285 ?> 286 287 <div class="alignleft actions"> 288 <select name="action"> 289 <option value="" selected="selected"><?php _e('Bulk Actions'); ?></option> 290 <option value="delete"><?php _e('Delete'); ?></option> 291 </select> 292 <input type="submit" value="<?php esc_attr_e('Apply'); ?>" name="doaction" id="doaction" class="button-secondary action" /> 293 <?php wp_nonce_field('bulk-tags'); ?> 294 </div> 295 296 <br class="clear" /> 297 </div> 298 299 <div class="clear"></div> 300 <table class="widefat tag fixed" cellspacing="0"> 301 <thead> 302 <tr> 303 <?php print_column_headers($current_screen); ?> 304 </tr> 305 </thead> 306 307 <tfoot> 308 <tr> 309 <?php print_column_headers($current_screen, false); ?> 310 </tr> 311 </tfoot> 312 313 <tbody id="the-list" class="list:tag"> 314 <?php tag_rows( $pagenum, $tags_per_page, $searchterms, $taxonomy ); ?> 315 </tbody> 316 </table> 317 318 <div class="tablenav"> 319 <?php 320 if ( $page_links ) 321 echo "<div class='tablenav-pages'>$page_links</div>"; 322 ?> 323 324 <div class="alignleft actions"> 325 <select name="action2"> 326 <option value="" selected="selected"><?php _e('Bulk Actions'); ?></option> 327 <option value="delete"><?php _e('Delete'); ?></option> 328 </select> 329 <input type="submit" value="<?php esc_attr_e('Apply'); ?>" name="doaction2" id="doaction2" class="button-secondary action" /> 330 </div> 331 332 <br class="clear" /> 333 </div> 240 241 <?php $table->display_table(); ?> 334 242 335 243 <br class="clear" /> … … 359 267 <?php 360 268 361 if ( !is_ taxonomy_hierarchical($taxonomy) ) {269 if ( !is_null( $tax->labels->popular_items ) ) { 362 270 if ( current_user_can( $tax->cap->edit_terms ) ) 363 271 $tag_cloud = wp_tag_cloud( array( 'taxonomy' => $taxonomy, 'echo' => false, 'link' => 'edit' ) ); … … 441 349 </div><!-- /wrap --> 442 350 443 <?php inline_edit_term_row('edit-tags', $taxonomy); ?>351 <?php $table->inline_edit(); ?> 444 352 445 353 <?php -
trunk/wp-admin/edit.php
r15450 r15491 8 8 9 9 /** WordPress Administration Bootstrap */ 10 require_once('./admin.php'); 11 12 if ( !isset($_GET['post_type']) ) 13 $post_type = 'post'; 14 elseif ( in_array( $_GET['post_type'], get_post_types( array('show_ui' => true ) ) ) ) 15 $post_type = $_GET['post_type']; 16 else 17 wp_die( __('Invalid post type') ); 18 $_GET['post_type'] = $post_type; 19 20 $post_type_object = get_post_type_object($post_type); 21 22 if ( !current_user_can($post_type_object->cap->edit_posts) ) 23 wp_die(__('Cheatin’ uh?')); 10 require_once( './admin.php' ); 11 12 require_once( './includes/default-list-tables.php' ); 13 14 $table = new WP_Posts_Table; 24 15 25 16 // Back-compat for viewing comments of an entry 26 if ( $_redirect = intval( max( @$_ GET['p'], @$_GET['attachment_id'], @$_GET['page_id'] ) ) ) {17 if ( $_redirect = intval( max( @$_REQUEST['p'], @$_REQUEST['attachment_id'], @$_REQUEST['page_id'] ) ) ) { 27 18 wp_redirect( admin_url('edit-comments.php?p=' . $_redirect ) ); 28 19 exit; 29 20 } else { 30 21 unset( $_redirect ); 22 } 23 24 // Handle bulk actions 25 if ( isset($_REQUEST['doaction']) || isset($_REQUEST['doaction2']) || isset($_REQUEST['delete_all']) || isset($_REQUEST['delete_all2']) || isset($_REQUEST['bulk_edit']) ) { 26 check_admin_referer('bulk-posts'); 27 $sendback = remove_query_arg( array('trashed', 'untrashed', 'deleted', 'ids'), wp_get_referer() ); 28 29 if ( strpos($sendback, 'post.php') !== false ) 30 $sendback = admin_url($post_new_file); 31 32 if ( isset($_REQUEST['delete_all']) || isset($_REQUEST['delete_all2']) ) { 33 $post_status = preg_replace('/[^a-z0-9_-]+/i', '', $_REQUEST['post_status']); 34 $post_ids = $wpdb->get_col( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_type=%s AND post_status = %s", $post_type, $post_status ) ); 35 $doaction = 'delete'; 36 } elseif ( ( $_REQUEST['action'] != -1 || $_REQUEST['action2'] != -1 ) && ( isset($_REQUEST['post']) || isset($_REQUEST['ids']) ) ) { 37 $post_ids = isset($_REQUEST['post']) ? array_map( 'intval', (array) $_REQUEST['post'] ) : explode(',', $_REQUEST['ids']); 38 $doaction = ($_REQUEST['action'] != -1) ? $_REQUEST['action'] : $_REQUEST['action2']; 39 } else { 40 wp_redirect( admin_url("edit.php?post_type=$post_type") ); 41 } 42 43 switch ( $doaction ) { 44 case 'trash': 45 $trashed = 0; 46 foreach( (array) $post_ids as $post_id ) { 47 if ( !current_user_can($post_type_object->cap->delete_post, $post_id) ) 48 wp_die( __('You are not allowed to move this item to the Trash.') ); 49 50 if ( !wp_trash_post($post_id) ) 51 wp_die( __('Error in moving to Trash.') ); 52 53 $trashed++; 54 } 55 $sendback = add_query_arg( array('trashed' => $trashed, 'ids' => join(',', $post_ids)), $sendback ); 56 break; 57 case 'untrash': 58 $untrashed = 0; 59 foreach( (array) $post_ids as $post_id ) { 60 if ( !current_user_can($post_type_object->cap->delete_post, $post_id) ) 61 wp_die( __('You are not allowed to restore this item from the Trash.') ); 62 63 if ( !wp_untrash_post($post_id) ) 64 wp_die( __('Error in restoring from Trash.') ); 65 66 $untrashed++; 67 } 68 $sendback = add_query_arg('untrashed', $untrashed, $sendback); 69 break; 70 case 'delete': 71 $deleted = 0; 72 foreach( (array) $post_ids as $post_id ) { 73 $post_del = & get_post($post_id); 74 75 if ( !current_user_can($post_type_object->cap->delete_post, $post_id) ) 76 wp_die( __('You are not allowed to delete this item.') ); 77 78 if ( $post_del->post_type == 'attachment' ) { 79 if ( ! wp_delete_attachment($post_id) ) 80 wp_die( __('Error in deleting...') ); 81 } else { 82 if ( !wp_delete_post($post_id) ) 83 wp_die( __('Error in deleting...') ); 84 } 85 $deleted++; 86 } 87 $sendback = add_query_arg('deleted', $deleted, $sendback); 88 break; 89 case 'edit': 90 $done = bulk_edit_posts($_REQUEST); 91 92 if ( is_array($done) ) { 93 $done['updated'] = count( $done['updated'] ); 94 $done['skipped'] = count( $done['skipped'] ); 95 $done['locked'] = count( $done['locked'] ); 96 $sendback = add_query_arg( $done, $sendback ); 97 } 98 break; 99 } 100 101 if ( isset($_REQUEST['action']) ) 102 $sendback = remove_query_arg( array('action', 'action2', 'tags_input', 'post_author', 'comment_status', 'ping_status', '_status', 'post', 'bulk_edit', 'post_view'), $sendback ); 103 104 wp_redirect($sendback); 105 exit(); 106 } elseif ( ! empty($_REQUEST['_wp_http_referer']) ) { 107 wp_redirect( remove_query_arg( array('_wp_http_referer', '_wpnonce'), stripslashes($_SERVER['REQUEST_URI']) ) ); 108 exit; 31 109 } 32 110 … … 41 119 } 42 120 43 $pagenum = isset( $_GET['paged'] ) ? absint( $_GET['paged'] ) : 0;44 if ( empty($pagenum) )45 $pagenum = 1;46 $edit_per_page = 'edit_' . $post_type . '_per_page';47 $per_page = (int) get_user_option( $edit_per_page );48 if ( empty( $per_page ) || $per_page < 1 )49 $per_page = 20;50 51 $per_page = apply_filters( $edit_per_page, $per_page );52 $per_page = apply_filters( 'edit_posts_per_page', $per_page, $post_type );53 54 // Handle bulk actions55 if ( isset($_GET['doaction']) || isset($_GET['doaction2']) || isset($_GET['delete_all']) || isset($_GET['delete_all2']) || isset($_GET['bulk_edit']) ) {56 check_admin_referer('bulk-posts');57 $sendback = remove_query_arg( array('trashed', 'untrashed', 'deleted', 'ids'), wp_get_referer() );58 59 if ( strpos($sendback, 'post.php') !== false )60 $sendback = admin_url($post_new_file);61 62 if ( isset($_GET['delete_all']) || isset($_GET['delete_all2']) ) {63 $post_status = preg_replace('/[^a-z0-9_-]+/i', '', $_GET['post_status']);64 $post_ids = $wpdb->get_col( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_type=%s AND post_status = %s", $post_type, $post_status ) );65 $doaction = 'delete';66 } elseif ( ( $_GET['action'] != -1 || $_GET['action2'] != -1 ) && ( isset($_GET['post']) || isset($_GET['ids']) ) ) {67 $post_ids = isset($_GET['post']) ? array_map( 'intval', (array) $_GET['post'] ) : explode(',', $_GET['ids']);68 $doaction = ($_GET['action'] != -1) ? $_GET['action'] : $_GET['action2'];69 } else {70 wp_redirect( admin_url("edit.php?post_type=$post_type") );71 }72 73 switch ( $doaction ) {74 case 'trash':75 $trashed = 0;76 foreach( (array) $post_ids as $post_id ) {77 if ( !current_user_can($post_type_object->cap->delete_post, $post_id) )78 wp_die( __('You are not allowed to move this item to the Trash.') );79 80 if ( !wp_trash_post($post_id) )81 wp_die( __('Error in moving to Trash.') );82 83 $trashed++;84 }85 $sendback = add_query_arg( array('trashed' => $trashed, 'ids' => join(',', $post_ids)), $sendback );86 break;87 case 'untrash':88 $untrashed = 0;89 foreach( (array) $post_ids as $post_id ) {90 if ( !current_user_can($post_type_object->cap->delete_post, $post_id) )91 wp_die( __('You are not allowed to restore this item from the Trash.') );92 93 if ( !wp_untrash_post($post_id) )94 wp_die( __('Error in restoring from Trash.') );95 96 $untrashed++;97 }98 $sendback = add_query_arg('untrashed', $untrashed, $sendback);99 break;100 case 'delete':101 $deleted = 0;102 foreach( (array) $post_ids as $post_id ) {103 $post_del = & get_post($post_id);104 105 if ( !current_user_can($post_type_object->cap->delete_post, $post_id) )106 wp_die( __('You are not allowed to delete this item.') );107 108 if ( $post_del->post_type == 'attachment' ) {109 if ( ! wp_delete_attachment($post_id) )110 wp_die( __('Error in deleting...') );111 } else {112 if ( !wp_delete_post($post_id) )113 wp_die( __('Error in deleting...') );114 }115 $deleted++;116 }117 $sendback = add_query_arg('deleted', $deleted, $sendback);118 break;119 case 'edit':120 $done = bulk_edit_posts($_GET);121 122 if ( is_array($done) ) {123 $done['updated'] = count( $done['updated'] );124 $done['skipped'] = count( $done['skipped'] );125 $done['locked'] = count( $done['locked'] );126 $sendback = add_query_arg( $done, $sendback );127 }128 break;129 }130 131 if ( isset($_GET['action']) )132 $sendback = remove_query_arg( array('action', 'action2', 'tags_input', 'post_author', 'comment_status', 'ping_status', '_status', 'post', 'bulk_edit', 'post_view'), $sendback );133 134 wp_redirect($sendback);135 exit();136 } elseif ( ! empty($_GET['_wp_http_referer']) ) {137 wp_redirect( remove_query_arg( array('_wp_http_referer', '_wpnonce'), stripslashes($_SERVER['REQUEST_URI']) ) );138 exit;139 }140 141 121 wp_enqueue_script('inline-edit-post'); 142 143 $user_posts = false;144 if ( !current_user_can($post_type_object->cap->edit_others_posts) ) {145 $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) );146 $user_posts = true;147 if ( $user_posts_count && empty($_GET['post_status']) && empty($_GET['all_posts']) && empty($_GET['author']) )148 $_GET['author'] = $current_user->ID;149 }150 151 $avail_post_stati = wp_edit_posts_query();152 153 if ( $post_type_object->hierarchical )154 $num_pages = ceil($wp_query->post_count / $per_page);155 else156 $num_pages = $wp_query->max_num_pages;157 122 158 123 $title = $post_type_object->labels->name; … … 191 156 192 157 require_once('./admin-header.php'); 193 194 if ( empty($_GET['mode']) ) 195 $mode = 'list'; 196 else 197 $mode = esc_attr($_GET['mode']); ?> 198 158 ?> 199 159 <div class="wrap"> 200 160 <?php screen_icon(); ?> 201 161 <h2><?php echo esc_html( $post_type_object->labels->name ); ?> <a href="<?php echo $post_new_file ?>" class="button add-new-h2"><?php echo esc_html($post_type_object->labels->add_new); ?></a> <?php 202 if ( isset($_ GET['s']) && $_GET['s'] )162 if ( isset($_REQUEST['s']) && $_REQUEST['s'] ) 203 163 printf( '<span class="subtitle">' . __('Search results for “%s”') . '</span>', get_search_query() ); ?> 204 164 </h2> 205 165 206 166 <?php 207 if ( isset($_ GET['posted']) && $_GET['posted'] ) : $_GET['posted'] = (int) $_GET['posted']; ?>208 <div id="message" class="updated"><p><strong><?php _e('This has been saved.'); ?></strong> <a href="<?php echo get_permalink( $_ GET['posted'] ); ?>"><?php _e('View Post'); ?></a> | <a href="<?php echo get_edit_post_link( $_GET['posted'] ); ?>"><?php _e('Edit Post'); ?></a></p></div>167 if ( isset($_REQUEST['posted']) && $_REQUEST['posted'] ) : $_REQUEST['posted'] = (int) $_REQUEST['posted']; ?> 168 <div id="message" class="updated"><p><strong><?php _e('This has been saved.'); ?></strong> <a href="<?php echo get_permalink( $_REQUEST['posted'] ); ?>"><?php _e('View Post'); ?></a> | <a href="<?php echo get_edit_post_link( $_REQUEST['posted'] ); ?>"><?php _e('Edit Post'); ?></a></p></div> 209 169 <?php $_SERVER['REQUEST_URI'] = remove_query_arg(array('posted'), $_SERVER['REQUEST_URI']); 210 170 endif; ?> 211 171 212 <?php if ( isset($_ GET['locked']) || isset($_GET['skipped']) || isset($_GET['updated']) || isset($_GET['deleted']) || isset($_GET['trashed']) || isset($_GET['untrashed']) ) { ?>172 <?php if ( isset($_REQUEST['locked']) || isset($_REQUEST['skipped']) || isset($_REQUEST['updated']) || isset($_REQUEST['deleted']) || isset($_REQUEST['trashed']) || isset($_REQUEST['untrashed']) ) { ?> 213 173 <div id="message" class="updated"><p> 214 <?php if ( isset($_ GET['updated']) && (int) $_GET['updated'] ) {215 printf( _n( '%s post updated.', '%s posts updated.', $_ GET['updated'] ), number_format_i18n( $_GET['updated'] ) );216 unset($_ GET['updated']);217 } 218 219 if ( isset($_ GET['skipped']) && (int) $_GET['skipped'] )220 unset($_ GET['skipped']);221 222 if ( isset($_ GET['locked']) && (int) $_GET['locked'] ) {223 printf( _n( '%s item not updated, somebody is editing it.', '%s items not updated, somebody is editing them.', $_ GET['locked'] ), number_format_i18n( $_GET['locked'] ) );224 unset($_ GET['locked']);225 } 226 227 if ( isset($_ GET['deleted']) && (int) $_GET['deleted'] ) {228 printf( _n( 'Item permanently deleted.', '%s items permanently deleted.', $_ GET['deleted'] ), number_format_i18n( $_GET['deleted'] ) );229 unset($_ GET['deleted']);230 } 231 232 if ( isset($_ GET['trashed']) && (int) $_GET['trashed'] ) {233 printf( _n( 'Item moved to the Trash.', '%s items moved to the Trash.', $_ GET['trashed'] ), number_format_i18n( $_GET['trashed'] ) );234 $ids = isset($_ GET['ids']) ? $_GET['ids'] : 0;174 <?php if ( isset($_REQUEST['updated']) && (int) $_REQUEST['updated'] ) { 175 printf( _n( '%s post updated.', '%s posts updated.', $_REQUEST['updated'] ), number_format_i18n( $_REQUEST['updated'] ) ); 176 unset($_REQUEST['updated']); 177 } 178 179 if ( isset($_REQUEST['skipped']) && (int) $_REQUEST['skipped'] ) 180 unset($_REQUEST['skipped']); 181 182 if ( isset($_REQUEST['locked']) && (int) $_REQUEST['locked'] ) { 183 printf( _n( '%s item not updated, somebody is editing it.', '%s items not updated, somebody is editing them.', $_REQUEST['locked'] ), number_format_i18n( $_REQUEST['locked'] ) ); 184 unset($_REQUEST['locked']); 185 } 186 187 if ( isset($_REQUEST['deleted']) && (int) $_REQUEST['deleted'] ) { 188 printf( _n( 'Item permanently deleted.', '%s items permanently deleted.', $_REQUEST['deleted'] ), number_format_i18n( $_REQUEST['deleted'] ) ); 189 unset($_REQUEST['deleted']); 190 } 191 192 if ( isset($_REQUEST['trashed']) && (int) $_REQUEST['trashed'] ) { 193 printf( _n( 'Item moved to the Trash.', '%s items moved to the Trash.', $_REQUEST['trashed'] ), number_format_i18n( $_REQUEST['trashed'] ) ); 194 $ids = isset($_REQUEST['ids']) ? $_REQUEST['ids'] : 0; 235 195 echo ' <a href="' . esc_url( wp_nonce_url( "edit.php?post_type=$post_type&doaction=undo&action=untrash&ids=$ids", "bulk-posts" ) ) . '">' . __('Undo') . '</a><br />'; 236 unset($_ GET['trashed']);237 } 238 239 if ( isset($_ GET['untrashed']) && (int) $_GET['untrashed'] ) {240 printf( _n( 'Item restored from the Trash.', '%s items restored from the Trash.', $_ GET['untrashed'] ), number_format_i18n( $_GET['untrashed'] ) );241 unset($_ GET['undeleted']);196 unset($_REQUEST['trashed']); 197 } 198 199 if ( isset($_REQUEST['untrashed']) && (int) $_REQUEST['untrashed'] ) { 200 printf( _n( 'Item restored from the Trash.', '%s items restored from the Trash.', $_REQUEST['untrashed'] ), number_format_i18n( $_REQUEST['untrashed'] ) ); 201 unset($_REQUEST['undeleted']); 242 202 } 243 203 … … 247 207 <?php } ?> 248 208 249 <form id="posts-filter" action=" <?php echo admin_url('edit.php'); ?>" method="get">209 <form id="posts-filter" action="" method="post"> 250 210 251 211 <ul class="subsubsub"> … … 257 217 $allposts = ''; 258 218 219 $user_posts = false; 220 if ( !current_user_can( $post_type_object->cap->edit_others_posts ) ) { 221 $user_posts = true; 222 223 $user_posts_count = $wpdb->get_var( $wpdb->prepare( " 224 SELECT COUNT( 1 ) FROM $wpdb->posts 225 WHERE post_type = '%s' AND post_status NOT IN ( 'trash', 'auto-draft' ) 226 AND post_author = %d 227 ", $post_type, get_current_user_id() ) ); 228 229 if ( $user_posts_count && empty( $_REQUEST['post_status'] ) && empty( $_REQUEST['all_posts'] ) && empty( $_REQUEST['author'] ) ) 230 $_REQUEST['author'] = get_current_user_id(); 231 } 232 259 233 if ( $user_posts ) { 260 if ( isset( $_ GET['author'] ) && ( $_GET['author'] == $current_user->ID ) )234 if ( isset( $_REQUEST['author'] ) && ( $_REQUEST['author'] == $current_user->ID ) ) 261 235 $class = ' class="current"'; 262 236 $status_links[] = "<li><a href='edit.php?post_type=$post_type&author=$current_user->ID'$class>" . sprintf( _nx( 'Mine <span class="count">(%s)</span>', 'Mine <span class="count">(%s)</span>', $user_posts_count, 'posts' ), number_format_i18n( $user_posts_count ) ) . '</a>'; … … 270 244 $total_posts -= $num_posts->$state; 271 245 272 $class = empty($class) && empty($_ GET['post_status']) ? ' class="current"' : '';246 $class = empty($class) && empty($_REQUEST['post_status']) ? ' class="current"' : ''; 273 247 $status_links[] = "<li><a href='edit.php?post_type=$post_type{$allposts}'$class>" . sprintf( _nx( 'All <span class="count">(%s)</span>', 'All <span class="count">(%s)</span>', $total_posts, 'posts' ), number_format_i18n( $total_posts ) ) . '</a>'; 274 248 … … 284 258 continue; 285 259 286 if ( isset($_ GET['post_status']) && $status_name == $_GET['post_status'] )260 if ( isset($_REQUEST['post_status']) && $status_name == $_REQUEST['post_status'] ) 287 261 $class = ' class="current"'; 288 262 … … 301 275 </p> 302 276 303 <input type="hidden" name="post_status" class="post_status_page" value="<?php echo !empty($_ GET['post_status']) ? esc_attr($_GET['post_status']) : 'all'; ?>" />277 <input type="hidden" name="post_status" class="post_status_page" value="<?php echo !empty($_REQUEST['post_status']) ? esc_attr($_REQUEST['post_status']) : 'all'; ?>" /> 304 278 <input type="hidden" name="post_type" class="post_type_page" value="<?php echo $post_type; ?>" /> 305 <input type="hidden" name="mode" value="<?php echo esc_attr($mode); ?>" /> 306 307 <?php if ( have_posts() ) { ?> 308 309 <div class="tablenav"> 310 <?php 311 $page_links = paginate_links( array( 312 'base' => add_query_arg( 'paged', '%#%' ), 313 'format' => '', 314 'prev_text' => __('«'), 315 'next_text' => __('»'), 316 'total' => $num_pages, 317 'current' => $pagenum 318 )); 319 320 $is_trash = isset($_GET['post_status']) && $_GET['post_status'] == 'trash'; 321 322 ?> 323 324 <div class="alignleft actions"> 325 <select name="action"> 326 <option value="-1" selected="selected"><?php _e('Bulk Actions'); ?></option> 327 <?php if ( $is_trash ) { ?> 328 <option value="untrash"><?php _e('Restore'); ?></option> 329 <?php } else { ?> 330 <option value="edit"><?php _e('Edit'); ?></option> 331 <?php } if ( $is_trash || !EMPTY_TRASH_DAYS ) { ?> 332 <option value="delete"><?php _e('Delete Permanently'); ?></option> 333 <?php } else { ?> 334 <option value="trash"><?php _e('Move to Trash'); ?></option> 335 <?php } ?> 336 </select> 337 <input type="submit" value="<?php esc_attr_e('Apply'); ?>" name="doaction" id="doaction" class="button-secondary action" /> 338 <?php wp_nonce_field('bulk-posts'); ?> 339 340 <?php // view filters 341 if ( !is_singular() ) { 342 $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); 343 344 $arc_result = $wpdb->get_results( $arc_query ); 345 346 $month_count = count($arc_result); 347 348 if ( $month_count && !( 1 == $month_count && 0 == $arc_result[0]->mmonth ) ) { 349 $m = isset($_GET['m']) ? (int)$_GET['m'] : 0; 350 ?> 351 <select name='m'> 352 <option<?php selected( $m, 0 ); ?> value='0'><?php _e('Show all dates'); ?></option> 353 <?php 354 foreach ($arc_result as $arc_row) { 355 if ( $arc_row->yyear == 0 ) 356 continue; 357 $arc_row->mmonth = zeroise( $arc_row->mmonth, 2 ); 358 359 if ( $arc_row->yyear . $arc_row->mmonth == $m ) 360 $default = ' selected="selected"'; 361 else 362 $default = ''; 363 364 echo "<option$default value='" . esc_attr("$arc_row->yyear$arc_row->mmonth") . "'>"; 365 echo $wp_locale->get_month($arc_row->mmonth) . " $arc_row->yyear"; 366 echo "</option>\n"; 367 } 368 ?> 369 </select> 370 <?php } ?> 371 372 <?php 373 if ( is_object_in_taxonomy($post_type, 'category') ) { 374 $dropdown_options = array('show_option_all' => __('View all categories'), 'hide_empty' => 0, 'hierarchical' => 1, 375 'show_count' => 0, 'orderby' => 'name', 'selected' => $cat); 376 wp_dropdown_categories($dropdown_options); 377 } 378 do_action('restrict_manage_posts'); 379 ?> 380 <input type="submit" id="post-query-submit" value="<?php esc_attr_e('Filter'); ?>" class="button-secondary" /> 381 <?php } 382 383 if ( $is_trash && current_user_can($post_type_object->cap->edit_others_posts) ) { ?> 384 <input type="submit" name="delete_all" id="delete_all" value="<?php esc_attr_e('Empty Trash'); ?>" class="button-secondary apply" /> 385 <?php } ?> 386 </div> 387 388 <?php if ( $page_links ) { ?> 389 <div class="tablenav-pages"><?php 390 $count_posts = $post_type_object->hierarchical ? $wp_query->post_count : $wp_query->found_posts; 391 $page_links_text = sprintf( '<span class="displaying-num">' . __( 'Displaying %s–%s of %s' ) . '</span>%s', 392 number_format_i18n( ( $pagenum - 1 ) * $per_page + 1 ), 393 number_format_i18n( min( $pagenum * $per_page, $count_posts ) ), 394 number_format_i18n( $count_posts ), 395 $page_links 396 ); 397 echo $page_links_text; 398 ?></div> 399 <?php 400 } 401 402 if ( !$post_type_object->hierarchical ) { 403 ?> 404 405 <div class="view-switch"> 406 <a href="<?php echo esc_url(add_query_arg('mode', 'list', $_SERVER['REQUEST_URI'])) ?>"><img <?php if ( 'list' == $mode ) echo 'class="current"'; ?> id="view-switch-list" src="<?php echo esc_url( includes_url( 'images/blank.gif' ) ); ?>" width="20" height="20" title="<?php _e('List View') ?>" alt="<?php _e('List View') ?>" /></a> 407 <a href="<?php echo esc_url(add_query_arg('mode', 'excerpt', $_SERVER['REQUEST_URI'])) ?>"><img <?php if ( 'excerpt' == $mode ) echo 'class="current"'; ?> id="view-switch-excerpt" src="<?php echo esc_url( includes_url( 'images/blank.gif' ) ); ?>" width="20" height="20" title="<?php _e('Excerpt View') ?>" alt="<?php _e('Excerpt View') ?>" /></a> 408 </div> 409 410 <?php } ?> 411 <div class="clear"></div> 412 </div> 413 414 <div class="clear"></div> 415 416 <?php include( './edit-post-rows.php' ); ?> 417 418 <div class="tablenav"> 419 420 <?php 421 if ( $page_links ) 422 echo "<div class='tablenav-pages'>$page_links_text</div>"; 423 ?> 424 425 <div class="alignleft actions"> 426 <select name="action2"> 427 <option value="-1" selected="selected"><?php _e('Bulk Actions'); ?></option> 428 <?php if ( $is_trash ) { ?> 429 <option value="untrash"><?php _e('Restore'); ?></option> 430 <?php } else { ?> 431 <option value="edit"><?php _e('Edit'); ?></option> 432 <?php } if ( $is_trash || !EMPTY_TRASH_DAYS ) { ?> 433 <option value="delete"><?php _e('Delete Permanently'); ?></option> 434 <?php } else { ?> 435 <option value="trash"><?php _e('Move to Trash'); ?></option> 436 <?php } ?> 437 </select> 438 <input type="submit" value="<?php esc_attr_e('Apply'); ?>" name="doaction2" id="doaction2" class="button-secondary action" /> 439 <?php if ( $is_trash && current_user_can($post_type_object->cap->edit_others_posts) ) { ?> 440 <input type="submit" name="delete_all2" id="delete_all2" value="<?php esc_attr_e('Empty Trash'); ?>" class="button-secondary apply" /> 441 <?php } ?> 442 <br class="clear" /> 443 </div> 444 <br class="clear" /> 445 </div> 446 447 <?php } else { // have_posts() ?> 448 <div class="clear"></div> 449 <p><?php 450 if ( isset($_GET['post_status']) && 'trash' == $_GET['post_status'] ) 451 echo $post_type_object->labels->not_found_in_trash; 452 else 453 echo $post_type_object->labels->not_found; 454 ?></p> 455 <?php } ?> 279 280 <?php $table->display(); ?> 456 281 457 282 </form> 458 283 459 <?php inline_edit_row( $current_screen); ?>284 <?php $table->inline_edit(); ?> 460 285 461 286 <div id="ajax-response"></div> -
trunk/wp-admin/includes/misc.php
r15263 r15491 345 345 case 'edit_per_page': 346 346 case 'ms_sites_per_page': 347 case 'users_per_page': 347 348 case 'ms_users_per_page': 348 349 case 'edit_comments_per_page': -
trunk/wp-admin/includes/plugin-install.php
r15287 r15491 79 79 return $tags; 80 80 } 81 add_action('install_plugins_search', 'install_search', 10, 1); 82 83 /** 84 * Display search results and display as tag cloud. 85 * 86 * @since 2.7.0 87 * 88 * @param string $page 89 */ 90 function install_search($page) { 91 $type = isset($_REQUEST['type']) ? stripslashes( $_REQUEST['type'] ) : ''; 92 $term = isset($_REQUEST['s']) ? stripslashes( $_REQUEST['s'] ) : ''; 93 94 $args = array(); 95 96 switch( $type ){ 97 case 'tag': 98 $args['tag'] = sanitize_title_with_dashes($term); 99 break; 100 case 'term': 101 $args['search'] = $term; 102 break; 103 case 'author': 104 $args['author'] = $term; 105 break; 106 } 107 108 $args['page'] = $page; 109 110 $api = plugins_api('query_plugins', $args); 111 112 if ( is_wp_error($api) ) 113 wp_die($api); 114 115 add_action('install_plugins_table_header', 'install_search_form'); 116 117 display_plugins_table($api->plugins, $api->info['page'], $api->info['pages']); 118 119 return; 120 } 121 122 add_action('install_plugins_dashboard', 'install_dashboard'); 81 123 82 function install_dashboard() { 124 83 ?> … … 151 110 echo '</p><br class="clear" />'; 152 111 } 112 add_action('install_plugins_dashboard', 'install_dashboard'); 153 113 154 114 /** … … 161 121 $term = isset($_REQUEST['s']) ? stripslashes( $_REQUEST['s'] ) : ''; 162 122 163 ?><form id="search-plugins" method="post" action="<?php echo admin_url('plugin-install.php?tab=search'); ?>"> 123 ?><form id="search-plugins" method="get" action=""> 124 <input type="hidden" name="tab" value="search" /> 164 125 <select name="type" id="typeselector"> 165 126 <option value="term"<?php selected('term', $type) ?>><?php _e('Term'); ?></option> … … 169 130 <input type="text" name="s" value="<?php echo esc_attr($term) ?>" /> 170 131 <label class="screen-reader-text" for="plugin-search-input"><?php _e('Search Plugins'); ?></label> 171 <input type="submit" id="plugin-search-input" name="search"value="<?php esc_attr_e('Search Plugins'); ?>" class="button" />132 <input type="submit" id="plugin-search-input" value="<?php esc_attr_e('Search Plugins'); ?>" class="button" /> 172 133 </form><?php 173 134 } 174 135 175 add_action('install_plugins_featured', 'install_featured', 10, 1);176 /**177 * Display featured plugins.178 *179 * @since 2.7.0180 *181 * @param string $page182 */183 function install_featured($page = 1) {184 $args = array('browse' => 'featured', 'page' => $page);185 $api = plugins_api('query_plugins', $args);186 if ( is_wp_error($api) )187 wp_die($api->get_error_message() . '</p> <p class="hide-if-no-js"><a href="#" onclick="document.location.reload(); return false;">' . __('Try again') . '</a>');188 display_plugins_table($api->plugins, $api->info['page'], $api->info['pages']);189 }190 191 add_action('install_plugins_popular', 'install_popular', 10, 1);192 /**193 * Display popular plugins.194 *195 * @since 2.7.0196 *197 * @param string $page198 */199 function install_popular($page = 1) {200 $args = array('browse' => 'popular', 'page' => $page);201 $api = plugins_api('query_plugins', $args);202 if ( is_wp_error($api) )203 wp_die($api->get_error_message() . '</p> <p class="hide-if-no-js"><a href="#" onclick="document.location.reload(); return false;">' . __('Try again') . '</a>');204 display_plugins_table($api->plugins, $api->info['page'], $api->info['pages']);205 }206 207 add_action('install_plugins_upload', 'install_plugins_upload', 10, 1);208 136 /** 209 137 * Upload from zip … … 224 152 <?php 225 153 } 226 227 add_action('install_plugins_new', 'install_new', 10, 1); 228 /** 229 * Display new plugins. 230 * 231 * @since 2.7.0 232 * 233 * @param string $page 234 */ 235 function install_new($page = 1) { 236 $args = array('browse' => 'new', 'page' => $page); 237 $api = plugins_api('query_plugins', $args); 238 if ( is_wp_error($api) ) 239 wp_die($api->get_error_message() . '</p> <p class="hide-if-no-js"><a href="#" onclick="document.location.reload(); return false;">' . __('Try again') . '</a>'); 240 display_plugins_table($api->plugins, $api->info['page'], $api->info['pages']); 241 } 242 add_action('install_plugins_updated', 'install_updated', 10, 1); 243 244 245 /** 246 * Display recently updated plugins. 247 * 248 * @since 2.7.0 249 * 250 * @param string $page 251 */ 252 function install_updated($page = 1) { 253 $args = array('browse' => 'updated', 'page' => $page); 254 $api = plugins_api('query_plugins', $args); 255 if ( is_wp_error($api) ) 256 wp_die($api->get_error_message() . '</p> <p class="hide-if-no-js"><a href="#" onclick="document.location.reload(); return false;">' . __('Try again') . '</a>'); 257 display_plugins_table($api->plugins, $api->info['page'], $api->info['pages']); 258 } 154 add_action('install_plugins_upload', 'install_plugins_upload', 10, 1); 259 155 260 156 /** … … 264 160 * 265 161 * @param array $plugins List of plugins. 266 * @param string $page 267 * @param int $totalpages Number of pages. 268 */ 269 function display_plugins_table($plugins, $page = 1, $totalpages = 1){ 270 $type = isset($_REQUEST['type']) ? stripslashes( $_REQUEST['type'] ) : ''; 271 $term = isset($_REQUEST['s']) ? stripslashes( $_REQUEST['s'] ) : ''; 272 273 $plugins_allowedtags = array('a' => array('href' => array(),'title' => array(), 'target' => array()), 274 'abbr' => array('title' => array()),'acronym' => array('title' => array()), 275 'code' => array(), 'pre' => array(), 'em' => array(),'strong' => array(), 276 'ul' => array(), 'ol' => array(), 'li' => array(), 'p' => array(), 'br' => array()); 277 278 ?> 279 <div class="tablenav"> 280 <div class="alignleft actions"> 281 <?php do_action('install_plugins_table_header'); ?> 282 </div> 283 <?php 284 $url = esc_url($_SERVER['REQUEST_URI']); 285 if ( ! empty($term) ) 286 $url = add_query_arg('s', $term, $url); 287 if ( ! empty($type) ) 288 $url = add_query_arg('type', $type, $url); 289 290 $page_links = paginate_links( array( 291 'base' => add_query_arg('paged', '%#%', $url), 292 'format' => '', 293 'prev_text' => __('«'), 294 'next_text' => __('»'), 295 'total' => $totalpages, 296 'current' => $page 297 )); 298 299 if ( $page_links ) 300 echo "\t\t<div class='tablenav-pages'>$page_links</div>"; 301 ?> 302 <br class="clear" /> 303 </div> 304 <table class="widefat" id="install-plugins" cellspacing="0"> 305 <thead> 306 <tr> 307 <th scope="col" class="name"><?php _e('Name'); ?></th> 308 <th scope="col" class="num"><?php _e('Version'); ?></th> 309 <th scope="col" class="num"><?php _e('Rating'); ?></th> 310 <th scope="col" class="desc"><?php _e('Description'); ?></th> 311 </tr> 312 </thead> 313 314 <tfoot> 315 <tr> 316 <th scope="col" class="name"><?php _e('Name'); ?></th> 317 <th scope="col" class="num"><?php _e('Version'); ?></th> 318 <th scope="col" class="num"><?php _e('Rating'); ?></th> 319 <th scope="col" class="desc"><?php _e('Description'); ?></th> 320 </tr> 321 </tfoot> 322 323 <tbody class="plugins"> 324 <?php 325 if ( empty($plugins) ) 326 echo '<tr><td colspan="5">', __('No plugins match your request.'), '</td></tr>'; 327 328 foreach ( (array) $plugins as $plugin ){ 329 if ( is_object($plugin) ) 330 $plugin = (array) $plugin; 331 332 $title = wp_kses($plugin['name'], $plugins_allowedtags); 333 //Limit description to 400char, and remove any HTML. 334 $description = strip_tags($plugin['description']); 335 if ( strlen($description) > 400 ) 336 $description = mb_substr($description, 0, 400) . '…'; 337 //remove any trailing entities 338 $description = preg_replace('/&[^;\s]{0,6}$/', '', $description); 339 //strip leading/trailing & multiple consecutive lines 340 $description = trim($description); 341 $description = preg_replace("|(\r?\n)+|", "\n", $description); 342 //\n => <br> 343 $description = nl2br($description); 344 $version = wp_kses($plugin['version'], $plugins_allowedtags); 345 346 $name = strip_tags($title . ' ' . $version); 347 348 $author = $plugin['author']; 349 if ( ! empty($plugin['author']) ) 350 $author = ' <cite>' . sprintf( __('By %s'), $author ) . '.</cite>'; 351 352 $author = wp_kses($author, $plugins_allowedtags); 353 354 $action_links = array(); 355 $action_links[] = '<a href="' . admin_url('plugin-install.php?tab=plugin-information&plugin=' . $plugin['slug'] . 356 '&TB_iframe=true&width=600&height=550') . '" class="thickbox" title="' . 357 esc_attr( sprintf( __( 'More information about %s' ), $name ) ) . '">' . __('Details') . '</a>'; 358 359 if ( current_user_can('install_plugins') || current_user_can('update_plugins') ) { 360 $status = install_plugin_install_status($plugin); 361 362 switch ( $status['status'] ) { 363 case 'install': 364 if ( $status['url'] ) 365 $action_links[] = '<a class="install-now" href="' . $status['url'] . '" title="' . esc_attr( sprintf( __( 'Install %s' ), $name ) ) . '">' . __('Install Now') . '</a>'; 366 break; 367 case 'update_available': 368 if ( $status['url'] ) 369 $action_links[] = '<a href="' . $status['url'] . '" title="' . esc_attr( sprintf( __( 'Update to version %s' ), $status['version'] ) ) . '">' . sprintf( __('Update Now'), $status['version'] ) . '</a>'; 370 break; 371 case 'latest_installed': 372 case 'newer_installed': 373 $action_links[] = '<span title="' . esc_attr__( 'This plugin is already installed and is up to date' ) . ' ">' . __('Installed') . '</span>'; 374 break; 375 } 376 } 377 378 $action_links = apply_filters( 'plugin_install_action_links', $action_links, $plugin ); 379 ?> 380 <tr> 381 <td class="name"><strong><?php echo $title; ?></strong> 382 <div class="action-links"><?php if ( !empty($action_links) ) echo implode(' | ', $action_links); ?></div> 383 </td> 384 <td class="vers"><?php echo $version; ?></td> 385 <td class="vers"> 386 <div class="star-holder" title="<?php printf(_n('(based on %s rating)', '(based on %s ratings)', $plugin['num_ratings']), number_format_i18n($plugin['num_ratings'])) ?>"> 387 <div class="star star-rating" style="width: <?php echo esc_attr($plugin['rating']) ?>px"></div> 388 <div class="star star5"><img src="<?php echo admin_url('images/star.gif'); ?>" alt="<?php _e('5 stars') ?>" /></div> 389 <div class="star star4"><img src="<?php echo admin_url('images/star.gif'); ?>" alt="<?php _e('4 stars') ?>" /></div> 390 <div class="star star3"><img src="<?php echo admin_url('images/star.gif'); ?>" alt="<?php _e('3 stars') ?>" /></div> 391 <div class="star star2"><img src="<?php echo admin_url('images/star.gif'); ?>" alt="<?php _e('2 stars') ?>" /></div> 392 <div class="star star1"><img src="<?php echo admin_url('images/star.gif'); ?>" alt="<?php _e('1 star') ?>" /></div> 393 </div> 394 </td> 395 <td class="desc"><?php echo $description, $author; ?></td> 396 </tr> 397 <?php 398 } 399 ?> 400 </tbody> 401 </table> 402 403 <div class="tablenav"> 404 <?php if ( $page_links ) 405 echo "\t\t<div class='tablenav-pages'>$page_links</div>"; ?> 406 <br class="clear" /> 407 </div> 408 409 <?php 410 } 411 412 add_action('install_plugins_pre_plugin-information', 'install_plugin_information'); 162 * @param int $total_plugins Number of plugins. 163 */ 164 function display_plugins_table() { 165 global $table; 166 167 $table->display(); 168 } 169 add_action('install_plugins_search', 'display_plugins_table'); 170 add_action('install_plugins_featured', 'display_plugins_table'); 171 add_action('install_plugins_popular', 'display_plugins_table'); 172 add_action('install_plugins_new', 'display_plugins_table'); 173 add_action('install_plugins_updated', 'display_plugins_table'); 413 174 414 175 /** … … 609 370 exit; 610 371 } 372 add_action('install_plugins_pre_plugin-information', 'install_plugin_information'); 373 -
trunk/wp-admin/includes/post.php
r15450 r15491 881 881 } 882 882 883 if ( isset($q['post_status']) && 'pending' === $q['post_status'] ) { 883 if ( isset($q['orderby']) ) 884 $orderby = $q['orderby']; 885 elseif ( isset($q['post_status']) && in_array($q['post_status'], array('pending', 'draft')) ) 886 $orderby = 'modified'; 887 888 if ( isset($q['order']) ) 889 $order = $q['order']; 890 elseif ( isset($q['post_status']) && 'pending' == $q['post_status'] ) 884 891 $order = 'ASC'; 885 $orderby = 'modified';886 } elseif ( isset($q['post_status']) && 'draft' === $q['post_status'] ) {887 $order = 'DESC';888 $orderby = 'modified';889 } else {890 $order = 'DESC';891 $orderby = 'date';892 }893 892 894 893 $per_page = 'edit_' . $post_type . '_per_page'; … … 903 902 904 903 // Hierarchical types require special args. 905 if ( is_post_type_hierarchical( $post_type ) ) {904 if ( is_post_type_hierarchical( $post_type ) && !isset($orderby) ) { 906 905 $query['orderby'] = 'menu_order title'; 907 906 $query['order'] = 'asc'; … … 974 973 unset($q['post_mime_type']); 975 974 975 if ( isset($q['detached']) ) 976 add_filter('posts_where', '_edit_attachments_query_helper'); 977 976 978 wp($q); 977 979 980 if ( isset($q['detached']) ) 981 remove_filter('posts_where', '_edit_attachments_query_helper'); 982 978 983 return array($post_mime_types, $avail_post_mime_types); 984 } 985 986 function _edit_attachments_query_helper($where) { 987 return $where .= ' AND post_parent < 1'; 979 988 } 980 989 -
trunk/wp-admin/includes/template.php
r15489 r15491 9 9 */ 10 10 11 /**12 * {@internal Missing Short Description}}13 *14 * @since 2.715 *16 * Outputs the HTML for the hidden table rows used in Categories, Link Categories and Tags quick edit.17 *18 * @param string $type "edit-tags", "categoried" or "edit-link-categories"19 * @param string $taxonomy The taxonomy of the row.20 * @return21 */22 function inline_edit_term_row($type, $taxonomy) {23 24 $tax = get_taxonomy($taxonomy);25 if ( ! current_user_can( $tax->cap->edit_terms ) )26 return;27 28 $columns = get_column_headers($type);29 $hidden = array_intersect( array_keys( $columns ), array_filter( get_hidden_columns($type) ) );30 $col_count = count($columns) - count($hidden);31 ?>32 33 <form method="get" action=""><table style="display: none"><tbody id="inlineedit">34 <tr id="inline-edit" class="inline-edit-row" style="display: none"><td colspan="<?php echo $col_count; ?>">35 36 <fieldset><div class="inline-edit-col">37 <h4><?php _e( 'Quick Edit' ); ?></h4>38 39 <label>40 <span class="title"><?php _e( 'Name' ); ?></span>41 <span class="input-text-wrap"><input type="text" name="name" class="ptitle" value="" /></span>42 </label>43 <?php if ( !is_multisite() ) { ?>44 <label>45 <span class="title"><?php _e( 'Slug' ); ?></span>46 <span class="input-text-wrap"><input type="text" name="slug" class="ptitle" value="" /></span>47 </label>48 <?php } ?>49 50 </div></fieldset>51 52 <?php53 54 $core_columns = array( 'cb' => true, 'description' => true, 'name' => true, 'slug' => true, 'posts' => true );55 56 foreach ( $columns as $column_name => $column_display_name ) {57 if ( isset( $core_columns[$column_name] ) )58 continue;59 do_action( 'quick_edit_custom_box', $column_name, $type, $taxonomy );60 }61 62 ?>63 64 <p class="inline-edit-save submit">65 <a accesskey="c" href="#inline-edit" title="<?php _e('Cancel'); ?>" class="cancel button-secondary alignleft"><?php _e('Cancel'); ?></a>66 <?php $update_text = $tax->labels->update_item; ?>67 <a accesskey="s" href="#inline-edit" title="<?php echo esc_attr( $update_text ); ?>" class="save button-primary alignright"><?php echo $update_text; ?></a>68 <img class="waiting" style="display:none;" src="<?php echo esc_url( admin_url( 'images/wpspin_light.gif' ) ); ?>" alt="" />69 <span class="error" style="display:none;"></span>70 <?php wp_nonce_field( 'taxinlineeditnonce', '_inline_edit', false ); ?>71 <input type="hidden" name="taxonomy" value="<?php echo esc_attr( $tax->name ); ?>" />72 <br class="clear" />73 </p>74 </td></tr>75 </tbody></table></form>76 <?php77 }78 79 /**80 * {@internal Missing Short Description}}81 *82 * @since unknown83 *84 * @param unknown_type $category85 * @param unknown_type $name_override86 * @return unknown87 */88 function link_cat_row( $category, $name_override = false ) {89 static $row_class = '';90 91 if ( !$category = get_term( $category, 'link_category', OBJECT, 'display' ) )92 return false;93 if ( is_wp_error( $category ) )94 return $category;95 96 $default_cat_id = (int) get_option( 'default_link_category' );97 $name = ( $name_override ? $name_override : $category->name );98 $edit_link = "link-category.php?action=edit&cat_ID=$category->term_id";99 if ( current_user_can( 'manage_categories' ) ) {100 $edit = "<a class='row-title' href='$edit_link' title='" . esc_attr(sprintf(__('Edit “%s”'), $category->name)) . "'>$name</a><br />";101 $actions = array();102 $actions['edit'] = '<a href="' . $edit_link . '">' . __('Edit') . '</a>';103 $actions['inline hide-if-no-js'] = '<a href="#" class="editinline">' . __('Quick Edit') . '</a>';104 if ( $default_cat_id != $category->term_id )105 $actions['delete'] = "<a class='delete:the-list:link-cat-$category->term_id submitdelete' href='" . wp_nonce_url("link-category.php?action=delete&cat_ID=$category->term_id", 'delete-link-category_' . $category->term_id) . "'>" . __('Delete') . '</a>';106 $actions = apply_filters('link_cat_row_actions', $actions, $category);107 $action_count = count($actions);108 $i = 0;109 $edit .= '<div class="row-actions">';110 foreach ( $actions as $action => $link ) {111 ++$i;112 ( $i == $action_count ) ? $sep = '' : $sep = ' | ';113 $edit .= "<span class='$action'>$link$sep</span>";114 }115 $edit .= '</div>';116 } else {117 $edit = $name;118 }119 120 $row_class = 'alternate' == $row_class ? '' : 'alternate';121 $qe_data = get_term_to_edit($category->term_id, 'link_category');122 123 $category->count = number_format_i18n( $category->count );124 $count = ( $category->count > 0 ) ? "<a href='link-manager.php?cat_id=$category->term_id'>$category->count</a>" : $category->count;125 $output = "<tr id='link-cat-$category->term_id' class='iedit $row_class'>";126 $columns = get_column_headers('edit-link-categories');127 $hidden = get_hidden_columns('edit-link-categories');128 foreach ( $columns as $column_name => $column_display_name ) {129 $class = "class=\"$column_name column-$column_name\"";130 131 $style = '';132 if ( in_array($column_name, $hidden) )133 $style = ' style="display:none;"';134 135 $attributes = "$class$style";136 137 switch ($column_name) {138 case 'cb':139 $output .= "<th scope='row' class='check-column'>";140 if ( absint( get_option( 'default_link_category' ) ) != $category->term_id ) {141 $output .= "<input type='checkbox' name='delete[]' value='$category->term_id' />";142 } else {143 $output .= " ";144 }145 $output .= "</th>";146 break;147 case 'name':148 $output .= "<td $attributes>$edit";149 $output .= '<div class="hidden" id="inline_' . $qe_data->term_id . '">';150 $output .= '<div class="name">' . $qe_data->name . '</div>';151 $output .= '<div class="slug">' . apply_filters('editable_slug', $qe_data->slug) . '</div>';152 $output .= '<div class="cat_parent">' . $qe_data->parent . '</div></div></td>';153 break;154 case 'description':155 $output .= "<td $attributes>$category->description</td>";156 break;157 case 'slug':158 $output .= "<td $attributes>" . apply_filters('editable_slug', $category->slug) . '</td>';159 break;160 case 'links':161 $attributes = 'class="links column-links num"' . $style;162 $output .= "<td $attributes>$count</td>";163 break;164 default:165 $output .= "<td $attributes>";166 $output .= apply_filters('manage_link_categories_custom_column', '', $column_name, $category->term_id);167 $output .= "</td>";168 }169 }170 $output .= '</tr>';171 172 return $output;173 }174 11 175 12 // … … 234 71 'walker' => $walker, 235 72 'checked_ontop' => $checked_ontop 236 73 )); 237 74 } 238 75 … … 289 126 $keys = array_keys( $categories ); 290 127 291 foreach 128 foreach( $keys as $k ) { 292 129 if ( in_array( $categories[$k]->term_id, $args['selected_cats'] ) ) { 293 130 $checked_categories[] = $categories[$k]; … … 341 178 <li id="<?php echo $id; ?>" class="popular-category"> 342 179 <label class="selectit"> 343 <input id="in-<?php echo $id; ?>" type="checkbox" <?php echo $checked; ?> value="<?php echo (int) $term->term_id; ?>" <?php echo $disabled ;?>/>180 <input id="in-<?php echo $id; ?>" type="checkbox" <?php echo $checked; ?> value="<?php echo (int) $term->term_id; ?>" <?php echo $disabled ?>/> 344 181 <?php echo esc_html( apply_filters( 'the_category', $term->name ) ); ?> 345 182 </label> … … 381 218 echo '<li id="link-category-', $cat_id, '"><label for="in-link-category-', $cat_id, '" class="selectit"><input value="', $cat_id, '" type="checkbox" name="link_category[]" id="in-link-category-', $cat_id, '"', $checked, '/> ', $name, "</label></li>"; 382 219 } 383 }384 385 // Tag stuff386 387 // Returns a single tag row (see tag_rows below)388 // Note: this is also used in admin-ajax.php!389 /**390 * {@internal Missing Short Description}}391 *392 * @since unknown393 *394 * @param unknown_type $tag395 * @param unknown_type $class396 * @return unknown397 */398 function _tag_row( $tag, $level, $taxonomy = 'post_tag' ) {399 global $post_type, $current_screen;400 static $row_class = '';401 $row_class = ($row_class == '' ? ' class="alternate"' : '');402 403 $count = number_format_i18n( $tag->count );404 $tax = get_taxonomy($taxonomy);405 406 if ( 'post_tag' == $taxonomy ) {407 $tagsel = 'tag';408 } elseif ( 'category' == $taxonomy ) {409 $tagsel = 'category_name';410 } elseif ( ! empty($tax->query_var) ) {411 $tagsel = $tax->query_var;412 } else {413 $tagsel = $taxonomy;414 }415 416 $pad = str_repeat( '— ', max(0, $level) );417 $name = apply_filters( 'term_name', $pad . ' ' . $tag->name, $tag );418 $qe_data = get_term($tag->term_id, $taxonomy, object, 'edit');419 $edit_link = "edit-tags.php?action=edit&taxonomy=$taxonomy&post_type=$post_type&tag_ID=$tag->term_id";420 421 $out = '';422 $out .= '<tr id="tag-' . $tag->term_id . '"' . $row_class . '>';423 424 425 $columns = get_column_headers($current_screen);426 $hidden = get_hidden_columns($current_screen);427 $default_term = get_option('default_' . $taxonomy);428 foreach ( $columns as $column_name => $column_display_name ) {429 $class = "class=\"$column_name column-$column_name\"";430 431 $style = '';432 if ( in_array($column_name, $hidden) )433 $style = ' style="display:none;"';434 435 $attributes = "$class$style";436 437 switch ($column_name) {438 case 'cb':439 if ( current_user_can($tax->cap->delete_terms) && $tag->term_id != $default_term )440 $out .= '<th scope="row" class="check-column"> <input type="checkbox" name="delete_tags[]" value="' . $tag->term_id . '" /></th>';441 else442 $out .= '<th scope="row" class="check-column"> </th>';443 break;444 case 'name':445 $out .= '<td ' . $attributes . '><strong><a class="row-title" href="' . $edit_link . '" title="' . esc_attr(sprintf(__('Edit “%s”'), $name)) . '">' . $name . '</a></strong><br />';446 $actions = array();447 if ( current_user_can($tax->cap->edit_terms) ) {448 $actions['edit'] = '<a href="' . $edit_link . '">' . __('Edit') . '</a>';449 $actions['inline hide-if-no-js'] = '<a href="#" class="editinline">' . __('Quick Edit') . '</a>';450 }451 if ( current_user_can($tax->cap->delete_terms) && $tag->term_id != $default_term )452 $actions['delete'] = "<a class='delete-tag' href='" . wp_nonce_url("edit-tags.php?action=delete&taxonomy=$taxonomy&tag_ID=$tag->term_id", 'delete-tag_' . $tag->term_id) . "'>" . __('Delete') . '</a>';453 454 $actions = apply_filters('tag_row_actions', $actions, $tag);455 $actions = apply_filters("${taxonomy}_row_actions", $actions, $tag);456 457 $action_count = count($actions);458 $i = 0;459 $out .= '<div class="row-actions">';460 foreach ( $actions as $action => $link ) {461 ++$i;462 ( $i == $action_count ) ? $sep = '' : $sep = ' | ';463 $out .= "<span class='$action'>$link$sep</span>";464 }465 $out .= '</div>';466 $out .= '<div class="hidden" id="inline_' . $qe_data->term_id . '">';467 $out .= '<div class="name">' . $qe_data->name . '</div>';468 $out .= '<div class="slug">' . apply_filters('editable_slug', $qe_data->slug) . '</div>';469 $out .= '<div class="parent">' . $qe_data->parent . '</div></div></td>';470 break;471 case 'description':472 $out .= "<td $attributes>$tag->description</td>";473 break;474 case 'slug':475 $out .= "<td $attributes>" . apply_filters('editable_slug', $tag->slug) . '</td>';476 break;477 case 'posts':478 $attributes = 'class="posts column-posts num"' . $style;479 $out .= "<td $attributes><a href='edit.php?$tagsel=$tag->slug&post_type=$post_type'>$count</a></td>";480 break;481 default:482 $out .= "<td $attributes>";483 $out .= apply_filters("manage_${taxonomy}_custom_column", '', $column_name, $tag->term_id);484 $out .= "</td>";485 }486 }487 488 $out .= "</tr>\n";489 490 return $out;491 }492 493 // Outputs appropriate rows for the Nth page of the Tag Management screen,494 // assuming M tags displayed at a time on the page495 // Returns the number of tags displayed496 /**497 * {@internal Missing Short Description}}498 *499 * @since unknown500 *501 * @param unknown_type $page502 * @param unknown_type $pagesize503 * @param unknown_type $searchterms504 * @return unknown505 */506 function tag_rows( $page = 1, $pagesize = 20, $searchterms = '', $taxonomy = 'post_tag' ) {507 508 // Get a page worth of tags509 $start = ($page - 1) * $pagesize;510 511 $args = array('offset' => $start, 'number' => $pagesize, 'hide_empty' => 0);512 513 if ( !empty( $searchterms ) )514 $args['search'] = $searchterms;515 516 // convert it to table rows517 $out = '';518 $count = 0;519 if ( is_taxonomy_hierarchical($taxonomy) ) {520 // We'll need the full set of terms then.521 $args['number'] = $args['offset'] = 0;522 523 $terms = get_terms( $taxonomy, $args );524 if ( !empty( $searchterms ) ) // Ignore children on searches.525 $children = array();526 else527 $children = _get_term_hierarchy($taxonomy);528 529 // Some funky recursion to get the job done(Paging & parents mainly) is contained within, Skip it for non-hierarchical taxonomies for performance sake530 $out .= _term_rows($taxonomy, $terms, $children, $page, $pagesize, $count);531 } else {532 $terms = get_terms( $taxonomy, $args );533 foreach ( $terms as $term )534 $out .= _tag_row( $term, 0, $taxonomy );535 $count = $pagesize; // Only displaying a single page.536 }537 538 echo $out;539 return $count;540 }541 542 function _term_rows( $taxonomy, $terms, &$children, $page = 1, $per_page = 20, &$count, $parent = 0, $level = 0 ) {543 544 $start = ($page - 1) * $per_page;545 $end = $start + $per_page;546 547 $output = '';548 foreach ( $terms as $key => $term ) {549 550 if ( $count >= $end )551 break;552 553 if ( $term->parent != $parent && empty($_GET['s']) )554 continue;555 556 // If the page starts in a subtree, print the parents.557 if ( $count == $start && $term->parent > 0 && empty($_GET['s']) ) {558 $my_parents = $parent_ids = array();559 $p = $term->parent;560 while ( $p ) {561 $my_parent = get_term( $p, $taxonomy );562 $my_parents[] = $my_parent;563 $p = $my_parent->parent;564 if ( in_array($p, $parent_ids) ) // Prevent parent loops.565 break;566 $parent_ids[] = $p;567 }568 unset($parent_ids);569 570 $num_parents = count($my_parents);571 while ( $my_parent = array_pop($my_parents) ) {572 $output .= "\t" . _tag_row( $my_parent, $level - $num_parents, $taxonomy );573 $num_parents--;574 }575 }576 577 if ( $count >= $start )578 $output .= "\t" . _tag_row( $term, $level, $taxonomy );579 580 ++$count;581 582 unset($terms[$key]);583 584 if ( isset($children[$term->term_id]) && empty($_GET['s']) )585 $output .= _term_rows( $taxonomy, $terms, $children, $page, $per_page, $count, $term->term_id, $level + 1 );586 }587 588 return $output;589 }590 591 // define the columns to display, the syntax is 'internal name' => 'display name'592 /**593 * {@internal Missing Short Description}}594 *595 * @since unknown596 *597 * @return unknown598 */599 function wp_manage_posts_columns( $screen = '') {600 if ( empty($screen) )601 $post_type = 'post';602 else603 $post_type = $screen->post_type;604 605 $posts_columns = array();606 $posts_columns['cb'] = '<input type="checkbox" />';607 /* translators: manage posts column name */608 $posts_columns['title'] = _x('Title', 'column name');609 $posts_columns['author'] = __('Author');610 if ( empty($post_type) || is_object_in_taxonomy($post_type, 'category') )611 $posts_columns['categories'] = __('Categories');612 if ( empty($post_type) || is_object_in_taxonomy($post_type, 'post_tag') )613 $posts_columns['tags'] = __('Tags');614 $post_status = !empty($_REQUEST['post_status']) ? $_REQUEST['post_status'] : 'all';615 if ( !in_array( $post_status, array('pending', 'draft', 'future') ) && ( empty($post_type) || post_type_supports($post_type, 'comments') ) )616 $posts_columns['comments'] = '<div class="vers"><img alt="Comments" src="' . esc_url( admin_url( 'images/comment-grey-bubble.png' ) ) . '" /></div>';617 $posts_columns['date'] = __('Date');618 619 if ( 'page' == $post_type )620 $posts_columns = apply_filters( 'manage_pages_columns', $posts_columns );621 else622 $posts_columns = apply_filters( 'manage_posts_columns', $posts_columns, $post_type );623 $posts_columns = apply_filters( "manage_{$post_type}_posts_columns", $posts_columns );624 625 return $posts_columns;626 }627 628 // define the columns to display, the syntax is 'internal name' => 'display name'629 /**630 * {@internal Missing Short Description}}631 *632 * @since unknown633 *634 * @return unknown635 */636 function wp_manage_media_columns() {637 $posts_columns = array();638 $posts_columns['cb'] = '<input type="checkbox" />';639 $posts_columns['icon'] = '';640 /* translators: column name */641 $posts_columns['media'] = _x('File', 'column name');642 $posts_columns['author'] = __('Author');643 //$posts_columns['tags'] = _x('Tags', 'column name');644 /* translators: column name */645 $posts_columns['parent'] = _x('Attached to', 'column name');646 $posts_columns['comments'] = '<div class="vers"><img alt="Comments" src="' . esc_url( admin_url( 'images/comment-grey-bubble.png' ) ) . '" /></div>';647 //$posts_columns['comments'] = __('Comments');648 /* translators: column name */649 $posts_columns['date'] = _x('Date', 'column name');650 $posts_columns = apply_filters('manage_media_columns', $posts_columns);651 652 return $posts_columns;653 }654 655 /**656 * {@internal Missing Short Description}}657 *658 * @since unknown659 *660 * @return unknown661 */662 function wp_manage_pages_columns() {663 return wp_manage_posts_columns();664 }665 666 /**667 * Get the column headers for a screen668 *669 * @since unknown670 *671 * @param string|object $screen The screen you want the headers for672 * @return array Containing the headers in the format id => UI String673 */674 function get_column_headers($screen) {675 global $_wp_column_headers;676 677 if ( !isset($_wp_column_headers) )678 $_wp_column_headers = array();679 680 if ( is_string($screen) )681 $screen = convert_to_screen($screen);682 683 // Store in static to avoid running filters on each call684 if ( isset($_wp_column_headers[$screen->id]) )685 return $_wp_column_headers[$screen->id];686 687 switch ($screen->base) {688 case 'edit':689 $_wp_column_headers[$screen->id] = wp_manage_posts_columns( $screen );690 break;691 case 'edit-comments':692 $_wp_column_headers[$screen->id] = array(693 'cb' => '<input type="checkbox" />',694 'author' => __('Author'),695 /* translators: column name */696 'comment' => _x('Comment', 'column name'),697 //'date' => __('Submitted'),698 'response' => __('In Response To')699 );700 701 break;702 case 'link-manager':703 $_wp_column_headers[$screen->id] = array(704 'cb' => '<input type="checkbox" />',705 'name' => __('Name'),706 'url' => __('URL'),707 'categories' => __('Categories'),708 'rel' => __('Relationship'),709 'visible' => __('Visible'),710 'rating' => __('Rating')711 );712 713 break;714 case 'upload':715 $_wp_column_headers[$screen->id] = wp_manage_media_columns();716 break;717 case 'categories':718 $_wp_column_headers[$screen->id] = array(719 'cb' => '<input type="checkbox" />',720 'name' => __('Name'),721 'description' => __('Description'),722 'slug' => __('Slug'),723 'posts' => __('Posts')724 );725 726 break;727 case 'edit-link-categories':728 $_wp_column_headers[$screen->id] = array(729 'cb' => '<input type="checkbox" />',730 'name' => __('Name'),731 'description' => __('Description'),732 'slug' => __('Slug'),733 'links' => __('Links')734 );735 736 break;737 case 'edit-tags':738 $_wp_column_headers[$screen->id] = array(739 'cb' => '<input type="checkbox" />',740 'name' => __('Name'),741 'description' => __('Description'),742 'slug' => __('Slug'),743 'posts' => __('Posts')744 );745 746 break;747 case 'users':748 $_wp_column_headers[$screen->id] = array(749 'cb' => '<input type="checkbox" />',750 'username' => __('Username'),751 'name' => __('Name'),752 'email' => __('E-mail'),753 'role' => __('Role'),754 'posts' => __('Posts')755 );756 break;757 default :758 $_wp_column_headers[$screen->id] = array();759 }760 761 $_wp_column_headers[$screen->id] = apply_filters('manage_' . $screen->id . '_columns', $_wp_column_headers[$screen->id]);762 return $_wp_column_headers[$screen->id];763 }764 765 /**766 * {@internal Missing Short Description}}767 *768 * @since unknown769 *770 * @param unknown_type $screen771 * @param unknown_type $id772 */773 function print_column_headers( $screen, $id = true ) {774 if ( is_string($screen) )775 $screen = convert_to_screen($screen);776 777 $columns = get_column_headers( $screen );778 $hidden = get_hidden_columns($screen);779 $styles = array();780 781 foreach ( $columns as $column_key => $column_display_name ) {782 $class = ' class="manage-column';783 784 $class .= " column-$column_key";785 786 if ( 'cb' == $column_key )787 $class .= ' check-column';788 elseif ( in_array($column_key, array('posts', 'comments', 'links')) )789 $class .= ' num';790 791 $class .= '"';792 793 $style = '';794 if ( in_array($column_key, $hidden) )795 $style = 'display:none;';796 797 if ( isset($styles[$screen->id]) && isset($styles[$screen->id][$column_key]) )798 $style .= ' ' . $styles[$screen>id][$column_key];799 $style = ' style="' . $style . '"';800 ?>801 <th scope="col" <?php echo $id ? "id=\"$column_key\"" : ""; echo $class; echo $style; ?>><?php echo $column_display_name; ?></th>802 <?php }803 }804 805 /**806 * Register column headers for a particular screen. The header names will be listed in the Screen Options.807 *808 * @since 2.7.0809 *810 * @param string $screen The handle for the screen to add help to. This is usually the hook name returned by the add_*_page() functions.811 * @param array $columns An array of columns with column IDs as the keys and translated column names as the values812 * @see get_column_headers(), print_column_headers(), get_hidden_columns()813 */814 function register_column_headers($screen, $columns) {815 global $_wp_column_headers;816 817 if ( is_string($screen) )818 $screen = convert_to_screen($screen);819 820 if ( !isset($_wp_column_headers) )821 $_wp_column_headers = array();822 823 $_wp_column_headers[$screen->id] = $columns;824 }825 826 /**827 * {@internal Missing Short Description}}828 *829 * @since unknown830 *831 * @param unknown_type $screen832 */833 function get_hidden_columns($screen) {834 if ( is_string($screen) )835 $screen = convert_to_screen($screen);836 837 return (array) get_user_option( 'manage' . $screen->id. 'columnshidden' );838 }839 840 /**841 * {@internal Missing Short Description}}842 *843 * Outputs the quick edit and bulk edit table rows for posts and pages844 *845 * @since 2.7846 *847 * @param string $screen848 */849 function inline_edit_row( $screen ) {850 global $mode;851 852 if ( is_string($screen) ) {853 $screen = array('id' => 'edit-' . $screen, 'base' => 'edit', 'post_type' => $screen );854 $screen = (object) $screen;855 }856 857 $post = get_default_post_to_edit( $screen->post_type );858 $post_type_object = get_post_type_object( $screen->post_type );859 860 $taxonomy_names = get_object_taxonomies( $screen->post_type );861 $hierarchical_taxonomies = array();862 $flat_taxonomies = array();863 foreach ( $taxonomy_names as $taxonomy_name ) {864 $taxonomy = get_taxonomy( $taxonomy_name);865 866 if ( !$taxonomy->show_ui )867 continue;868 869 if ( $taxonomy->hierarchical )870 $hierarchical_taxonomies[] = $taxonomy;871 else872 $flat_taxonomies[] = $taxonomy;873 }874 875 $columns = wp_manage_posts_columns($screen);876 $hidden = array_intersect( array_keys( $columns ), array_filter( get_hidden_columns($screen) ) );877 $col_count = count($columns) - count($hidden);878 $m = ( isset($mode) && 'excerpt' == $mode ) ? 'excerpt' : 'list';879 $can_publish = current_user_can($post_type_object->cap->publish_posts);880 $core_columns = array( 'cb' => true, 'date' => true, 'title' => true, 'categories' => true, 'tags' => true, 'comments' => true, 'author' => true );881 882 ?>883 884 <form method="get" action=""><table style="display: none"><tbody id="inlineedit">885 <?php886 $hclass = count( $hierarchical_taxonomies ) ? 'post' : 'page';887 $bulk = 0;888 while ( $bulk < 2 ) { ?>889 890 <tr id="<?php echo $bulk ? 'bulk-edit' : 'inline-edit'; ?>" class="inline-edit-row inline-edit-row-<?php echo "$hclass inline-edit-$screen->post_type ";891 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";892 ?>" style="display: none"><td colspan="<?php echo $col_count; ?>">893 894 <fieldset class="inline-edit-col-left"><div class="inline-edit-col">895 <h4><?php echo $bulk ? __( 'Bulk Edit' ) : __( 'Quick Edit' ); ?></h4>896 897 898 <?php899 900 if ( post_type_supports( $screen->post_type, 'title' ) ) :901 if ( $bulk ) : ?>902 <div id="bulk-title-div">903 <div id="bulk-titles"></div>904 </div>905 906 <?php else : // $bulk ?>907 908 <label>909 <span class="title"><?php _e( 'Title' ); ?></span>910 <span class="input-text-wrap"><input type="text" name="post_title" class="ptitle" value="" /></span>911 </label>912 913 <label>914 <span class="title"><?php _e( 'Slug' ); ?></span>915 <span class="input-text-wrap"><input type="text" name="post_name" value="" /></span>916 </label>917 918 <?php endif; // $bulk919 endif; // post_type_supports title ?>920 921 <?php if ( !$bulk ) : ?>922 <label><span class="title"><?php _e( 'Date' ); ?></span></label>923 <div class="inline-edit-date">924 <?php touch_time(1, 1, 4, 1); ?>925 </div>926 <br class="clear" />927 928 <?php endif; // $bulk929 930 if ( post_type_supports( $screen->post_type, 'author' ) ) :931 $authors = get_editable_user_ids( get_current_user_id(), true, $screen->post_type ); // TODO: ROLE SYSTEM932 $authors_dropdown = '';933 if ( $authors && count( $authors ) > 1 ) :934 $users_opt = array('include' => $authors, 'name' => 'post_author', 'class'=> 'authors', 'multi' => 1, 'echo' => 0);935 if ( $bulk )936 $users_opt['show_option_none'] = __('— No Change —');937 $authors_dropdown = '<label>';938 $authors_dropdown .= '<span class="title">' . __( 'Author' ) . '</span>';939 $authors_dropdown .= wp_dropdown_users( $users_opt );940 $authors_dropdown .= '</label>';941 942 endif; // authors943 if ( !$bulk ) // On bulk views, this is used further down944 echo $authors_dropdown;945 endif; // post_type_supports author946 947 if ( !$bulk ) :948 ?>949 950 <div class="inline-edit-group">951 <label class="alignleft">952 <span class="title"><?php _e( 'Password' ); ?></span>953 <span class="input-text-wrap"><input type="text" name="post_password" class="inline-edit-password-input" value="" /></span>954 </label>955 956 <em style="margin:5px 10px 0 0" class="alignleft">957 <?php958 /* translators: Between password field and private checkbox on post quick edit interface */959 echo __( '–OR–' );960 ?>961 </em>962 <label class="alignleft inline-edit-private">963 <input type="checkbox" name="keep_private" value="private" />964 <span class="checkbox-title"><?php echo __('Private'); ?></span>965 </label>966 </div>967 968 <?php endif; ?>969 970 </div></fieldset>971 972 <?php if ( count($hierarchical_taxonomies) && !$bulk ) : ?>973 974 <fieldset class="inline-edit-col-center inline-edit-categories"><div class="inline-edit-col">975 976 <?php foreach ( $hierarchical_taxonomies as $taxonomy ) : ?>977 978 <span class="title inline-edit-categories-label"><?php echo esc_html($taxonomy->labels->name); ?>979 <span class="catshow"><?php _e('[more]'); ?></span>980 <span class="cathide" style="display:none;"><?php _e('[less]'); ?></span>981 </span>982 <input type="hidden" name="<?php echo ( $taxonomy->name == 'category' ) ? 'post_category[]' : 'tax_input[' . esc_attr($taxonomy->name) . '][]'; ?>" value="0" />983 <ul class="cat-checklist <?php echo esc_attr($taxonomy->name)?>-checklist">984 <?php wp_terms_checklist(null, array('taxonomy' => $taxonomy->name)); ?>985 </ul>986 987 <?php endforeach; //$hierarchical_taxonomies as $taxonomy ?>988 989 </div></fieldset>990 991 <?php endif; // count($hierarchical_taxonomies) && !$bulk ?>992 993 <fieldset class="inline-edit-col-right"><div class="inline-edit-col">994 995 <?php996 if ( post_type_supports( $screen->post_type, 'author' ) && $bulk )997 echo $authors_dropdown;998 ?>999 1000 <?php if ( $post_type_object->hierarchical ) : ?>1001 1002 <label>1003 <span class="title"><?php _e( 'Parent' ); ?></span>1004 <?php1005 $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');1006 if ( $bulk )1007 $dropdown_args['show_option_no_change'] = __('— No Change —');1008 $dropdown_args = apply_filters('quick_edit_dropdown_pages_args', $dropdown_args);1009 wp_dropdown_pages($dropdown_args);1010 ?>1011 </label>1012 1013 <?php if ( post_type_supports( $screen->post_type, 'page-attributes' ) ) :1014 if ( !$bulk ) : ?>1015 1016 <label>1017 <span class="title"><?php _e( 'Order' ); ?></span>1018 <span class="input-text-wrap"><input type="text" name="menu_order" class="inline-edit-menu-order-input" value="<?php echo $post->menu_order; ?>" /></span>1019 </label>1020 1021 <?php endif; // !$bulk ?>1022 1023 <label>1024 <span class="title"><?php _e( 'Template' ); ?></span>1025 <select name="page_template">1026 <?php if ( $bulk ) : ?>1027 <option value="-1"><?php _e('— No Change —'); ?></option>1028 <?php endif; // $bulk ?>1029 <option value="default"><?php _e( 'Default Template' ); ?></option>1030 <?php page_template_dropdown(); ?>1031 </select>1032 </label>1033 1034 <?php1035 endif; // post_type_supports page-attributes1036 endif; // $post_type_object->hierarchical ?>1037 1038 <?php if ( count($flat_taxonomies) && !$bulk ) : ?>1039 1040 <?php foreach ( $flat_taxonomies as $taxonomy ) : ?>1041 1042 <label class="inline-edit-tags">1043 <span class="title"><?php echo esc_html($taxonomy->labels->name); ?></span>1044 <textarea cols="22" rows="1" name="tax_input[<?php echo esc_attr($taxonomy->name); ?>]" class="tax_input_<?php echo esc_attr($taxonomy->name); ?>"></textarea>1045 </label>1046 1047 <?php endforeach; //$flat_taxonomies as $taxonomy ?>1048 1049 <?php endif; // count($flat_taxonomies) && !$bulk ?>1050 1051 <?php if ( post_type_supports( $screen->post_type, 'comments' ) || post_type_supports( $screen->post_type, 'trackbacks' ) ) :1052 if ( $bulk ) : ?>1053 1054 <div class="inline-edit-group">1055 <?php if ( post_type_supports( $screen->post_type, 'comments' ) ) : ?>1056 <label class="alignleft">1057 <span class="title"><?php _e( 'Comments' ); ?></span>1058 <select name="comment_status">1059 <option value=""><?php _e('— No Change —'); ?></option>1060 <option value="open"><?php _e('Allow'); ?></option>1061 <option value="closed"><?php _e('Do not allow'); ?></option>1062 </select>1063 </label>1064 <?php endif; if ( post_type_supports( $screen->post_type, 'trackbacks' ) ) : ?>1065 <label class="alignright">1066 <span class="title"><?php _e( 'Pings' ); ?></span>1067 <select name="ping_status">1068 <option value=""><?php _e('— No Change —'); ?></option>1069 <option value="open"><?php _e('Allow'); ?></option>1070 <option value="closed"><?php _e('Do not allow'); ?></option>1071 </select>1072 </label>1073 <?php endif; ?>1074 </div>1075 1076 <?php else : // $bulk ?>1077 1078 <div class="inline-edit-group">1079 <?php if ( post_type_supports( $screen->post_type, 'comments' ) ) : ?>1080 <label class="alignleft">1081 <input type="checkbox" name="comment_status" value="open" />1082 <span class="checkbox-title"><?php _e( 'Allow Comments' ); ?></span>1083 </label>1084 <?php endif; if ( post_type_supports( $screen->post_type, 'trackbacks' ) ) : ?>1085 <label class="alignleft">1086 <input type="checkbox" name="ping_status" value="open" />1087 <span class="checkbox-title"><?php _e( 'Allow Pings' ); ?></span>1088 </label>1089 <?php endif; ?>1090 </div>1091 1092 <?php endif; // $bulk1093 endif; // post_type_supports comments or pings ?>1094 1095 <div class="inline-edit-group">1096 <label class="inline-edit-status alignleft">1097 <span class="title"><?php _e( 'Status' ); ?></span>1098 <select name="_status">1099 <?php if ( $bulk ) : ?>1100 <option value="-1"><?php _e('— No Change —'); ?></option>1101 <?php endif; // $bulk ?>1102 <?php if ( $can_publish ) : // Contributors only get "Unpublished" and "Pending Review" ?>1103 <option value="publish"><?php _e( 'Published' ); ?></option>1104 <option value="future"><?php _e( 'Scheduled' ); ?></option>1105 <?php if ( $bulk ) : ?>1106 <option value="private"><?php _e('Private'); ?></option>1107 <?php endif; // $bulk ?>1108 <?php endif; ?>1109 <option value="pending"><?php _e( 'Pending Review' ); ?></option>1110 <option value="draft"><?php _e( 'Draft' ); ?></option>1111 </select>1112 </label>1113 1114 <?php if ( 'post' == $screen->post_type && $can_publish && current_user_can( $post_type_object->cap->edit_others_posts ) ) : ?>1115 1116 <?php if ( $bulk ) : ?>1117 1118 <label class="alignright">1119 <span class="title"><?php _e( 'Sticky' ); ?></span>1120 <select name="sticky">1121 <option value="-1"><?php _e( '— No Change —' ); ?></option>1122 <option value="sticky"><?php _e( 'Sticky' ); ?></option>1123 <option value="unsticky"><?php _e( 'Not Sticky' ); ?></option>1124 </select>1125 </label>1126 1127 <?php else : // $bulk ?>1128 1129 <label class="alignleft">1130 <input type="checkbox" name="sticky" value="sticky" />1131 <span class="checkbox-title"><?php _e( 'Make this post sticky' ); ?></span>1132 </label>1133 1134 <?php endif; // $bulk ?>1135 1136 <?php endif; // !$is_page && $can_publish && current_user_can( 'edit_others_cap' ) ?>1137 1138 </div>1139 1140 </div></fieldset>1141 1142 <?php1143 foreach ( $columns as $column_name => $column_display_name ) {1144 if ( isset( $core_columns[$column_name] ) )1145 continue;1146 do_action( $bulk ? 'bulk_edit_custom_box' : 'quick_edit_custom_box', $column_name, $screen->post_type );1147 }1148 ?>1149 <p class="submit inline-edit-save">1150 <a accesskey="c" href="#inline-edit" title="<?php _e('Cancel'); ?>" class="button-secondary cancel alignleft"><?php _e('Cancel'); ?></a>1151 <?php if ( ! $bulk ) {1152 wp_nonce_field( 'inlineeditnonce', '_inline_edit', false );1153 $update_text = __( 'Update' );1154 ?>1155 <a accesskey="s" href="#inline-edit" title="<?php _e('Update'); ?>" class="button-primary save alignright"><?php echo esc_attr( $update_text ); ?></a>1156 <img class="waiting" style="display:none;" src="<?php echo esc_url( admin_url( 'images/wpspin_light.gif' ) ); ?>" alt="" />1157 <?php } else {1158 $update_text = __( 'Update' );1159 ?>1160 <input accesskey="s" class="button-primary alignright" type="submit" name="bulk_edit" value="<?php echo esc_attr( $update_text ); ?>" />1161 <?php } ?>1162 <input type="hidden" name="post_view" value="<?php echo esc_attr($m); ?>" />1163 <input type="hidden" name="screen" value="<?php echo esc_attr($screen->id); ?>" />1164 <br class="clear" />1165 </p>1166 </td></tr>1167 <?php1168 $bulk++;1169 } ?>1170 </tbody></table></form>1171 <?php1172 220 } 1173 221 … … 1233 281 * @since unknown 1234 282 * 1235 * @param unknown_type $posts1236 */1237 function post_rows( $posts = array() ) {1238 global $wp_query, $post, $mode;1239 1240 add_filter('the_title','esc_html');1241 1242 // Create array of post IDs.1243 $post_ids = array();1244 1245 if ( empty($posts) )1246 $posts = &$wp_query->posts;1247 1248 foreach ( $posts as $a_post )1249 $post_ids[] = $a_post->ID;1250 1251 $comment_pending_count = get_pending_comments_num($post_ids);1252 1253 foreach ( $posts as $post ) {1254 if ( empty($comment_pending_count[$post->ID]) )1255 $comment_pending_count[$post->ID] = 0;1256 1257 _post_row($post, $comment_pending_count[$post->ID], $mode);1258 }1259 }1260 1261 /**1262 * {@internal Missing Short Description}}1263 *1264 * @since unknown1265 *1266 * @param unknown_type $a_post1267 * @param unknown_type $pending_comments1268 * @param unknown_type $mode1269 */1270 function _post_row($a_post, $pending_comments, $mode) {1271 global $post, $current_screen;1272 static $rowclass;1273 1274 $global_post = $post;1275 $post = $a_post;1276 setup_postdata($post);1277 1278 $rowclass = 'alternate' == $rowclass ? '' : 'alternate';1279 $post_owner = ( get_current_user_id() == $post->post_author ? 'self' : 'other' );1280 $edit_link = get_edit_post_link( $post->ID );1281 $title = _draft_or_post_title();1282 $post_type_object = get_post_type_object($post->post_type);1283 ?>1284 <tr id='post-<?php echo $post->ID; ?>' class='<?php echo trim( $rowclass . ' author-' . $post_owner . ' status-' . $post->post_status ); ?> iedit' valign="top">1285 <?php1286 $posts_columns = get_column_headers( $current_screen );1287 $hidden = get_hidden_columns( $current_screen );1288 foreach ( $posts_columns as $column_name=>$column_display_name ) {1289 $class = "class=\"$column_name column-$column_name\"";1290 1291 $style = '';1292 if ( in_array($column_name, $hidden) )1293 $style = ' style="display:none;"';1294 1295 $attributes = "$class$style";1296 1297 switch ($column_name) {1298 1299 case 'cb':1300 ?>1301 <th scope="row" class="check-column"><?php if ( current_user_can( $post_type_object->cap->edit_post, $post->ID ) ) { ?><input type="checkbox" name="post[]" value="<?php the_ID(); ?>" /><?php } ?></th>1302 <?php1303 break;1304 1305 case 'date':1306 if ( '0000-00-00 00:00:00' == $post->post_date && 'date' == $column_name ) {1307 $t_time = $h_time = __('Unpublished');1308 $time_diff = 0;1309 } else {1310 $t_time = get_the_time(__('Y/m/d g:i:s A'));1311 $m_time = $post->post_date;1312 $time = get_post_time('G', true, $post);1313 1314 $time_diff = time() - $time;1315 1316 if ( $time_diff > 0 && $time_diff < 24*60*60 )1317 $h_time = sprintf( __('%s ago'), human_time_diff( $time ) );1318 else1319 $h_time = mysql2date(__('Y/m/d'), $m_time);1320 }1321 1322 echo '<td ' . $attributes . '>';1323 if ( 'excerpt' == $mode )1324 echo apply_filters('post_date_column_time', $t_time, $post, $column_name, $mode);1325 else1326 echo '<abbr title="' . $t_time . '">' . apply_filters('post_date_column_time', $h_time, $post, $column_name, $mode) . '</abbr>';1327 echo '<br />';1328 if ( 'publish' == $post->post_status ) {1329 _e('Published');1330 } elseif ( 'future' == $post->post_status ) {1331 if ( $time_diff > 0 )1332 echo '<strong class="attention">' . __('Missed schedule') . '</strong>';1333 else1334 _e('Scheduled');1335 } else {1336 _e('Last Modified');1337 }1338 echo '</td>';1339 break;1340 1341 case 'title':1342 $attributes = 'class="post-title column-title"' . $style;1343 ?>1344 <td <?php echo $attributes; ?>><strong><?php if ( current_user_can($post_type_object->cap->edit_post, $post->ID) && $post->post_status != 'trash' ) { ?><a class="row-title" href="<?php echo $edit_link; ?>" title="<?php echo esc_attr(sprintf(__('Edit “%s”'), $title)); ?>"><?php echo $title; ?></a><?php } else { echo $title; }; _post_states($post); ?></strong>1345 <?php1346 if ( 'excerpt' == $mode )1347 the_excerpt();1348 1349 $actions = array();1350 if ( current_user_can($post_type_object->cap->edit_post, $post->ID) && 'trash' != $post->post_status ) {1351 $actions['edit'] = '<a href="' . get_edit_post_link($post->ID, true) . '" title="' . esc_attr(__('Edit this item')) . '">' . __('Edit') . '</a>';1352 $actions['inline hide-if-no-js'] = '<a href="#" class="editinline" title="' . esc_attr(__('Edit this item inline')) . '">' . __('Quick Edit') . '</a>';1353 }1354 if ( current_user_can($post_type_object->cap->delete_post, $post->ID) ) {1355 if ( 'trash' == $post->post_status )1356 $actions['untrash'] = "<a title='" . esc_attr(__('Restore this item from the Trash')) . "' href='" . wp_nonce_url( admin_url( sprintf($post_type_object->_edit_link . '&action=untrash', $post->ID) ), 'untrash-' . $post->post_type . '_' . $post->ID ) . "'>" . __('Restore') . '</a>';1357 elseif ( EMPTY_TRASH_DAYS )1358 $actions['trash'] = "<a class='submitdelete' title='" . esc_attr(__('Move this item to the Trash')) . "' href='" . get_delete_post_link($post->ID) . "'>" . __('Trash') . '</a>';1359 if ( 'trash' == $post->post_status || !EMPTY_TRASH_DAYS )1360 $actions['delete'] = "<a class='submitdelete' title='" . esc_attr(__('Delete this item permanently')) . "' href='" . get_delete_post_link($post->ID, '', true) . "'>" . __('Delete Permanently') . '</a>';1361 }1362 if ( in_array($post->post_status, array('pending', 'draft')) ) {1363 if ( current_user_can($post_type_object->cap->edit_post, $post->ID) )1364 $actions['view'] = '<a href="' . esc_url( add_query_arg( 'preview', 'true', get_permalink($post->ID) ) ) . '" title="' . esc_attr(sprintf(__('Preview “%s”'), $title)) . '" rel="permalink">' . __('Preview') . '</a>';1365 } elseif ( 'trash' != $post->post_status ) {1366 $actions['view'] = '<a href="' . get_permalink($post->ID) . '" title="' . esc_attr(sprintf(__('View “%s”'), $title)) . '" rel="permalink">' . __('View') . '</a>';1367 }1368 $actions = apply_filters('post_row_actions', $actions, $post);1369 $action_count = count($actions);1370 $i = 0;1371 echo '<div class="row-actions">';1372 foreach ( $actions as $action => $link ) {1373 ++$i;1374 ( $i == $action_count ) ? $sep = '' : $sep = ' | ';1375 echo "<span class='$action'>$link$sep</span>";1376 }1377 echo '</div>';1378 1379 get_inline_data($post);1380 ?>1381 </td>1382 <?php1383 break;1384 1385 case 'categories':1386 ?>1387 <td <?php echo $attributes; ?>><?php1388 $categories = get_the_category();1389 if ( !empty( $categories ) ) {1390 $out = array();1391 foreach ( $categories as $c )1392 $out[] = "<a href='edit.php?post_type={$post->post_type}&category_name={$c->slug}'> " . esc_html(sanitize_term_field('name', $c->name, $c->term_id, 'category', 'display')) . '</a>';1393 echo join( ', ', $out );1394 } else {1395 _e('Uncategorized');1396 }1397 ?></td>1398 <?php1399 break;1400 1401 case 'tags':1402 ?>1403 <td <?php echo $attributes; ?>><?php1404 $tags = get_the_tags($post->ID);1405 if ( !empty( $tags ) ) {1406 $out = array();1407 foreach ( $tags as $c )1408 $out[] = "<a href='edit.php?post_type={$post->post_type}&tag={$c->slug}'> " . esc_html(sanitize_term_field('name', $c->name, $c->term_id, 'post_tag', 'display')) . '</a>';1409 echo join( ', ', $out );1410 } else {1411 _e('No Tags');1412 }1413 ?></td>1414 <?php1415 break;1416 1417 case 'comments':1418 ?>1419 <td <?php echo $attributes; ?>><div class="post-com-count-wrapper">1420 <?php1421 $pending_phrase = sprintf( __('%s pending'), number_format( $pending_comments ) );1422 if ( $pending_comments )1423 echo '<strong>';1424 comments_number("<a href='edit-comments.php?p=$post->ID' title='$pending_phrase' class='post-com-count'><span class='comment-count'>" . /* translators: comment count link */ _x('0', 'comment count') . '</span></a>', "<a href='edit-comments.php?p=$post->ID' title='$pending_phrase' class='post-com-count'><span class='comment-count'>" . /* translators: comment count link */ _x('1', 'comment count') . '</span></a>', "<a href='edit-comments.php?p=$post->ID' title='$pending_phrase' class='post-com-count'><span class='comment-count'>" . /* translators: comment count link: % will be substituted by comment count */ _x('%', 'comment count') . '</span></a>');1425 if ( $pending_comments )1426 echo '</strong>';1427 ?>1428 </div></td>1429 <?php1430 break;1431 1432 case 'author':1433 ?>1434 <td <?php echo $attributes; ?>><a href="edit.php?post_type=<?php echo $post->post_type; ?>&author=<?php the_author_meta('ID'); ?>"><?php the_author(); ?></a></td>1435 <?php1436 break;1437 1438 case 'control_view':1439 ?>1440 <td><a href="<?php the_permalink(); ?>" rel="permalink" class="view"><?php _e('View'); ?></a></td>1441 <?php1442 break;1443 1444 case 'control_edit':1445 ?>1446 <td><?php if ( current_user_can($post_type_object->cap->edit_post, $post->ID) ) { echo "<a href='$edit_link' class='edit'>" . __('Edit') . '</a>'; } ?></td>1447 <?php1448 break;1449 1450 case 'control_delete':1451 ?>1452 <td><?php if ( current_user_can($post_type_object->cap->delete_post, $post->ID) ) { echo "<a href='" . wp_nonce_url("post.php?action=delete&post=$id", 'delete-post_' . $post->ID) . "' class='delete'>" . __('Delete') . '</a>'; } ?></td>1453 <?php1454 break;1455 1456 default:1457 ?>1458 <td <?php echo $attributes; ?>><?php do_action('manage_posts_custom_column', $column_name, $post->ID); ?></td>1459 <?php1460 break;1461 }1462 }1463 ?>1464 </tr>1465 <?php1466 $post = $global_post;1467 }1468 1469 /*1470 * display one row if the page doesn't have any children1471 * otherwise, display the row and its children in subsequent rows1472 */1473 /**1474 * {@internal Missing Short Description}}1475 *1476 * @since unknown1477 *1478 * @param unknown_type $page1479 * @param unknown_type $level1480 */1481 function display_page_row( $page, $level = 0 ) {1482 global $post, $current_screen;1483 static $rowclass;1484 1485 $post = $page;1486 setup_postdata($page);1487 1488 if ( 0 == $level && (int)$page->post_parent > 0 ) {1489 //sent level 0 by accident, by default, or because we don't know the actual level1490 $find_main_page = (int)$page->post_parent;1491 while ( $find_main_page > 0 ) {1492 $parent = get_page($find_main_page);1493 1494 if ( is_null($parent) )1495 break;1496 1497 $level++;1498 $find_main_page = (int)$parent->post_parent;1499 1500 if ( !isset($parent_name) )1501 $parent_name = $parent->post_title;1502 }1503 }1504 1505 $page->post_title = esc_html( $page->post_title );1506 $pad = str_repeat( '— ', $level );1507 $id = (int) $page->ID;1508 $rowclass = 'alternate' == $rowclass ? '' : 'alternate';1509 $posts_columns = get_column_headers( $current_screen );1510 $hidden = get_hidden_columns( $current_screen );1511 $title = _draft_or_post_title();1512 $post_type = $page->post_type;1513 $post_type_object = get_post_type_object($post_type);1514 ?>1515 <tr id="page-<?php echo $id; ?>" class="<?php echo $rowclass; ?> iedit">1516 <?php1517 1518 foreach ( $posts_columns as $column_name => $column_display_name ) {1519 $class = "class=\"$column_name column-$column_name\"";1520 1521 $style = '';1522 if ( in_array($column_name, $hidden) )1523 $style = ' style="display:none;"';1524 1525 $attributes = "$class$style";1526 1527 switch ($column_name) {1528 1529 case 'cb':1530 ?>1531 <th scope="row" class="check-column"><?php if ( current_user_can( $post_type_object->cap->edit_post, $page->ID ) ) { ?><input type="checkbox" name="post[]" value="<?php the_ID(); ?>" /><?php } ?></th>1532 <?php1533 break;1534 case 'date':1535 if ( '0000-00-00 00:00:00' == $page->post_date && 'date' == $column_name ) {1536 $t_time = $h_time = __('Unpublished');1537 $time_diff = 0;1538 } else {1539 $t_time = get_the_time(__('Y/m/d g:i:s A'));1540 $m_time = $page->post_date;1541 $time = get_post_time('G', true);1542 1543 $time_diff = time() - $time;1544 1545 if ( $time_diff > 0 && $time_diff < 24*60*60 )1546 $h_time = sprintf( __('%s ago'), human_time_diff( $time ) );1547 else1548 $h_time = mysql2date(__('Y/m/d'), $m_time);1549 }1550 echo '<td ' . $attributes . '>';1551 echo '<abbr title="' . $t_time . '">' . apply_filters('post_date_column_time', $h_time, $page, $column_name, '') . '</abbr>';1552 echo '<br />';1553 if ( 'publish' == $page->post_status ) {1554 _e('Published');1555 } elseif ( 'future' == $page->post_status ) {1556 if ( $time_diff > 0 )1557 echo '<strong class="attention">' . __('Missed schedule') . '</strong>';1558 else1559 _e('Scheduled');1560 } else {1561 _e('Last Modified');1562 }1563 echo '</td>';1564 break;1565 case 'title':1566 $attributes = 'class="post-title page-title column-title"' . $style;1567 $edit_link = get_edit_post_link( $page->ID );1568 ?>1569 <td <?php echo $attributes; ?>><strong><?php if ( current_user_can($post_type_object->cap->edit_post, $page->ID) && $post->post_status != 'trash' ) { ?><a class="row-title" href="<?php echo $edit_link; ?>" title="<?php echo esc_attr(sprintf(__('Edit “%s”'), $title)); ?>"><?php echo $pad; echo $title; ?></a><?php } else { echo $pad; echo $title; }; _post_states($page); echo isset($parent_name) ? ' | ' . $post_type_object->labels->parent_item_colon . ' ' . esc_html($parent_name) : ''; ?></strong>1570 <?php1571 $actions = array();1572 if ( current_user_can($post_type_object->cap->edit_post, $page->ID) && $post->post_status != 'trash' ) {1573 $actions['edit'] = '<a href="' . $edit_link . '" title="' . esc_attr(__('Edit this page')) . '">' . __('Edit') . '</a>';1574 $actions['inline'] = '<a href="#" class="editinline">' . __('Quick Edit') . '</a>';1575 }1576 if ( current_user_can($post_type_object->cap->delete_post, $page->ID) ) {1577 if ( $post->post_status == 'trash' )1578 $actions['untrash'] = "<a title='" . esc_attr(__('Remove this page from the Trash')) . "' href='" . wp_nonce_url("post.php?post_type=$post_type&action=untrash&post=$page->ID", 'untrash-' . $post->post_type . '_' . $page->ID) . "'>" . __('Restore') . '</a>';1579 elseif ( EMPTY_TRASH_DAYS )1580 $actions['trash'] = "<a class='submitdelete' title='" . esc_attr(__('Move this page to the Trash')) . "' href='" . get_delete_post_link($page->ID) . "'>" . __('Trash') . '</a>';1581 if ( $post->post_status == 'trash' || !EMPTY_TRASH_DAYS )1582 $actions['delete'] = "<a class='submitdelete' title='" . esc_attr(__('Delete this page permanently')) . "' href='" . wp_nonce_url("post.php?post_type=$post_type&action=delete&post=$page->ID", 'delete-' . $post->post_type . '_' . $page->ID) . "'>" . __('Delete Permanently') . '</a>';1583 }1584 if ( in_array($post->post_status, array('pending', 'draft')) ) {1585 if ( current_user_can($post_type_object->cap->edit_post, $page->ID) )1586 $actions['view'] = '<a href="' . esc_url( add_query_arg( 'preview', 'true', get_permalink($page->ID) ) ) . '" title="' . esc_attr(sprintf(__('Preview “%s”'), $title)) . '" rel="permalink">' . __('Preview') . '</a>';1587 } elseif ( $post->post_status != 'trash' ) {1588 $actions['view'] = '<a href="' . get_permalink($page->ID) . '" title="' . esc_attr(sprintf(__('View “%s”'), $title)) . '" rel="permalink">' . __('View') . '</a>';1589 }1590 $actions = apply_filters('page_row_actions', $actions, $page);1591 $action_count = count($actions);1592 1593 $i = 0;1594 echo '<div class="row-actions">';1595 foreach ( $actions as $action => $link ) {1596 ++$i;1597 ( $i == $action_count ) ? $sep = '' : $sep = ' | ';1598 echo "<span class='$action'>$link$sep</span>";1599 }1600 echo '</div>';1601 1602 get_inline_data($post);1603 echo '</td>';1604 break;1605 1606 case 'comments':1607 ?>1608 <td <?php echo $attributes; ?>><div class="post-com-count-wrapper">1609 <?php1610 $left = get_pending_comments_num( $page->ID );1611 $pending_phrase = sprintf( __('%s pending'), number_format( $left ) );1612 if ( $left )1613 echo '<strong>';1614 comments_number("<a href='edit-comments.php?p=$id' title='$pending_phrase' class='post-com-count'><span class='comment-count'>" . /* translators: comment count link */ _x('0', 'comment count') . '</span></a>', "<a href='edit-comments.php?p=$id' title='$pending_phrase' class='post-com-count'><span class='comment-count'>" . /* translators: comment count link */ _x('1', 'comment count') . '</span></a>', "<a href='edit-comments.php?p=$id' title='$pending_phrase' class='post-com-count'><span class='comment-count'>" . /* translators: comment count link: % will be substituted by comment count */ _x('%', 'comment count') . '</span></a>');1615 if ( $left )1616 echo '</strong>';1617 ?>1618 </div></td>1619 <?php1620 break;1621 1622 case 'author':1623 ?>1624 <td <?php echo $attributes; ?>><a href="edit.php?post_type=<?php echo $post_type; ?>&author=<?php the_author_meta('ID'); ?>"><?php the_author(); ?></a></td>1625 <?php1626 break;1627 1628 default:1629 ?>1630 <td <?php echo $attributes; ?>><?php do_action('manage_pages_custom_column', $column_name, $id); ?></td>1631 <?php1632 break;1633 }1634 }1635 ?>1636 1637 </tr>1638 1639 <?php1640 }1641 1642 /*1643 * displays pages in hierarchical order with paging support1644 */1645 /**1646 * {@internal Missing Short Description}}1647 *1648 * @since unknown1649 *1650 * @param unknown_type $pages1651 * @param unknown_type $pagenum1652 * @param unknown_type $per_page1653 * @return unknown1654 */1655 function page_rows($pages, $pagenum = 1, $per_page = 20) {1656 global $wpdb;1657 1658 $level = 0;1659 1660 if ( ! $pages ) {1661 $pages = get_pages( array('sort_column' => 'menu_order') );1662 1663 if ( ! $pages )1664 return false;1665 }1666 1667 /*1668 * arrange pages into two parts: top level pages and children_pages1669 * children_pages is two dimensional array, eg.1670 * children_pages[10][] contains all sub-pages whose parent is 10.1671 * It only takes O(N) to arrange this and it takes O(1) for subsequent lookup operations1672 * If searching, ignore hierarchy and treat everything as top level1673 */1674 if ( empty($_GET['s']) ) {1675 1676 $top_level_pages = array();1677 $children_pages = array();1678 1679 foreach ( $pages as $page ) {1680 1681 // catch and repair bad pages1682 if ( $page->post_parent == $page->ID ) {1683 $page->post_parent = 0;1684 $wpdb->update($wpdb->posts, array('post_parent' => 0), array('ID' => $page->ID));1685 clean_page_cache( $page->ID );1686 }1687 1688 if ( 0 == $page->post_parent )1689 $top_level_pages[] = $page;1690 else1691 $children_pages[ $page->post_parent ][] = $page;1692 }1693 1694 $pages = &$top_level_pages;1695 }1696 1697 $count = 0;1698 $start = ($pagenum - 1) * $per_page;1699 $end = $start + $per_page;1700 1701 foreach ( $pages as $page ) {1702 if ( $count >= $end )1703 break;1704 1705 if ( $count >= $start )1706 echo "\t" . display_page_row( $page, $level );1707 1708 $count++;1709 1710 if ( isset($children_pages) )1711 _page_rows( $children_pages, $count, $page->ID, $level + 1, $pagenum, $per_page );1712 }1713 1714 // if it is the last pagenum and there are orphaned pages, display them with paging as well1715 if ( isset($children_pages) && $count < $end ) {1716 foreach ( $children_pages as $orphans ) {1717 foreach ( $orphans as $op ) {1718 if ( $count >= $end )1719 break;1720 if ( $count >= $start )1721 echo "\t" . display_page_row( $op, 0 );1722 $count++;1723 }1724 }1725 }1726 }1727 1728 /**1729 * Given a top level page ID, display the nested hierarchy of sub-pages1730 * together with paging support1731 *1732 * @since unknown1733 *1734 * @param unknown_type $children_pages1735 * @param unknown_type $count1736 * @param unknown_type $parent1737 * @param unknown_type $level1738 * @param unknown_type $pagenum1739 * @param unknown_type $per_page1740 */1741 function _page_rows( &$children_pages, &$count, $parent, $level, $pagenum, $per_page ) {1742 1743 if ( ! isset( $children_pages[$parent] ) )1744 return;1745 1746 $start = ($pagenum - 1) * $per_page;1747 $end = $start + $per_page;1748 1749 foreach ( $children_pages[$parent] as $page ) {1750 1751 if ( $count >= $end )1752 break;1753 1754 // If the page starts in a subtree, print the parents.1755 if ( $count == $start && $page->post_parent > 0 ) {1756 $my_parents = array();1757 $my_parent = $page->post_parent;1758 while ( $my_parent) {1759 $my_parent = get_post($my_parent);1760 $my_parents[] = $my_parent;1761 if ( !$my_parent->post_parent )1762 break;1763 $my_parent = $my_parent->post_parent;1764 }1765 $num_parents = count($my_parents);1766 while ( $my_parent = array_pop($my_parents) ) {1767 echo "\t" . display_page_row( $my_parent, $level - $num_parents );1768 $num_parents--;1769 }1770 }1771 1772 if ( $count >= $start )1773 echo "\t" . display_page_row( $page, $level );1774 1775 $count++;1776 1777 _page_rows( $children_pages, $count, $page->ID, $level + 1, $pagenum, $per_page );1778 }1779 1780 unset( $children_pages[$parent] ); //required in order to keep track of orphans1781 }1782 1783 /**1784 * Generate HTML for a single row on the users.php admin panel.1785 *1786 * @since 2.1.01787 *1788 * @param object $user_object1789 * @param string $style Optional. Attributes added to the TR element. Must be sanitized.1790 * @param string $role Key for the $wp_roles array.1791 * @param int $numposts Optional. Post count to display for this user. Defaults to zero, as in, a new user has made zero posts.1792 * @return string1793 */1794 function user_row( $user_object, $style = '', $role = '', $numposts = 0 ) {1795 global $wp_roles;1796 1797 if ( !( is_object( $user_object) && is_a( $user_object, 'WP_User' ) ) )1798 $user_object = new WP_User( (int) $user_object );1799 $user_object = sanitize_user_object($user_object, 'display');1800 $email = $user_object->user_email;1801 $url = $user_object->user_url;1802 $short_url = str_replace( 'http://', '', $url );1803 $short_url = str_replace( 'www.', '', $short_url );1804 if ('/' == substr( $short_url, -1 ))1805 $short_url = substr( $short_url, 0, -1 );1806 if ( strlen( $short_url ) > 35 )1807 $short_url = substr( $short_url, 0, 32 ).'...';1808 $checkbox = '';1809 // Check if the user for this row is editable1810 if ( current_user_can( 'list_users' ) ) {1811 // Set up the user editing link1812 // TODO: make profile/user-edit determination a separate function1813 if ( get_current_user_id() == $user_object->ID) {1814 $edit_link = 'profile.php';1815 } else {1816 $edit_link = esc_url( add_query_arg( 'wp_http_referer', urlencode( esc_url( stripslashes( $_SERVER['REQUEST_URI'] ) ) ), "user-edit.php?user_id=$user_object->ID" ) );1817 }1818 $edit = "<strong><a href=\"$edit_link\">$user_object->user_login</a></strong><br />";1819 1820 // Set up the hover actions for this user1821 $actions = array();1822 1823 if ( current_user_can('edit_user', $user_object->ID) ) {1824 $edit = "<strong><a href=\"$edit_link\">$user_object->user_login</a></strong><br />";1825 $actions['edit'] = '<a href="' . $edit_link . '">' . __('Edit') . '</a>';1826 } else {1827 $edit = "<strong>$user_object->user_login</strong><br />";1828 }1829 1830 if ( !is_multisite() && get_current_user_id() != $user_object->ID && current_user_can('delete_user', $user_object->ID) )1831 $actions['delete'] = "<a class='submitdelete' href='" . wp_nonce_url("users.php?action=delete&user=$user_object->ID", 'bulk-users') . "'>" . __('Delete') . '</a>';1832 if ( is_multisite() && get_current_user_id() != $user_object->ID && current_user_can('remove_user', $user_object->ID) )1833 $actions['remove'] = "<a class='submitdelete' href='" . wp_nonce_url("users.php?action=remove&user=$user_object->ID", 'bulk-users') . "'>" . __('Remove') . '</a>';1834 $actions = apply_filters('user_row_actions', $actions, $user_object);1835 $action_count = count($actions);1836 $i = 0;1837 $edit .= '<div class="row-actions">';1838 foreach ( $actions as $action => $link ) {1839 ++$i;1840 ( $i == $action_count ) ? $sep = '' : $sep = ' | ';1841 $edit .= "<span class='$action'>$link$sep</span>";1842 }1843 $edit .= '</div>';1844 1845 // Set up the checkbox (because the user is editable, otherwise its empty)1846 $checkbox = "<input type='checkbox' name='users[]' id='user_{$user_object->ID}' class='$role' value='{$user_object->ID}' />";1847 1848 } else {1849 $edit = '<strong>' . $user_object->user_login . '</strong>';1850 }1851 $role_name = isset($wp_roles->role_names[$role]) ? translate_user_role($wp_roles->role_names[$role] ) : __('None');1852 $r = "<tr id='user-$user_object->ID'$style>";1853 $columns = get_column_headers('users');1854 $hidden = get_hidden_columns('users');1855 $avatar = get_avatar( $user_object->ID, 32 );1856 foreach ( $columns as $column_name => $column_display_name ) {1857 $class = "class=\"$column_name column-$column_name\"";1858 1859 $style = '';1860 if ( in_array($column_name, $hidden) )1861 $style = ' style="display:none;"';1862 1863 $attributes = "$class$style";1864 1865 switch ($column_name) {1866 case 'cb':1867 $r .= "<th scope='row' class='check-column'>$checkbox</th>";1868 break;1869 case 'username':1870 $r .= "<td $attributes>$avatar $edit</td>";1871 break;1872 case 'name':1873 $r .= "<td $attributes>$user_object->first_name $user_object->last_name</td>";1874 break;1875 case 'email':1876 $r .= "<td $attributes><a href='mailto:$email' title='" . sprintf( __('E-mail: %s' ), $email ) . "'>$email</a></td>";1877 break;1878 case 'role':1879 $r .= "<td $attributes>$role_name</td>";1880 break;1881 case 'posts':1882 $attributes = 'class="posts column-posts num"' . $style;1883 $r .= "<td $attributes>";1884 if ( $numposts > 0 ) {1885 $r .= "<a href='edit.php?author=$user_object->ID' title='" . __( 'View posts by this author' ) . "' class='edit'>";1886 $r .= $numposts;1887 $r .= '</a>';1888 } else {1889 $r .= 0;1890 }1891 $r .= "</td>";1892 break;1893 default:1894 $r .= "<td $attributes>";1895 $r .= apply_filters('manage_users_custom_column', '', $column_name, $user_object->ID);1896 $r .= "</td>";1897 }1898 }1899 $r .= '</tr>';1900 1901 return $r;1902 }1903 1904 /**1905 * {@internal Missing Short Description}}1906 *1907 * @since unknown1908 *1909 * @param string $status Comment status (approved, spam, trash, etc)1910 * @param string $s Term to search for1911 * @param int $start Offset to start at for pagination1912 * @param int $num Maximum number of comments to return1913 * @param int $post Post ID or 0 to return all comments1914 * @param string $type Comment type (comment, trackback, pingback, etc)1915 * @return array [0] contains the comments and [1] contains the total number of comments that match (ignoring $start and $num)1916 */1917 function _wp_get_comment_list( $status = '', $s = false, $start, $num, $post = 0, $type = '' ) {1918 global $wpdb;1919 1920 $start = abs( (int) $start );1921 $num = (int) $num;1922 $post = (int) $post;1923 $count = wp_count_comments();1924 $index = '';1925 1926 if ( 'moderated' == $status ) {1927 $approved = "c.comment_approved = '0'";1928 $total = $count->moderated;1929 } elseif ( 'approved' == $status ) {1930 $approved = "c.comment_approved = '1'";1931 $total = $count->approved;1932 } elseif ( 'spam' == $status ) {1933 $approved = "c.comment_approved = 'spam'";1934 $total = $count->spam;1935 } elseif ( 'trash' == $status ) {1936 $approved = "c.comment_approved = 'trash'";1937 $total = $count->trash;1938 } else {1939 $approved = "( c.comment_approved = '0' OR c.comment_approved = '1' )";1940 $total = $count->moderated + $count->approved;1941 $index = 'USE INDEX (c.comment_date_gmt)';1942 }1943 1944 if ( $post ) {1945 $total = '';1946 $post = " AND c.comment_post_ID = '$post'";1947 } else {1948 $post = '';1949 }1950 1951 $orderby = "ORDER BY c.comment_date_gmt DESC LIMIT $start, $num";1952 1953 if ( 'comment' == $type )1954 $typesql = "AND c.comment_type = ''";1955 elseif ( 'pings' == $type )1956 $typesql = "AND ( c.comment_type = 'pingback' OR c.comment_type = 'trackback' )";1957 elseif ( 'all' == $type )1958 $typesql = '';1959 elseif ( !empty($type) )1960 $typesql = $wpdb->prepare("AND c.comment_type = %s", $type);1961 else1962 $typesql = '';1963 1964 if ( !empty($type) )1965 $total = '';1966 1967 $query = "FROM $wpdb->comments c LEFT JOIN $wpdb->posts p ON c.comment_post_ID = p.ID WHERE p.post_status != 'trash' ";1968 if ( $s ) {1969 $total = '';1970 $s = $wpdb->escape($s);1971 $query .= "AND1972 (c.comment_author LIKE '%$s%' OR1973 c.comment_author_email LIKE '%$s%' OR1974 c.comment_author_url LIKE ('%$s%') OR1975 c.comment_author_IP LIKE ('%$s%') OR1976 c.comment_content LIKE ('%$s%') ) AND1977 $approved1978 $typesql";1979 } else {1980 $query .= "AND $approved $post $typesql";1981 }1982 1983 $comments = $wpdb->get_results("SELECT * $query $orderby");1984 if ( '' === $total )1985 $total = $wpdb->get_var("SELECT COUNT(c.comment_ID) $query");1986 1987 update_comment_cache($comments);1988 1989 return array($comments, $total);1990 }1991 1992 /**1993 * {@internal Missing Short Description}}1994 *1995 * @since unknown1996 *1997 * @param unknown_type $comment_id1998 * @param unknown_type $mode1999 * @param unknown_type $comment_status2000 * @param unknown_type $checkbox2001 */2002 function _wp_comment_row( $comment_id, $mode, $comment_status, $checkbox = true, $from_ajax = false ) {2003 global $comment, $post, $_comment_pending_count;2004 $comment = get_comment( $comment_id );2005 $post = get_post($comment->comment_post_ID);2006 $the_comment_status = wp_get_comment_status($comment->comment_ID);2007 $post_type_object = get_post_type_object($post->post_type);2008 $user_can = current_user_can($post_type_object->cap->edit_post, $post->ID);2009 2010 $comment_url = esc_url(get_comment_link($comment->comment_ID));2011 $author_url = get_comment_author_url();2012 if ( 'http://' == $author_url )2013 $author_url = '';2014 $author_url_display = preg_replace('|http://(www\.)?|i', '', $author_url);2015 if ( strlen($author_url_display) > 50 )2016 $author_url_display = substr($author_url_display, 0, 49) . '...';2017 2018 $ptime = date('G', strtotime( $comment->comment_date ) );2019 if ( ( abs(time() - $ptime) ) < 86400 )2020 $ptime = sprintf( __('%s ago'), human_time_diff( $ptime ) );2021 else2022 $ptime = mysql2date(__('Y/m/d \a\t g:i A'), $comment->comment_date );2023 2024 if ( $user_can ) {2025 $del_nonce = esc_html( '_wpnonce=' . wp_create_nonce( "delete-comment_$comment->comment_ID" ) );2026 $approve_nonce = esc_html( '_wpnonce=' . wp_create_nonce( "approve-comment_$comment->comment_ID" ) );2027 2028 $approve_url = esc_url( "comment.php?action=approvecomment&p=$post->ID&c=$comment->comment_ID&$approve_nonce" );2029 $unapprove_url = esc_url( "comment.php?action=unapprovecomment&p=$post->ID&c=$comment->comment_ID&$approve_nonce" );2030 $spam_url = esc_url( "comment.php?action=spamcomment&p=$post->ID&c=$comment->comment_ID&$del_nonce" );2031 $unspam_url = esc_url( "comment.php?action=unspamcomment&p=$post->ID&c=$comment->comment_ID&$del_nonce" );2032 $trash_url = esc_url( "comment.php?action=trashcomment&p=$post->ID&c=$comment->comment_ID&$del_nonce" );2033 $untrash_url = esc_url( "comment.php?action=untrashcomment&p=$post->ID&c=$comment->comment_ID&$del_nonce" );2034 $delete_url = esc_url( "comment.php?action=deletecomment&p=$post->ID&c=$comment->comment_ID&$del_nonce" );2035 }2036 2037 echo "<tr id='comment-$comment->comment_ID' class='$the_comment_status'>";2038 $columns = get_column_headers('edit-comments');2039 $hidden = get_hidden_columns('edit-comments');2040 foreach ( $columns as $column_name => $column_display_name ) {2041 $class = "class=\"$column_name column-$column_name\"";2042 2043 $style = '';2044 if ( in_array($column_name, $hidden) )2045 $style = ' style="display:none;"';2046 2047 $attributes = "$class$style";2048 2049 switch ($column_name) {2050 case 'cb':2051 if ( !$checkbox ) break;2052 echo '<th scope="row" class="check-column">';2053 if ( $user_can ) echo "<input type='checkbox' name='delete_comments[]' value='$comment->comment_ID' />";2054 echo '</th>';2055 break;2056 case 'comment':2057 echo "<td $attributes>";2058 echo '<div id="submitted-on">';2059 /* translators: 2: comment date, 3: comment time */2060 printf( __( '<a href="%1$s">%2$s at %3$s</a>' ), $comment_url,2061 /* translators: comment date format. See http://php.net/date */ get_comment_date( __('Y/m/d') ),2062 /* translators: comment time format. See http://php.net/date */ get_comment_date( get_option( 'time_format' ) ) );2063 2064 if ( $comment->comment_parent ) {2065 $parent = get_comment( $comment->comment_parent );2066 $parent_link = esc_url( get_comment_link( $comment->comment_parent ) );2067 $name = apply_filters( 'get_comment_author', $parent->comment_author ); // there's no API function for this2068 printf( ' | '.__( 'In reply to <a href="%1$s">%2$s</a>.' ), $parent_link, $name );2069 }2070 2071 echo '</div>';2072 comment_text();2073 if ( $user_can ) { ?>2074 <div id="inline-<?php echo $comment->comment_ID; ?>" class="hidden">2075 <textarea class="comment" rows="1" cols="1"><?php echo htmlspecialchars( apply_filters('comment_edit_pre', $comment->comment_content), ENT_QUOTES ); ?></textarea>2076 <div class="author-email"><?php echo esc_attr( $comment->comment_author_email ); ?></div>2077 <div class="author"><?php echo esc_attr( $comment->comment_author ); ?></div>2078 <div class="author-url"><?php echo esc_attr( $comment->comment_author_url ); ?></div>2079 <div class="comment_status"><?php echo $comment->comment_approved; ?></div>2080 </div>2081 <?php2082 }2083 2084 if ( $user_can ) {2085 // preorder it: Approve | Reply | Quick Edit | Edit | Spam | Trash2086 $actions = array(2087 'approve' => '', 'unapprove' => '',2088 'reply' => '',2089 'quickedit' => '',2090 'edit' => '',2091 'spam' => '', 'unspam' => '',2092 'trash' => '', 'untrash' => '', 'delete' => ''2093 );2094 2095 if ( $comment_status && 'all' != $comment_status ) { // not looking at all comments2096 if ( 'approved' == $the_comment_status )2097 $actions['unapprove'] = "<a href='$unapprove_url' class='delete:the-comment-list:comment-$comment->comment_ID:e7e7d3:action=dim-comment&new=unapproved vim-u vim-destructive' title='" . esc_attr__( 'Unapprove this comment' ) . "'>" . __( 'Unapprove' ) . '</a>';2098 else if ( 'unapproved' == $the_comment_status )2099 $actions['approve'] = "<a href='$approve_url' class='delete:the-comment-list:comment-$comment->comment_ID:e7e7d3:action=dim-comment&new=approved vim-a vim-destructive' title='" . esc_attr__( 'Approve this comment' ) . "'>" . __( 'Approve' ) . '</a>';2100 } else {2101 $actions['approve'] = "<a href='$approve_url' class='dim:the-comment-list:comment-$comment->comment_ID:unapproved:e7e7d3:e7e7d3:new=approved vim-a' title='" . esc_attr__( 'Approve this comment' ) . "'>" . __( 'Approve' ) . '</a>';2102 $actions['unapprove'] = "<a href='$unapprove_url' class='dim:the-comment-list:comment-$comment->comment_ID:unapproved:e7e7d3:e7e7d3:new=unapproved vim-u' title='" . esc_attr__( 'Unapprove this comment' ) . "'>" . __( 'Unapprove' ) . '</a>';2103 }2104 2105 if ( 'spam' != $the_comment_status && 'trash' != $the_comment_status ) {2106 $actions['spam'] = "<a href='$spam_url' class='delete:the-comment-list:comment-$comment->comment_ID::spam=1 vim-s vim-destructive' title='" . esc_attr__( 'Mark this comment as spam' ) . "'>" . /* translators: mark as spam link */ _x( 'Spam', 'verb' ) . '</a>';2107 } elseif ( 'spam' == $the_comment_status ) {2108 $actions['unspam'] = "<a href='$unspam_url' class='delete:the-comment-list:comment-$comment->comment_ID:66cc66:unspam=1 vim-z vim-destructive'>" . _x( 'Not Spam', 'comment' ) . '</a>';2109 } elseif ( 'trash' == $the_comment_status ) {2110 $actions['untrash'] = "<a href='$untrash_url' class='delete:the-comment-list:comment-$comment->comment_ID:66cc66:untrash=1 vim-z vim-destructive'>" . __( 'Restore' ) . '</a>';2111 }2112 2113 if ( 'spam' == $the_comment_status || 'trash' == $the_comment_status || !EMPTY_TRASH_DAYS ) {2114 $actions['delete'] = "<a href='$delete_url' class='delete:the-comment-list:comment-$comment->comment_ID::delete=1 delete vim-d vim-destructive'>" . __('Delete Permanently') . '</a>';2115 } else {2116 $actions['trash'] = "<a href='$trash_url' class='delete:the-comment-list:comment-$comment->comment_ID::trash=1 delete vim-d vim-destructive' title='" . esc_attr__( 'Move this comment to the trash' ) . "'>" . _x('Trash', 'verb') . '</a>';2117 }2118 2119 if ( 'trash' != $the_comment_status ) {2120 $actions['edit'] = "<a href='comment.php?action=editcomment&c={$comment->comment_ID}' title='" . esc_attr__('Edit comment') . "'>". __('Edit') . '</a>';2121 $actions['quickedit'] = '<a onclick="commentReply.open(\''.$comment->comment_ID.'\',\''.$post->ID.'\',\'edit\');return false;" class="vim-q" title="'.esc_attr__('Quick Edit').'" href="#">' . __('Quick Edit') . '</a>';2122 if ( 'spam' != $the_comment_status )2123 $actions['reply'] = '<a onclick="commentReply.open(\''.$comment->comment_ID.'\',\''.$post->ID.'\');return false;" class="vim-r" title="'.esc_attr__('Reply to this comment').'" href="#">' . __('Reply') . '</a>';2124 }2125 2126 $actions = apply_filters( 'comment_row_actions', array_filter($actions), $comment );2127 2128 $i = 0;2129 echo '<div class="row-actions">';2130 foreach ( $actions as $action => $link ) {2131 ++$i;2132 ( ( ('approve' == $action || 'unapprove' == $action) && 2 === $i ) || 1 === $i ) ? $sep = '' : $sep = ' | ';2133 2134 // Reply and quickedit need a hide-if-no-js span when not added with ajax2135 if ( ('reply' == $action || 'quickedit' == $action) && ! $from_ajax )2136 $action .= ' hide-if-no-js';2137 elseif ( ($action == 'untrash' && $the_comment_status == 'trash') || ($action == 'unspam' && $the_comment_status == 'spam') ) {2138 if ('1' == get_comment_meta($comment_id, '_wp_trash_meta_status', true))2139 $action .= ' approve';2140 else2141 $action .= ' unapprove';2142 }2143 2144 echo "<span class='$action'>$sep$link</span>";2145 }2146 echo '</div>';2147 }2148 2149 echo '</td>';2150 break;2151 case 'author':2152 echo "<td $attributes><strong>"; comment_author(); echo '</strong><br />';2153 if ( !empty($author_url) )2154 echo "<a title='$author_url' href='$author_url'>$author_url_display</a><br />";2155 if ( $user_can ) {2156 if ( !empty($comment->comment_author_email) ) {2157 comment_author_email_link();2158 echo '<br />';2159 }2160 echo '<a href="edit-comments.php?s=';2161 comment_author_IP();2162 echo '&mode=detail';2163 if ( 'spam' == $comment_status )2164 echo '&comment_status=spam';2165 echo '">';2166 comment_author_IP();2167 echo '</a>';2168 } //current_user_can2169 echo '</td>';2170 break;2171 case 'date':2172 echo "<td $attributes>" . get_comment_date(__('Y/m/d \a\t g:ia')) . '</td>';2173 break;2174 case 'response':2175 if ( 'single' !== $mode ) {2176 if ( isset( $_comment_pending_count[$post->ID] ) ) {2177 $pending_comments = $_comment_pending_count[$post->ID];2178 } else {2179 $_comment_pending_count_temp = get_pending_comments_num( array( $post->ID ) );2180 $pending_comments = $_comment_pending_count[$post->ID] = $_comment_pending_count_temp[$post->ID];2181 }2182 if ( $user_can ) {2183 $post_link = "<a href='" . get_edit_post_link($post->ID) . "'>";2184 $post_link .= get_the_title($post->ID) . '</a>';2185 } else {2186 $post_link = get_the_title($post->ID);2187 }2188 echo "<td $attributes>\n";2189 echo '<div class="response-links"><span class="post-com-count-wrapper">';2190 echo $post_link . '<br />';2191 $pending_phrase = esc_attr(sprintf( __('%s pending'), number_format( $pending_comments ) ));2192 if ( $pending_comments )2193 echo '<strong>';2194 comments_number("<a href='edit-comments.php?p=$post->ID' title='$pending_phrase' class='post-com-count'><span class='comment-count'>" . /* translators: comment count link */ _x('0', 'comment count') . '</span></a>', "<a href='edit-comments.php?p=$post->ID' title='$pending_phrase' class='post-com-count'><span class='comment-count'>" . /* translators: comment count link */ _x('1', 'comment count') . '</span></a>', "<a href='edit-comments.php?p=$post->ID' title='$pending_phrase' class='post-com-count'><span class='comment-count'>" . /* translators: comment count link: % will be substituted by comment count */ _x('%', 'comment count') . '</span></a>');2195 if ( $pending_comments )2196 echo '</strong>';2197 echo '</span> ';2198 echo "<a href='" . get_permalink( $post->ID ) . "'>#</a>";2199 echo '</div>';2200 if ( 'attachment' == $post->post_type && ( $thumb = wp_get_attachment_image( $post->ID, array(80, 60), true ) ) )2201 echo $thumb;2202 echo '</td>';2203 }2204 break;2205 default:2206 echo "<td $attributes>\n";2207 do_action( 'manage_comments_custom_column', $column_name, $comment->comment_ID );2208 echo "</td>\n";2209 break;2210 }2211 }2212 echo "</tr>\n";2213 }2214 2215 /**2216 * {@internal Missing Short Description}}2217 *2218 * @since unknown2219 *2220 283 * @param unknown_type $position 2221 284 * @param unknown_type $checkbox … … 2231 294 } 2232 295 2233 $columns = get_column_headers('edit-comments'); 2234 $hidden = array_intersect( array_keys( $columns ), array_filter( get_hidden_columns('edit-comments') ) ); 296 require_once( './includes/default-list-tables.php' ); 297 $table = new WP_Comments_Table( 'reply' ); 298 299 $columns = $table->get_column_headers(); 300 $hidden = array_intersect( array_keys( $columns ), array_filter( $table->get_hidden_columns() ) ); 2235 301 $col_count = count($columns) - count($hidden); 2236 302 … … 2246 312 <div id="edithead" style="display:none;"> 2247 313 <div class="inside"> 2248 <label for="author"><?php _e('Name') ;?></label>314 <label for="author"><?php _e('Name') ?></label> 2249 315 <input type="text" name="newcomment_author" size="50" value="" tabindex="101" id="author" /> 2250 316 </div> 2251 317 2252 318 <div class="inside"> 2253 <label for="author-email"><?php _e('E-mail') ;?></label>319 <label for="author-email"><?php _e('E-mail') ?></label> 2254 320 <input type="text" name="newcomment_author_email" size="50" value="" tabindex="102" id="author-email" /> 2255 321 </div> 2256 322 2257 323 <div class="inside"> 2258 <label for="author-url"><?php _e('URL') ;?></label>324 <label for="author-url"><?php _e('URL') ?></label> 2259 325 <input type="text" id="author-url" name="newcomment_author_url" size="103" value="" tabindex="103" /> 2260 326 </div> … … 2338 404 <thead> 2339 405 <tr> 2340 <th class="left"><?php _e( 'Name' ) ;?></th>2341 <th><?php _e( 'Value' ) ;?></th>406 <th class="left"><?php _e( 'Name' ) ?></th> 407 <th><?php _e( 'Value' ) ?></th> 2342 408 </tr> 2343 409 </thead> … … 2423 489 natcasesort($keys); 2424 490 ?> 2425 <p><strong><?php _e( 'Add New Custom Field:' ) ;?></strong></p>491 <p><strong><?php _e( 'Add New Custom Field:' ) ?></strong></p> 2426 492 <table id="newmeta"> 2427 493 <thead> 2428 494 <tr> 2429 <th class="left"><label for="metakeyselect"><?php _e( 'Name' ) ;?></label></th>2430 <th><label for="metavalue"><?php _e( 'Value' ) ;?></label></th>495 <th class="left"><label for="metakeyselect"><?php _e( 'Name' ) ?></label></th> 496 <th><label for="metavalue"><?php _e( 'Value' ) ?></label></th> 2431 497 </tr> 2432 498 </thead> … … 2441 507 2442 508 foreach ( $keys as $key ) { 2443 echo "\n<option value='" . esc_attr($key) . "'>" . esc_html($key) . '</option>';509 echo "\n<option value='" . esc_attr($key) . "'>" . esc_html($key) . "</option>"; 2444 510 } 2445 511 ?> … … 2457 523 2458 524 <tr><td colspan="2" class="submit"> 2459 <input type="submit" id="addmetasub" name="addmeta" class="add:the-list:newmeta" tabindex="9" value="<?php esc_attr_e( 'Add Custom Field' ) ;?>" />525 <input type="submit" id="addmetasub" name="addmeta" class="add:the-list:newmeta" tabindex="9" value="<?php esc_attr_e( 'Add Custom Field' ) ?>" /> 2460 526 <?php wp_nonce_field( 'add-meta', '_ajax_nonce-add-meta', false ); ?> 2461 527 </td></tr> … … 2587 653 $current = ''; 2588 654 2589 echo "\n\t<option class='level-$level' value='$item->ID'$current>$pad " . esc_html($item->post_title) . '</option>';655 echo "\n\t<option class='level-$level' value='$item->ID'$current>$pad " . esc_html($item->post_title) . "</option>"; 2590 656 parent_dropdown( $default, $item->ID, $level +1 ); 2591 657 } … … 2619 685 <col class="widefat" /> 2620 686 <tr> 2621 <th scope="row"><?php _e( 'URL' ) ;?></th>687 <th scope="row"><?php _e( 'URL' ) ?></th> 2622 688 <td><textarea rows="1" cols="40" type="text" class="attachmentlinks" readonly="readonly"><?php echo wp_get_attachment_url(); ?></textarea></td> 2623 689 </tr> … … 2625 691 <tr> 2626 692 <th scope="row"><?php $thumb ? _e( 'Thumbnail linked to file' ) : _e( 'Image linked to file' ); ?></th> 2627 <td><textarea rows="1" cols="40" type="text" class="attachmentlinks" readonly="readonly"><a href="<?php echo wp_get_attachment_url(); ?>"><?php echo $icon ;?></a></textarea></td>693 <td><textarea rows="1" cols="40" type="text" class="attachmentlinks" readonly="readonly"><a href="<?php echo wp_get_attachment_url(); ?>"><?php echo $icon ?></a></textarea></td> 2628 694 </tr> 2629 695 <tr> 2630 696 <th scope="row"><?php $thumb ? _e( 'Thumbnail linked to page' ) : _e( 'Image linked to page' ); ?></th> 2631 <td><textarea rows="1" cols="40" type="text" class="attachmentlinks" readonly="readonly"><a href="<?php echo get_attachment_link( $post->ID ) ; ?>" rel="attachment wp-att-<?php echo $post->ID; ?>"><?php echo $icon;?></a></textarea></td>697 <td><textarea rows="1" cols="40" type="text" class="attachmentlinks" readonly="readonly"><a href="<?php echo get_attachment_link( $post->ID ) ?>" rel="attachment wp-att-<?php echo $post->ID; ?>"><?php echo $icon ?></a></textarea></td> 2632 698 </tr> 2633 699 <?php else : ?> 2634 700 <tr> 2635 <th scope="row"><?php _e( 'Link to file' ) ;?></th>701 <th scope="row"><?php _e( 'Link to file' ) ?></th> 2636 702 <td><textarea rows="1" cols="40" type="text" class="attachmentlinks" readonly="readonly"><a href="<?php echo wp_get_attachment_url(); ?>" class="attachmentlink"><?php echo basename( wp_get_attachment_url() ); ?></a></textarea></td> 2637 703 </tr> 2638 704 <tr> 2639 <th scope="row"><?php _e( 'Link to page' ) ;?></th>2640 <td><textarea rows="1" cols="40" type="text" class="attachmentlinks" readonly="readonly"><a href="<?php echo get_attachment_link( $post->ID ) ; ?>" rel="attachment wp-att-<?php echo $post->ID;?>"><?php the_title(); ?></a></textarea></td>705 <th scope="row"><?php _e( 'Link to page' ) ?></th> 706 <td><textarea rows="1" cols="40" type="text" class="attachmentlinks" readonly="readonly"><a href="<?php echo get_attachment_link( $post->ID ) ?>" rel="attachment wp-att-<?php echo $post->ID ?>"><?php the_title(); ?></a></textarea></td> 2641 707 </tr> 2642 708 <?php endif; ?> … … 2777 843 2778 844 foreach ( array_keys($wp_meta_boxes[$page]) as $a_context ) { 2779 foreach ( array('high', 'core', 'default', 'low') as $a_priority ) { 2780 if ( !isset($wp_meta_boxes[$page][$a_context][$a_priority][$id]) ) 2781 continue; 2782 2783 // If a core box was previously added or removed by a plugin, don't add. 2784 if ( 'core' == $priority ) { 2785 // If core box previously deleted, don't add 2786 if ( false === $wp_meta_boxes[$page][$a_context][$a_priority][$id] ) 2787 return; 2788 // If box was added with default priority, give it core priority to maintain sort order 2789 if ( 'default' == $a_priority ) { 2790 $wp_meta_boxes[$page][$a_context]['core'][$id] = $wp_meta_boxes[$page][$a_context]['default'][$id]; 2791 unset($wp_meta_boxes[$page][$a_context]['default'][$id]); 2792 } 845 foreach ( array('high', 'core', 'default', 'low') as $a_priority ) { 846 if ( !isset($wp_meta_boxes[$page][$a_context][$a_priority][$id]) ) 847 continue; 848 849 // If a core box was previously added or removed by a plugin, don't add. 850 if ( 'core' == $priority ) { 851 // If core box previously deleted, don't add 852 if ( false === $wp_meta_boxes[$page][$a_context][$a_priority][$id] ) 2793 853 return; 854 // If box was added with default priority, give it core priority to maintain sort order 855 if ( 'default' == $a_priority ) { 856 $wp_meta_boxes[$page][$a_context]['core'][$id] = $wp_meta_boxes[$page][$a_context]['default'][$id]; 857 unset($wp_meta_boxes[$page][$a_context]['default'][$id]); 2794 858 } 2795 // If no priority given and id already present, use existing priority 2796 if ( empty($priority) ) { 2797 $priority = $a_priority; 2798 // else if we're adding to the sorted priortiy, we don't know the title or callback. Glab them from the previously added context/priority. 2799 } elseif ( 'sorted' == $priority ) { 2800 $title = $wp_meta_boxes[$page][$a_context][$a_priority][$id]['title']; 2801 $callback = $wp_meta_boxes[$page][$a_context][$a_priority][$id]['callback']; 2802 $callback_args = $wp_meta_boxes[$page][$a_context][$a_priority][$id]['args']; 2803 } 2804 // An id can be in only one priority and one context 2805 if ( $priority != $a_priority || $context != $a_context ) 2806 unset($wp_meta_boxes[$page][$a_context][$a_priority][$id]); 859 return; 2807 860 } 861 // If no priority given and id already present, use existing priority 862 if ( empty($priority) ) { 863 $priority = $a_priority; 864 // else if we're adding to the sorted priortiy, we don't know the title or callback. Glab them from the previously added context/priority. 865 } elseif ( 'sorted' == $priority ) { 866 $title = $wp_meta_boxes[$page][$a_context][$a_priority][$id]['title']; 867 $callback = $wp_meta_boxes[$page][$a_context][$a_priority][$id]['callback']; 868 $callback_args = $wp_meta_boxes[$page][$a_context][$a_priority][$id]['args']; 869 } 870 // An id can be in only one priority and one context 871 if ( $priority != $a_priority || $context != $a_context ) 872 unset($wp_meta_boxes[$page][$a_context][$a_priority][$id]); 873 } 2808 874 } 2809 875 … … 2869 935 } while(0); 2870 936 2871 echo '</div>';937 echo "</div>"; 2872 938 2873 939 return $i; … … 3150 1216 * @return array Array of settings errors 3151 1217 */ 3152 function get_settings_errors( $setting = '', $sanitize = false) {1218 function get_settings_errors( $setting = '', $sanitize = FALSE ) { 3153 1219 global $wp_settings_errors; 3154 1220 … … 3201 1267 * @return <type> 3202 1268 */ 3203 function settings_errors( $setting = '', $sanitize = false, $hide_on_update = false ) { 3204 3205 if ( $hide_on_update && !empty($_GET['updated']) ) 3206 return; 1269 function settings_errors ( $setting = '', $sanitize = FALSE, $hide_on_update = FALSE ) { 1270 1271 if ($hide_on_update AND $_GET['updated']) return; 3207 1272 3208 1273 $settings_errors = get_settings_errors( $setting, $sanitize ); 3209 1274 3210 if ( !is_array($settings_errors) ) 3211 return; 3212 1275 if ( !is_array($settings_errors) ) return; 1276 1277 $output = ''; 3213 1278 foreach ( $settings_errors as $key => $details ) { 3214 1279 $css_id = 'setting-error-' . $details['code']; 3215 1280 $css_class = $details['type'] . ' settings-error'; 3216 echo "<div id='$css_id' class='$css_class'>\n"; 3217 echo "<p><strong>{$details['message']}</strong></p>"; 3218 echo "</div>\n"; 3219 } 1281 $output .= "<div id='$css_id' class='$css_class'> \n"; 1282 $output .= "<p><strong>{$details['message']}</strong></p>"; 1283 $output .= "</div> \n"; 1284 } 1285 echo $output; 3220 1286 } 3221 1287 … … 3228 1294 */ 3229 1295 function manage_columns_prefs( $page ) { 3230 $columns = get_column_headers( $page ); 3231 $hidden = get_hidden_columns( $page ); 1296 global $table; 1297 1298 list( $columns, $hidden ) = $table->get_column_headers(); 1299 3232 1300 $special = array('_title', 'cb', 'comment', 'media', 'name', 'title', 'username'); 3233 1301 3234 1302 foreach ( $columns as $column => $title ) { 3235 // Can't hide these or they are special1303 // Can't hide these for they are special 3236 1304 if ( in_array( $column, $special ) ) 3237 1305 continue; … … 3277 1345 continue; 3278 1346 ?> 3279 <input type="radio" name="find-posts-what" id="find-posts-<?php echo esc_attr($post->name); ?>" value="<?php echo esc_attr($post->name); ?>" <?php checked($post->name, 'post'); ?> />1347 <input type="radio" name="find-posts-what" id="find-posts-<?php echo esc_attr($post->name); ?>" value="<?php echo esc_attr($post->name); ?>" <?php checked($post->name, 'post'); ?> /> 3280 1348 <label for="find-posts-<?php echo esc_attr($post->name); ?>"><?php echo $post->label; ?></label> 3281 1349 <?php … … 3303 1371 function the_post_password() { 3304 1372 global $post; 3305 if ( isset( $post->post_password ) ) 3306 echo esc_attr( $post->post_password ); 1373 if ( isset( $post->post_password ) ) echo esc_attr( $post->post_password ); 3307 1374 } 3308 1375 … … 3408 1475 array_shift($allowed_actions); 3409 1476 3410 foreach ( $allowed_actions as $action => $label 1477 foreach ( $allowed_actions as $action => $label) { 3411 1478 echo "<div class='favorite-action'><a href='$action'>"; 3412 1479 echo $label; … … 3444 1511 */ 3445 1512 function _admin_search_query() { 3446 if ( isset($_GET['s']) ) 3447 echo esc_attr( stripslashes( $_GET['s'] ) ); 1513 echo isset($_GET['s']) ? esc_attr( stripslashes( $_GET['s'] ) ) : ''; 3448 1514 } 3449 1515 … … 3457 1523 */ 3458 1524 function iframe_header( $title = '', $limit_styles = false ) { 3459 global $hook_suffix; 3460 ?> 3461 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1525 global $hook_suffix; 1526 ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 3462 1527 <html xmlns="http://www.w3.org/1999/xhtml" <?php do_action('admin_xml_ns'); ?> <?php language_attributes(); ?>> 3463 1528 <head> 3464 1529 <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php echo get_option('blog_charset'); ?>" /> 3465 <title><?php bloginfo('name') ; ?> › <?php echo $title;?> — <?php _e('WordPress'); ?></title>1530 <title><?php bloginfo('name') ?> › <?php echo $title ?> — <?php _e('WordPress'); ?></title> 3466 1531 <?php 3467 3468 3469 3470 1532 wp_enqueue_style( 'global' ); 1533 if ( ! $limit_styles ) 1534 wp_enqueue_style( 'wp-admin' ); 1535 wp_enqueue_style( 'colors' ); 3471 1536 ?> 3472 1537 <script type="text/javascript"> … … 3477 1542 </script> 3478 1543 <?php 3479 3480 3481 3482 3483 1544 do_action('admin_print_styles'); 1545 do_action('admin_print_scripts'); 1546 do_action('admin_head'); 1547 1548 $admin_body_class = preg_replace('/[^a-z0-9_-]+/i', '-', $hook_suffix); 3484 1549 ?> 3485 1550 </head> 3486 <body<?php if ( isset($GLOBALS['body_id']) ) echo ' id="' . $GLOBALS['body_id'] . '"'; ?> class="no-js <?php echo $admin_body_class; ?>">1551 <body<?php if ( isset($GLOBALS['body_id']) ) echo ' id="' . $GLOBALS['body_id'] . '"'; ?> class="no-js <?php echo $admin_body_class; ?>"> 3487 1552 <script type="text/javascript"> 3488 1553 //<![CDATA[ … … 3565 1630 3566 1631 function screen_meta($screen) { 3567 global $wp_meta_boxes, $_wp_contextual_help, $title ;1632 global $wp_meta_boxes, $_wp_contextual_help, $title, $table; 3568 1633 3569 1634 if ( is_string($screen) ) 3570 1635 $screen = convert_to_screen($screen); 3571 1636 3572 $column_screens = get_column_headers($screen); 1637 if ( is_object($table) ) 1638 list( $screen_columns ) = $table->get_column_headers(); 3573 1639 $meta_screens = array('index' => 'dashboard'); 3574 1640 … … 3579 1645 3580 1646 $show_screen = false; 3581 if ( !empty($wp_meta_boxes[$screen->id]) || !empty($ column_screens) )1647 if ( !empty($wp_meta_boxes[$screen->id]) || !empty($screen_columns) ) 3582 1648 $show_screen = true; 3583 1649 … … 3597 1663 break; 3598 1664 } 3599 if 1665 if( ! empty( $settings ) ) 3600 1666 $show_screen = true; 1667 3601 1668 ?> 3602 1669 <div id="screen-meta"> … … 3605 1672 <form id="adv-settings" action="" method="post"> 3606 1673 <?php if ( isset($wp_meta_boxes[$screen->id]) ) : ?> 3607 <h5><?php _ex('Show on screen', 'Metaboxes') ;?></h5>1674 <h5><?php _ex('Show on screen', 'Metaboxes') ?></h5> 3608 1675 <div class="metabox-prefs"> 3609 1676 <?php meta_box_prefs($screen); ?> … … 3611 1678 </div> 3612 1679 <?php endif; 3613 if ( ! empty($ column_screens) ) : ?>3614 <h5><?php echo ( isset( $ column_screens['_title'] ) ? $column_screens['_title'] : _x('Show on screen', 'Columns') );?></h5>1680 if ( ! empty($screen_columns) ) : ?> 1681 <h5><?php echo ( isset( $screen_columns['_title'] ) ? $screen_columns['_title'] : _x('Show on screen', 'Columns') ) ?></h5> 3615 1682 <div class="metabox-prefs"> 3616 1683 <?php manage_columns_prefs($screen); ?> … … 3622 1689 if ( !empty( $screen_options ) ) { 3623 1690 ?> 3624 <h5><?php _ex('Show on screen', 'Screen Options') ;?></h5>1691 <h5><?php _ex('Show on screen', 'Screen Options') ?></h5> 3625 1692 <?php 3626 1693 } … … 3656 1723 <div id="screen-meta-links"> 3657 1724 <div id="contextual-help-link-wrap" class="hide-if-no-js screen-meta-toggle"> 3658 <a href="#contextual-help" id="contextual-help-link" class="show-settings"><?php _e('Help') ;?></a>1725 <a href="#contextual-help" id="contextual-help-link" class="show-settings"><?php _e('Help') ?></a> 3659 1726 </div> 3660 1727 <?php if ( $show_screen ) { ?> 3661 1728 <div id="screen-options-link-wrap" class="hide-if-no-js screen-meta-toggle"> 3662 <a href="#screen-options" id="show-settings-link" class="show-settings"><?php _e('Screen Options') ;?></a>1729 <a href="#screen-options" id="show-settings-link" class="show-settings"><?php _e('Screen Options') ?></a> 3663 1730 </div> 3664 1731 <?php } ?> … … 3673 1740 * @since 2.7.0 3674 1741 * 3675 * @param string $screen The handle for the screen to add help to. This is usually the hook name returned by the add_*_page() functions.1742 * @param string $screen The handle for the screen to add help to. This is usually the hook name returned by the add_*_page() functions. 3676 1743 * @param string $help Arbitrary help text 3677 1744 */ … … 3728 1795 3729 1796 if ( ! $screen_layout_columns ) 3730 $screen_layout_columns = 2;1797 $screen_layout_columns = 2; 3731 1798 3732 1799 $i = 1; … … 3748 1815 case 'edit-pages': 3749 1816 $post_type = 'post'; 3750 if ( isset($_GET['post_type']) && in_array( $_GET['post_type'], get_post_types( array(' show_ui' => true ) ) ) )1817 if ( isset($_GET['post_type']) && in_array( $_GET['post_type'], get_post_types( array('public' => true ) ) ) ) 3751 1818 $post_type = $_GET['post_type']; 3752 1819 $post_type_object = get_post_type_object($post_type); … … 3756 1823 $per_page_label = _x( 'Sites', 'sites per page (screen options)' ); 3757 1824 break; 1825 case 'users': 3758 1826 case 'ms-users': 3759 1827 $per_page_label = _x( 'Users', 'users per page (screen options)' ); … … 3905 1973 * @param string $id Screen id, optional. 3906 1974 */ 3907 function set_current_screen( $id = '' ) {1975 function set_current_screen( $id = '' ) { 3908 1976 global $current_screen, $hook_suffix, $typenow, $taxnow; 3909 1977 … … 3963 2031 } 3964 2032 3965 ?> -
trunk/wp-admin/includes/theme-install.php
r14818 r15491 89 89 } 90 90 91 add_action('install_themes_search', 'install_theme_search', 10, 1);92 /**93 * Display theme search results94 *95 * @since 2.8.096 *97 * @param string $page98 */99 function install_theme_search($page) {100 global $theme_field_defaults;101 102 $type = isset($_REQUEST['type']) ? stripslashes( $_REQUEST['type'] ) : '';103 $term = isset($_REQUEST['s']) ? stripslashes( $_REQUEST['s'] ) : '';104 105 $args = array();106 107 switch( $type ){108 case 'tag':109 $terms = explode(',', $term);110 $terms = array_map('trim', $terms);111 $terms = array_map('sanitize_title_with_dashes', $terms);112 $args['tag'] = $terms;113 break;114 case 'term':115 $args['search'] = $term;116 break;117 case 'author':118 $args['author'] = $term;119 break;120 }121 122 $args['page'] = $page;123 $args['fields'] = $theme_field_defaults;124 125 if ( !empty( $_POST['features'] ) ) {126 $terms = $_POST['features'];127 $terms = array_map( 'trim', $terms );128 $terms = array_map( 'sanitize_title_with_dashes', $terms );129 $args['tag'] = $terms;130 $_REQUEST['s'] = implode( ',', $terms );131 $_REQUEST['type'] = 'tag';132 }133 134 $api = themes_api('query_themes', $args);135 136 if ( is_wp_error($api) )137 wp_die($api);138 139 add_action('install_themes_table_header', 'install_theme_search_form');140 141 display_themes($api->themes, $api->info['page'], $api->info['pages']);142 }143 144 91 /** 145 92 * Display search form for searching themes. … … 153 100 <p class="install-help"><?php _e('Search for themes by keyword, author, or tag.') ?></p> 154 101 155 <form id="search-themes" method="post" action="<?php echo admin_url( 'theme-install.php?tab=search' ); ?>"> 102 <form id="search-themes" method="get" action=""> 103 <input type="hidden" name="tab" value="search" /> 156 104 <select name="type" id="typeselector"> 157 105 <option value="term" <?php selected('term', $type) ?>><?php _e('Term'); ?></option> … … 165 113 } 166 114 167 add_action('install_themes_dashboard', 'install_themes_dashboard');168 115 /** 169 116 * Display tags filter for themes. … … 223 170 <?php 224 171 } 225 226 add_action('install_themes_featured', 'install_themes_featured', 10, 1); 227 /** 228 * Display featured themes. 229 * 230 * @since 2.8.0 231 * 232 * @param string $page 233 */ 234 function install_themes_featured($page = 1) { 235 global $theme_field_defaults; 236 $args = array('browse' => 'featured', 'page' => $page, 'fields' => $theme_field_defaults); 237 $api = themes_api('query_themes', $args); 238 if ( is_wp_error($api) ) 239 wp_die($api); 240 display_themes($api->themes, $api->info['page'], $api->info['pages']); 241 } 242 243 add_action('install_themes_new', 'install_themes_new', 10, 1); 244 /** 245 * Display new themes/ 246 * 247 * @since 2.8.0 248 * 249 * @param string $page 250 */ 251 function install_themes_new($page = 1) { 252 global $theme_field_defaults; 253 $args = array('browse' => 'new', 'page' => $page, 'fields' => $theme_field_defaults); 254 $api = themes_api('query_themes', $args); 255 if ( is_wp_error($api) ) 256 wp_die($api); 257 display_themes($api->themes, $api->info['page'], $api->info['pages']); 258 } 259 260 add_action('install_themes_updated', 'install_themes_updated', 10, 1); 261 /** 262 * Display recently updated themes. 263 * 264 * @since 2.8.0 265 * 266 * @param string $page 267 */ 268 function install_themes_updated($page = 1) { 269 global $theme_field_defaults; 270 $args = array('browse' => 'updated', 'page' => $page, 'fields' => $theme_field_defaults); 271 $api = themes_api('query_themes', $args); 272 display_themes($api->themes, $api->info['page'], $api->info['pages']); 273 } 274 275 add_action('install_themes_upload', 'install_themes_upload', 10, 1); 172 add_action('install_themes_dashboard', 'install_themes_dashboard'); 173 276 174 function install_themes_upload($page = 1) { 277 175 ?> … … 286 184 <?php 287 185 } 186 add_action('install_themes_upload', 'install_themes_upload', 10, 1); 288 187 289 188 function display_theme($theme, $actions = null, $show_details = true) { … … 361 260 * 362 261 * @since 2.8.0 363 * 364 * @param array $themes List of themes. 365 * @param string $page 366 * @param int $totalpages Number of pages. 367 */ 368 function display_themes($themes, $page = 1, $totalpages = 1) { 369 $type = isset($_REQUEST['type']) ? stripslashes( $_REQUEST['type'] ) : ''; 370 $term = isset($_REQUEST['s']) ? stripslashes( $_REQUEST['s'] ) : ''; 371 ?> 372 <div class="tablenav"> 373 <div class="alignleft actions"><?php do_action('install_themes_table_header'); ?></div> 374 <?php 375 $url = esc_url($_SERVER['REQUEST_URI']); 376 if ( ! empty($term) ) 377 $url = add_query_arg('s', $term, $url); 378 if ( ! empty($type) ) 379 $url = add_query_arg('type', $type, $url); 380 381 $page_links = paginate_links( array( 382 'base' => add_query_arg('paged', '%#%', $url), 383 'format' => '', 384 'prev_text' => __('«'), 385 'next_text' => __('»'), 386 'total' => $totalpages, 387 'current' => $page 388 )); 389 390 if ( $page_links ) 391 echo "\t\t<div class='tablenav-pages'>$page_links</div>"; 392 ?> 393 </div> 394 <br class="clear" /> 395 <?php 396 if ( empty($themes) ) { 397 _e('No themes found'); 398 return; 399 } 400 ?> 401 <table id="availablethemes" cellspacing="0" cellpadding="0"> 402 <?php 403 $rows = ceil(count($themes) / 3); 404 $table = array(); 405 $theme_keys = array_keys($themes); 406 for ( $row = 1; $row <= $rows; $row++ ) 407 for ( $col = 1; $col <= 3; $col++ ) 408 $table[$row][$col] = array_shift($theme_keys); 409 410 foreach ( $table as $row => $cols ) { 411 ?> 412 <tr> 413 <?php 414 415 foreach ( $cols as $col => $theme_index ) { 416 $class = array('available-theme'); 417 if ( $row == 1 ) $class[] = 'top'; 418 if ( $col == 1 ) $class[] = 'left'; 419 if ( $row == $rows ) $class[] = 'bottom'; 420 if ( $col == 3 ) $class[] = 'right'; 421 ?> 422 <td class="<?php echo join(' ', $class); ?>"><?php 423 if ( isset($themes[$theme_index]) ) 424 display_theme($themes[$theme_index]); 425 ?></td> 426 <?php } // end foreach $cols ?> 427 </tr> 428 <?php } // end foreach $table ?> 429 </table> 430 431 <div class="tablenav"><?php if ( $page_links ) 432 echo "\t\t<div class='tablenav-pages'>$page_links</div>"; ?> <br 433 class="clear" /> 434 </div> 435 436 <?php 437 } 438 439 add_action('install_themes_pre_theme-information', 'install_theme_information'); 262 */ 263 function display_themes() { 264 global $table; 265 266 $table->display(); 267 } 268 add_action('install_themes_search', 'display_themes'); 269 add_action('install_themes_featured', 'display_themes'); 270 add_action('install_themes_new', 'display_themes'); 271 add_action('install_themes_updated', 'display_themes'); 440 272 441 273 /** … … 547 379 exit; 548 380 } 381 add_action('install_themes_pre_theme-information', 'install_theme_information'); 382 -
trunk/wp-admin/includes/user.php
r15315 r15491 483 483 } 484 484 485 if ( !class_exists('WP_User_Search') ) :486 /**487 * WordPress User Search class.488 *489 * @since unknown490 */491 class WP_User_Search {492 493 /**494 * {@internal Missing Description}}495 *496 * @since unknown497 * @access private498 * @var unknown_type499 */500 var $results;501 502 /**503 * {@internal Missing Description}}504 *505 * @since unknown506 * @access private507 * @var unknown_type508 */509 var $search_term;510 511 /**512 * Page number.513 *514 * @since unknown515 * @access private516 * @var int517 */518 var $page;519 520 /**521 * Role name that users have.522 *523 * @since unknown524 * @access private525 * @var string526 */527 var $role;528 529 /**530 * Raw page number.531 *532 * @since unknown533 * @access private534 * @var int|bool535 */536 var $raw_page;537 538 /**539 * Amount of users to display per page.540 *541 * @since unknown542 * @access public543 * @var int544 */545 var $users_per_page = 50;546 547 /**548 * {@internal Missing Description}}549 *550 * @since unknown551 * @access private552 * @var unknown_type553 */554 var $first_user;555 556 /**557 * {@internal Missing Description}}558 *559 * @since unknown560 * @access private561 * @var int562 */563 var $last_user;564 565 /**566 * {@internal Missing Description}}567 *568 * @since unknown569 * @access private570 * @var string571 */572 var $query_limit;573 574 /**575 * {@internal Missing Description}}576 *577 * @since 3.0.0578 * @access private579 * @var string580 */581 var $query_orderby;582 583 /**584 * {@internal Missing Description}}585 *586 * @since 3.0.0587 * @access private588 * @var string589 */590 var $query_from;591 592 /**593 * {@internal Missing Description}}594 *595 * @since 3.0.0596 * @access private597 * @var string598 */599 var $query_where;600 601 /**602 * {@internal Missing Description}}603 *604 * @since unknown605 * @access private606 * @var int607 */608 var $total_users_for_query = 0;609 610 /**611 * {@internal Missing Description}}612 *613 * @since unknown614 * @access private615 * @var bool616 */617 var $too_many_total_users = false;618 619 /**620 * {@internal Missing Description}}621 *622 * @since unknown623 * @access private624 * @var unknown_type625 */626 var $search_errors;627 628 /**629 * {@internal Missing Description}}630 *631 * @since unknown632 * @access private633 * @var unknown_type634 */635 var $paging_text;636 637 /**638 * PHP4 Constructor - Sets up the object properties.639 *640 * @since unknown641 *642 * @param string $search_term Search terms string.643 * @param int $page Optional. Page ID.644 * @param string $role Role name.645 * @return WP_User_Search646 */647 function WP_User_Search ($search_term = '', $page = '', $role = '') {648 $this->search_term = $search_term;649 $this->raw_page = ( '' == $page ) ? false : (int) $page;650 $this->page = (int) ( '' == $page ) ? 1 : $page;651 $this->role = $role;652 653 $this->prepare_query();654 $this->query();655 $this->prepare_vars_for_template_usage();656 $this->do_paging();657 }658 659 /**660 * {@internal Missing Short Description}}661 *662 * {@internal Missing Long Description}}663 *664 * @since unknown665 * @access public666 */667 function prepare_query() {668 global $wpdb;669 $this->first_user = ($this->page - 1) * $this->users_per_page;670 671 $this->query_limit = $wpdb->prepare(" LIMIT %d, %d", $this->first_user, $this->users_per_page);672 $this->query_orderby = ' ORDER BY user_login';673 674 $search_sql = '';675 if ( $this->search_term ) {676 $searches = array();677 $search_sql = 'AND (';678 foreach ( array('user_login', 'user_nicename', 'user_email', 'user_url', 'display_name') as $col )679 $searches[] = $col . " LIKE '%$this->search_term%'";680 $search_sql .= implode(' OR ', $searches);681 $search_sql .= ')';682 }683 684 $this->query_from = " FROM $wpdb->users";685 $this->query_where = " WHERE 1=1 $search_sql";686 687 if ( $this->role ) {688 $this->query_from .= " INNER JOIN $wpdb->usermeta ON $wpdb->users.ID = $wpdb->usermeta.user_id";689 $this->query_where .= $wpdb->prepare(" AND $wpdb->usermeta.meta_key = '{$wpdb->prefix}capabilities' AND $wpdb->usermeta.meta_value LIKE %s", '%' . $this->role . '%');690 } elseif ( is_multisite() ) {691 $level_key = $wpdb->prefix . 'capabilities'; // wpmu site admins don't have user_levels692 $this->query_from .= ", $wpdb->usermeta";693 $this->query_where .= " AND $wpdb->users.ID = $wpdb->usermeta.user_id AND meta_key = '{$level_key}'";694 }695 696 do_action_ref_array( 'pre_user_search', array( &$this ) );697 }698 699 /**700 * {@internal Missing Short Description}}701 *702 * {@internal Missing Long Description}}703 *704 * @since unknown705 * @access public706 */707 function query() {708 global $wpdb;709 710 $this->results = $wpdb->get_col("SELECT DISTINCT($wpdb->users.ID)" . $this->query_from . $this->query_where . $this->query_orderby . $this->query_limit);711 712 if ( $this->results )713 $this->total_users_for_query = $wpdb->get_var("SELECT COUNT(DISTINCT($wpdb->users.ID))" . $this->query_from . $this->query_where); // no limit714 else715 $this->search_errors = new WP_Error('no_matching_users_found', __('No matching users were found!'));716 }717 718 /**719 * {@internal Missing Short Description}}720 *721 * {@internal Missing Long Description}}722 *723 * @since unknown724 * @access public725 */726 function prepare_vars_for_template_usage() {727 $this->search_term = stripslashes($this->search_term); // done with DB, from now on we want slashes gone728 }729 730 /**731 * {@internal Missing Short Description}}732 *733 * {@internal Missing Long Description}}734 *735 * @since unknown736 * @access public737 */738 function do_paging() {739 if ( $this->total_users_for_query > $this->users_per_page ) { // have to page the results740 $args = array();741 if( ! empty($this->search_term) )742 $args['usersearch'] = urlencode($this->search_term);743 if( ! empty($this->role) )744 $args['role'] = urlencode($this->role);745 746 $this->paging_text = paginate_links( array(747 'total' => ceil($this->total_users_for_query / $this->users_per_page),748 'current' => $this->page,749 'base' => 'users.php?%_%',750 'format' => 'userspage=%#%',751 'add_args' => $args752 ) );753 if ( $this->paging_text ) {754 $this->paging_text = sprintf( '<span class="displaying-num">' . __( 'Displaying %s–%s of %s' ) . '</span>%s',755 number_format_i18n( ( $this->page - 1 ) * $this->users_per_page + 1 ),756 number_format_i18n( min( $this->page * $this->users_per_page, $this->total_users_for_query ) ),757 number_format_i18n( $this->total_users_for_query ),758 $this->paging_text759 );760 }761 }762 }763 764 /**765 * {@internal Missing Short Description}}766 *767 * {@internal Missing Long Description}}768 *769 * @since unknown770 * @access public771 *772 * @return unknown773 */774 function get_results() {775 return (array) $this->results;776 }777 778 /**779 * Displaying paging text.780 *781 * @see do_paging() Builds paging text.782 *783 * @since unknown784 * @access public785 */786 function page_links() {787 echo $this->paging_text;788 }789 790 /**791 * Whether paging is enabled.792 *793 * @see do_paging() Builds paging text.794 *795 * @since unknown796 * @access public797 *798 * @return bool799 */800 function results_are_paged() {801 if ( $this->paging_text )802 return true;803 return false;804 }805 806 /**807 * Whether there are search terms.808 *809 * @since unknown810 * @access public811 *812 * @return bool813 */814 function is_search() {815 if ( $this->search_term )816 return true;817 return false;818 }819 }820 endif;821 822 485 add_action('admin_init', 'default_password_nag_handler'); 823 486 function default_password_nag_handler($errors = false) { -
trunk/wp-admin/js/inline-edit-post.dev.js
r13733 r15491 1 2 1 (function($) { 3 2 inlineEditPost = { 4 3 5 init : function() 4 init : function(){ 6 5 var t = this, qeRow = $('#inline-edit'), bulkRow = $('#bulk-edit'); 7 6 8 t.type = $('table.widefat').hasClass('page ') ? 'page' : 'post';9 t.what = '# '+t.type+'-';7 t.type = $('table.widefat').hasClass('pages') ? 'page' : 'post'; 8 t.what = '#post-'; 10 9 11 10 // prepare the edit rows 12 qeRow.keyup(function(e) { if(e.which == 27) return inlineEditPost.revert(); }); 13 bulkRow.keyup(function(e) { if (e.which == 27) return inlineEditPost.revert(); }); 14 15 $('a.cancel', qeRow).click(function() { return inlineEditPost.revert(); }); 16 $('a.save', qeRow).click(function() { return inlineEditPost.save(this); }); 17 $('td', qeRow).keydown(function(e) { if ( e.which == 13 ) return inlineEditPost.save(this); }); 18 19 $('a.cancel', bulkRow).click(function() { return inlineEditPost.revert(); }); 11 qeRow.keyup(function(e){ 12 if (e.which == 27) 13 return inlineEditPost.revert(); 14 }); 15 bulkRow.keyup(function(e){ 16 if (e.which == 27) 17 return inlineEditPost.revert(); 18 }); 19 20 $('a.cancel', qeRow).click(function(){ 21 return inlineEditPost.revert(); 22 }); 23 $('a.save', qeRow).click(function(){ 24 return inlineEditPost.save(this); 25 }); 26 $('td', qeRow).keydown(function(e){ 27 if ( e.which == 13 ) 28 return inlineEditPost.save(this); 29 }); 30 31 $('a.cancel', bulkRow).click(function(){ 32 return inlineEditPost.revert(); 33 }); 20 34 21 35 $('#inline-edit .inline-edit-private input[value=private]').click( function(){ … … 29 43 30 44 // add events 31 $('a.editinline').live('click', function() { inlineEditPost.edit(this); return false; }); 45 $('a.editinline').live('click', function(){ 46 inlineEditPost.edit(this); 47 return false; 48 }); 32 49 33 50 $('#bulk-title-div').parents('fieldset').after( … … 38 55 39 56 // hiearchical taxonomies expandable? 40 $('span.catshow').click(function() 57 $('span.catshow').click(function(){ 41 58 $(this).hide().next().show().parent().next().addClass("cat-hover"); 42 59 }); 43 60 44 $('span.cathide').click(function() 61 $('span.cathide').click(function(){ 45 62 $(this).hide().prev().show().parent().next().removeClass("cat-hover"); 46 63 }); … … 62 79 t.revert(); 63 80 }); 64 65 }, 66 67 toggle : function(el) { 81 }, 82 83 toggle : function(el){ 68 84 var t = this; 69 85 $(t.what+t.getId(el)).css('display') == 'none' ? t.revert() : t.edit(el); 70 86 }, 71 87 72 setBulk : function() 88 setBulk : function(){ 73 89 var te = '', type = this.type, tax, c = true; 74 90 this.revert(); … … 91 107 92 108 $('#bulk-titles').html(te); 93 $('#bulk-titles a').click(function() 109 $('#bulk-titles a').click(function(){ 94 110 var id = $(this).attr('id').substr(1); 95 111 … … 99 115 100 116 // enable autocomplete for tags 101 if ( type == 'post') {117 if ( 'post' == type ) { 102 118 // support multi taxonomies? 103 119 tax = 'post_tag'; … … 107 123 108 124 edit : function(id) { 109 var t = this, fields, editRow, rowData, cats, status, pageOpt, f,pageLevel, nextPage, pageLoop = true, nextLevel, tax;125 var t = this, fields, editRow, rowData, cats, status, pageOpt, pageLevel, nextPage, pageLoop = true, nextLevel, tax; 110 126 t.revert(); 111 127 … … 114 130 115 131 fields = ['post_title', 'post_name', 'post_author', '_status', 'jj', 'mm', 'aa', 'hh', 'mn', 'ss', 'post_password']; 116 if ( t.type == 'page' ) fields.push('post_parent', 'menu_order', 'page_template'); 132 if ( t.type == 'page' ) 133 fields.push('post_parent', 'menu_order', 'page_template'); 117 134 118 135 // add the new blank row … … 131 148 } 132 149 133 for ( f = 0; f < fields.length; f++ ) {150 for ( var f = 0; f < fields.length; f++ ) { 134 151 $(':input[name="'+fields[f]+'"]', editRow).val( $('.'+fields[f], rowData).text() ); 135 152 } … … 144 161 // hierarchical taxonomies 145 162 $('.post_category', rowData).each(function(){ 146 if( term_ids = $(this).text() ) 147 { 163 var term_ids = $(this).text(); 164 165 if ( term_ids ) { 148 166 taxname = $(this).attr('id').replace('_'+id, ''); 149 167 $('ul.'+taxname+'-checklist :checkbox', editRow).val(term_ids.split(',')); … … 152 170 //flat taxonomies 153 171 $('.tags_input', rowData).each(function(){ 154 if( terms = $(this).text() ) 155 { 172 var terms = $(this).text(); 173 174 if ( terms ) { 156 175 taxname = $(this).attr('id').replace('_'+id, ''); 157 176 $('textarea.tax_input_'+taxname, editRow).val(terms); … … 163 182 // handle the post status 164 183 status = $('._status', rowData).text(); 165 if ( status != 'future' ) $('select[name="_status"] option[value="future"]', editRow).remove(); 166 if ( status == 'private' ) { 184 if ( 'future' != status ) 185 $('select[name="_status"] option[value="future"]', editRow).remove(); 186 187 if ( 'private' == status ) { 167 188 $('input[name="keep_private"]', editRow).attr("checked", "checked"); 168 189 $('input.inline-edit-password-input').val('').attr('disabled', 'disabled'); … … 197 218 var params, fields, page = $('.post_status_page').val() || ''; 198 219 199 if ( typeof(id) == 'object' )220 if ( typeof(id) == 'object' ) 200 221 id = this.getId(id); 201 222 … … 235 256 }, 236 257 237 revert : function() 238 var id ;239 240 if ( id = $('table.widefat tr.inline-editor').attr('id')) {258 revert : function(){ 259 var id = $('table.widefat tr.inline-editor').attr('id'); 260 261 if ( id ) { 241 262 $('table.widefat .inline-edit-save .waiting').hide(); 242 263 … … 245 266 $('#bulk-titles').html(''); 246 267 $('#inlineedit').append( $('#bulk-edit') ); 247 } else 268 } else { 248 269 $('#'+id).remove(); 249 270 id = id.substr( id.lastIndexOf('-') + 1 ); … … 256 277 257 278 getId : function(o) { 258 var id = o.tagName == 'TR' ? o.id : $(o).parents('tr').attr('id'), parts = id.split('-'); 279 var id = $(o).closest('tr').attr('id'), 280 parts = id.split('-'); 259 281 return parts[parts.length - 1]; 260 282 } -
trunk/wp-admin/js/inline-edit-post.js
r13535 r15491 1 (function( a){inlineEditPost={init:function(){var c=this,d=a("#inline-edit"),b=a("#bulk-edit");c.type=a("table.widefat").hasClass("page")?"page":"post";c.what="#"+c.type+"-";d.keyup(function(f){if(f.which==27){return inlineEditPost.revert()}});b.keyup(function(f){if(f.which==27){return inlineEditPost.revert()}});a("a.cancel",d).click(function(){return inlineEditPost.revert()});a("a.save",d).click(function(){return inlineEditPost.save(this)});a("td",d).keydown(function(f){if(f.which==13){return inlineEditPost.save(this)}});a("a.cancel",b).click(function(){return inlineEditPost.revert()});a("#inline-edit .inline-edit-private input[value=private]").click(function(){var e=a("input.inline-edit-password-input");if(a(this).attr("checked")){e.val("").attr("disabled","disabled")}else{e.attr("disabled","")}});a("a.editinline").live("click",function(){inlineEditPost.edit(this);return false});a("#bulk-title-div").parents("fieldset").after(a("#inline-edit fieldset.inline-edit-categories").clone()).siblings("fieldset:last").prepend(a("#inline-edit label.inline-edit-tags").clone());a("span.catshow").click(function(){a(this).hide().next().show().parent().next().addClass("cat-hover")});a("span.cathide").click(function(){a(this).hide().prev().show().parent().next().removeClass("cat-hover")});a('select[name="_status"] option[value="future"]',b).remove();a("#doaction, #doaction2").click(function(f){var g=a(this).attr("id").substr(2);if(a('select[name="'+g+'"]').val()=="edit"){f.preventDefault();c.setBulk()}else{if(a("form#posts-filter tr.inline-editor").length>0){c.revert()}}});a("#post-query-submit").click(function(f){if(a("form#posts-filter tr.inline-editor").length>0){c.revert()}})},toggle:function(c){var b=this;a(b.what+b.getId(c)).css("display")=="none"?b.revert():b.edit(c)},setBulk:function(){var e="",d=this.type,b,f=true;this.revert();a("#bulk-edit td").attr("colspan",a(".widefat:first thead th:visible").length);a("table.widefat tbody").prepend(a("#bulk-edit"));a("#bulk-edit").addClass("inline-editor").show();a('tbody th.check-column input[type="checkbox"]').each(function(g){if(a(this).attr("checked")){f=false;var h=a(this).val(),c;c=a("#inline_"+h+" .post_title").text()||inlineEditL10n.notitle;e+='<div id="ttle'+h+'"><a id="_'+h+'" class="ntdelbutton" title="'+inlineEditL10n.ntdeltitle+'">X</a>'+c+"</div>"}});if(f){return this.revert()}a("#bulk-titles").html(e);a("#bulk-titles a").click(function(){var c=a(this).attr("id").substr(1);a('table.widefat input[value="'+c+'"]').attr("checked","");a("#ttle"+c).remove()});if(d=="post"){b="post_tag";a('tr.inline-editor textarea[name="tags_input"]').suggest("admin-ajax.php?action=ajax-tag-search&tax="+b,{delay:500,minchars:2,multiple:true,multipleSep:", "})}},edit:function(b){var o=this,j,d,g,n,i,h,k,m,l,c=true,p,e;o.revert();if(typeof(b)=="object"){b=o.getId(b)}j=["post_title","post_name","post_author","_status","jj","mm","aa","hh","mn","ss","post_password"];if(o.type=="page"){j.push("post_parent","menu_order","page_template")}d=a("#inline-edit").clone(true);a("td",d).attr("colspan",a(".widefat:first thead th:visible").length);if(a(o.what+b).hasClass("alternate")){a(d).addClass("alternate")}a(o.what+b).hide().after(d);g=a("#inline_"+b);if(!a(':input[name="post_author"] option[value='+a(".post_author",g).text()+"]",d).val()){a(':input[name="post_author"]',d).prepend('<option value="'+a(".post_author",g).text()+'">'+a("#"+o.type+"-"+b+" .author").text()+"</option>")}for(k=0;k<j.length;k++){a(':input[name="'+j[k]+'"]',d).val(a("."+j[k],g).text())}if(a(".comment_status",g).text()=="open"){a('input[name="comment_status"]',d).attr("checked","checked")}if(a(".ping_status",g).text()=="open"){a('input[name="ping_status"]',d).attr("checked","checked")}if(a(".sticky",g).text()=="sticky"){a('input[name="sticky"]',d).attr("checked","checked")}a(".post_category",g).each(function(){if(term_ids=a(this).text()){taxname=a(this).attr("id").replace("_"+b,"");a("ul."+taxname+"-checklist :checkbox",d).val(term_ids.split(","))}});a(".tags_input",g).each(function(){if(terms=a(this).text()){taxname=a(this).attr("id").replace("_"+b,"");a("textarea.tax_input_"+taxname,d).val(terms);a("textarea.tax_input_"+taxname,d).suggest("admin-ajax.php?action=ajax-tag-search&tax="+taxname,{delay:500,minchars:2,multiple:true,multipleSep:", "})}});i=a("._status",g).text();if(i!="future"){a('select[name="_status"] option[value="future"]',d).remove()}if(i=="private"){a('input[name="keep_private"]',d).attr("checked","checked");a("input.inline-edit-password-input").val("").attr("disabled","disabled")}h=a('select[name="post_parent"] option[value="'+b+'"]',d);if(h.length>0){m=h[0].className.split("-")[1];l=h;while(c){l=l.next("option");if(l.length==0){break}p=l[0].className.split("-")[1];if(p<=m){c=false}else{l.remove();l=h}}h.remove()}a(d).attr("id","edit-"+b).addClass("inline-editor").show();a(".ptitle",d).focus();return false},save:function(e){var d,b,c=a(".post_status_page").val()||"";if(typeof(e)=="object"){e=this.getId(e)}a("table.widefat .inline-edit-save .waiting").show();d={action:"inline-save",post_type:typenow,post_ID:e,edit_date:"true",post_status:c};b=a("#edit-"+e+" :input").serialize();d=b+"&"+a.param(d);a.post("admin-ajax.php",d,function(f){a("table.widefat .inline-edit-save .waiting").hide();if(f){if(-1!=f.indexOf("<tr")){a(inlineEditPost.what+e).remove();a("#edit-"+e).before(f).remove();a(inlineEditPost.what+e).hide().fadeIn()}else{f=f.replace(/<.[^<>]*?>/g,"");a("#edit-"+e+" .inline-edit-save").append('<span class="error">'+f+"</span>")}}else{a("#edit-"+e+" .inline-edit-save").append('<span class="error">'+inlineEditL10n.error+"</span>")}},"html");return false},revert:function(){var b;if(b=a("table.widefat tr.inline-editor").attr("id")){a("table.widefat .inline-edit-save .waiting").hide();if("bulk-edit"==b){a("table.widefat #bulk-edit").removeClass("inline-editor").hide();a("#bulk-titles").html("");a("#inlineedit").append(a("#bulk-edit"))}else{a("#"+b).remove();b=b.substr(b.lastIndexOf("-")+1);a(this.what+b).show()}}return false},getId:function(c){var d=c.tagName=="TR"?c.id:a(c).parents("tr").attr("id"),b=d.split("-");return b[b.length-1]}};a(document).ready(function(){inlineEditPost.init()})})(jQuery);1 (function($){inlineEditPost={init:function(){var t=this,qeRow=$("#inline-edit"),bulkRow=$("#bulk-edit");t.type=$("table.widefat").hasClass("pages")?"page":"post";t.what="#post-";qeRow.keyup(function(e){if(e.which==27){return inlineEditPost.revert()}});bulkRow.keyup(function(e){if(e.which==27){return inlineEditPost.revert()}});$("a.cancel",qeRow).click(function(){return inlineEditPost.revert()});$("a.save",qeRow).click(function(){return inlineEditPost.save(this)});$("td",qeRow).keydown(function(e){if(e.which==13){return inlineEditPost.save(this)}});$("a.cancel",bulkRow).click(function(){return inlineEditPost.revert()});$("#inline-edit .inline-edit-private input[value=private]").click(function(){var pw=$("input.inline-edit-password-input");if($(this).attr("checked")){pw.val("").attr("disabled","disabled")}else{pw.attr("disabled","")}});$("a.editinline").live("click",function(){inlineEditPost.edit(this);return false});$("#bulk-title-div").parents("fieldset").after($("#inline-edit fieldset.inline-edit-categories").clone()).siblings("fieldset:last").prepend($("#inline-edit label.inline-edit-tags").clone());$("span.catshow").click(function(){$(this).hide().next().show().parent().next().addClass("cat-hover")});$("span.cathide").click(function(){$(this).hide().prev().show().parent().next().removeClass("cat-hover")});$('select[name="_status"] option[value="future"]',bulkRow).remove();$("#doaction, #doaction2").click(function(e){var n=$(this).attr("id").substr(2);if($('select[name="'+n+'"]').val()=="edit"){e.preventDefault();t.setBulk()}else{if($("form#posts-filter tr.inline-editor").length>0){t.revert()}}});$("#post-query-submit").click(function(e){if($("form#posts-filter tr.inline-editor").length>0){t.revert()}})},toggle:function(el){var t=this;$(t.what+t.getId(el)).css("display")=="none"?t.revert():t.edit(el)},setBulk:function(){var te="",type=this.type,tax,c=true;this.revert();$("#bulk-edit td").attr("colspan",$(".widefat:first thead th:visible").length);$("table.widefat tbody").prepend($("#bulk-edit"));$("#bulk-edit").addClass("inline-editor").show();$('tbody th.check-column input[type="checkbox"]').each(function(i){if($(this).attr("checked")){c=false;var id=$(this).val(),theTitle;theTitle=$("#inline_"+id+" .post_title").text()||inlineEditL10n.notitle;te+='<div id="ttle'+id+'"><a id="_'+id+'" class="ntdelbutton" title="'+inlineEditL10n.ntdeltitle+'">X</a>'+theTitle+"</div>"}});if(c){return this.revert()}$("#bulk-titles").html(te);$("#bulk-titles a").click(function(){var id=$(this).attr("id").substr(1);$('table.widefat input[value="'+id+'"]').attr("checked","");$("#ttle"+id).remove()});if("post"==type){tax="post_tag";$('tr.inline-editor textarea[name="tags_input"]').suggest("admin-ajax.php?action=ajax-tag-search&tax="+tax,{delay:500,minchars:2,multiple:true,multipleSep:", "})}},edit:function(id){var t=this,fields,editRow,rowData,cats,status,pageOpt,pageLevel,nextPage,pageLoop=true,nextLevel,tax;t.revert();if(typeof(id)=="object"){id=t.getId(id)}fields=["post_title","post_name","post_author","_status","jj","mm","aa","hh","mn","ss","post_password"];if(t.type=="page"){fields.push("post_parent","menu_order","page_template")}editRow=$("#inline-edit").clone(true);$("td",editRow).attr("colspan",$(".widefat:first thead th:visible").length);if($(t.what+id).hasClass("alternate")){$(editRow).addClass("alternate")}$(t.what+id).hide().after(editRow);rowData=$("#inline_"+id);if(!$(':input[name="post_author"] option[value='+$(".post_author",rowData).text()+"]",editRow).val()){$(':input[name="post_author"]',editRow).prepend('<option value="'+$(".post_author",rowData).text()+'">'+$("#"+t.type+"-"+id+" .author").text()+"</option>")}for(var f=0;f<fields.length;f++){$(':input[name="'+fields[f]+'"]',editRow).val($("."+fields[f],rowData).text())}if($(".comment_status",rowData).text()=="open"){$('input[name="comment_status"]',editRow).attr("checked","checked")}if($(".ping_status",rowData).text()=="open"){$('input[name="ping_status"]',editRow).attr("checked","checked")}if($(".sticky",rowData).text()=="sticky"){$('input[name="sticky"]',editRow).attr("checked","checked")}$(".post_category",rowData).each(function(){var term_ids=$(this).text();if(term_ids){taxname=$(this).attr("id").replace("_"+id,"");$("ul."+taxname+"-checklist :checkbox",editRow).val(term_ids.split(","))}});$(".tags_input",rowData).each(function(){var terms=$(this).text();if(terms){taxname=$(this).attr("id").replace("_"+id,"");$("textarea.tax_input_"+taxname,editRow).val(terms);$("textarea.tax_input_"+taxname,editRow).suggest("admin-ajax.php?action=ajax-tag-search&tax="+taxname,{delay:500,minchars:2,multiple:true,multipleSep:", "})}});status=$("._status",rowData).text();if("future"!=status){$('select[name="_status"] option[value="future"]',editRow).remove()}if("private"==status){$('input[name="keep_private"]',editRow).attr("checked","checked");$("input.inline-edit-password-input").val("").attr("disabled","disabled")}pageOpt=$('select[name="post_parent"] option[value="'+id+'"]',editRow);if(pageOpt.length>0){pageLevel=pageOpt[0].className.split("-")[1];nextPage=pageOpt;while(pageLoop){nextPage=nextPage.next("option");if(nextPage.length==0){break}nextLevel=nextPage[0].className.split("-")[1];if(nextLevel<=pageLevel){pageLoop=false}else{nextPage.remove();nextPage=pageOpt}}pageOpt.remove()}$(editRow).attr("id","edit-"+id).addClass("inline-editor").show();$(".ptitle",editRow).focus();return false},save:function(id){var params,fields,page=$(".post_status_page").val()||"";if(typeof(id)=="object"){id=this.getId(id)}$("table.widefat .inline-edit-save .waiting").show();params={action:"inline-save",post_type:typenow,post_ID:id,edit_date:"true",post_status:page};fields=$("#edit-"+id+" :input").serialize();params=fields+"&"+$.param(params);$.post("admin-ajax.php",params,function(r){$("table.widefat .inline-edit-save .waiting").hide();if(r){if(-1!=r.indexOf("<tr")){$(inlineEditPost.what+id).remove();$("#edit-"+id).before(r).remove();$(inlineEditPost.what+id).hide().fadeIn()}else{r=r.replace(/<.[^<>]*?>/g,"");$("#edit-"+id+" .inline-edit-save").append('<span class="error">'+r+"</span>")}}else{$("#edit-"+id+" .inline-edit-save").append('<span class="error">'+inlineEditL10n.error+"</span>")}},"html");return false},revert:function(){var id=$("table.widefat tr.inline-editor").attr("id");if(id){$("table.widefat .inline-edit-save .waiting").hide();if("bulk-edit"==id){$("table.widefat #bulk-edit").removeClass("inline-editor").hide();$("#bulk-titles").html("");$("#inlineedit").append($("#bulk-edit"))}else{$("#"+id).remove();id=id.substr(id.lastIndexOf("-")+1);$(this.what+id).show()}}return false},getId:function(o){var id=$(o).closest("tr").attr("id"),parts=id.split("-");return parts[parts.length-1]}};$(document).ready(function(){inlineEditPost.init()})})(jQuery); -
trunk/wp-admin/js/tags.dev.js
r13268 r15491 42 42 43 43 if ( parent > 0 && $('#tag-' + parent ).length > 0 ) // If the parent exists on this page, insert it below. Else insert it at the top of the list. 44 $(' #the-list#tag-' + parent).after( res.responses[0].supplemental['noparents'] ); // As the parent exists, Insert the version with - - - prefixed44 $('.tags #tag-' + parent).after( res.responses[0].supplemental['noparents'] ); // As the parent exists, Insert the version with - - - prefixed 45 45 else 46 $(' #the-list').prepend( res.responses[0].supplemental['parents'] ); // As the parent is not visible, Insert the version with Parent - Child - ThisTerm46 $('.tags').prepend( res.responses[0].supplemental['parents'] ); // As the parent is not visible, Insert the version with Parent - Child - ThisTerm 47 47 48 48 if ( form.find('select#parent') ) { -
trunk/wp-admin/js/tags.js
r14992 r15491 1 jQuery(document).ready(function( a){a(".delete-tag").live("click",function(g){var b=a(this),f=b.parents("tr"),c=true,d;if("undefined"!=showNotice){c=showNotice.warn()}if(c){d=b.attr("href").replace(/[^?]*\?/,"").replace(/action=delete/,"action=delete-tag");a.post(ajaxurl,d,function(e){if("1"==e){a("#ajax-response").empty();f.fadeOut("normal",function(){f.remove()});a("select#parent option[value="+d.match(/tag_ID=(\d+)/)[1]+"]").remove();a("a.tag-link-"+d.match(/tag_ID=(\d+)/)[1]).remove()}else{if("-1"==e){a("#ajax-response").empty().append('<div class="error"><p>'+tagsl10n.noPerm+"</p></div>");f.children().css("backgroundColor","")}else{a("#ajax-response").empty().append('<div class="error"><p>'+tagsl10n.broken+"</p></div>");f.children().css("backgroundColor","")}}});f.children().css("backgroundColor","#f33")}return false});a("#submit").click(function(){var b=a(this).parents("form");if(!validateForm(b)){return false}a.post(ajaxurl,a("#addtag").serialize(),function(h){a("#ajax-response").empty();var f=wpAjax.parseAjaxResponse(h,"ajax-response");if(!f){return}var g=b.find("select#parent").val();if(g>0&&a("#tag-"+g).length>0){a("#the-list #tag-"+g).after(f.responses[0].supplemental.noparents)}else{a("#the-list").prepend(f.responses[0].supplemental.parents)}if(b.find("select#parent")){var e=f.responses[1].supplemental;var c="";for(var d=0;d<f.responses[1].position;d++){c+=" "}b.find("select#parent option:selected").after('<option value="'+e.term_id+'">'+c+e.name+"</option>")}a('input[type="text"]:visible, textarea:visible',b).val("")});return false})});1 jQuery(document).ready(function($){$(".delete-tag").live("click",function(e){var t=$(this),tr=t.parents("tr"),r=true,data;if("undefined"!=showNotice){r=showNotice.warn()}if(r){data=t.attr("href").replace(/[^?]*\?/,"").replace(/action=delete/,"action=delete-tag");$.post(ajaxurl,data,function(r){if("1"==r){$("#ajax-response").empty();tr.fadeOut("normal",function(){tr.remove()});$("select#parent option[value="+data.match(/tag_ID=(\d+)/)[1]+"]").remove();$("a.tag-link-"+data.match(/tag_ID=(\d+)/)[1]).remove()}else{if("-1"==r){$("#ajax-response").empty().append('<div class="error"><p>'+tagsl10n.noPerm+"</p></div>");tr.children().css("backgroundColor","")}else{$("#ajax-response").empty().append('<div class="error"><p>'+tagsl10n.broken+"</p></div>");tr.children().css("backgroundColor","")}}});tr.children().css("backgroundColor","#f33")}return false});$("#submit").click(function(){var form=$(this).parents("form");if(!validateForm(form)){return false}$.post(ajaxurl,$("#addtag").serialize(),function(r){$("#ajax-response").empty();var res=wpAjax.parseAjaxResponse(r,"ajax-response");if(!res){return}var parent=form.find("select#parent").val();if(parent>0&&$("#tag-"+parent).length>0){$(".tags #tag-"+parent).after(res.responses[0].supplemental.noparents)}else{$(".tags").prepend(res.responses[0].supplemental.parents)}if(form.find("select#parent")){var term=res.responses[1].supplemental;var indent="";for(var i=0;i<res.responses[1].position;i++){indent+=" "}form.find("select#parent option:selected").after('<option value="'+term.term_id+'">'+indent+term.name+"</option>")}$('input[type="text"]:visible, textarea:visible',form).val("")});return false})}); -
trunk/wp-admin/link-manager.php
r15132 r15491 11 11 12 12 // Handle bulk deletes 13 if ( isset($_GET['action']) && isset($_GET['linkcheck']) ) { 14 check_admin_referer('bulk-bookmarks'); 15 $doaction = $_GET['action'] ? $_GET['action'] : $_GET['action2']; 13 if ( isset( $_REQUEST['action'] ) && isset( $_REQUEST['linkcheck'] ) ) { 14 check_admin_referer( 'bulk-bookmarks' ); 16 15 17 if ( ! current_user_can('manage_links') ) 18 wp_die( __('You do not have sufficient permissions to edit the links for this site.') ); 16 $doaction = $_REQUEST['action'] ? $_REQUEST['action'] : $_REQUEST['action2']; 17 18 if ( ! current_user_can( 'manage_links' ) ) 19 wp_die( __( 'You do not have sufficient permissions to edit the links for this site.' ) ); 19 20 20 21 if ( 'delete' == $doaction ) { 21 $bulklinks = (array) $_ GET['linkcheck'];22 $bulklinks = (array) $_REQUEST['linkcheck']; 22 23 foreach ( $bulklinks as $link_id ) { 23 24 $link_id = (int) $link_id; 24 25 25 wp_delete_link( $link_id);26 wp_delete_link( $link_id ); 26 27 } 27 28 28 wp_safe_redirect( wp_get_referer() ); 29 exit; 29 wp_redirect( add_query_arg('deleted', count( $bulklinks ), admin_url( 'link-manager.php' ) ) ); 30 30 } 31 } elseif ( ! empty( $_GET['_wp_http_referer']) ) {32 wp_redirect( remove_query_arg( array( '_wp_http_referer', '_wpnonce'), stripslashes($_SERVER['REQUEST_URI']) ) );31 } elseif ( ! empty( $_REQUEST['_wp_http_referer'] ) ) { 32 wp_redirect( remove_query_arg( array( '_wp_http_referer', '_wpnonce' ), stripslashes( $_SERVER['REQUEST_URI'] ) ) ); 33 33 exit; 34 34 } 35 35 36 wp_reset_vars(array('action', 'cat_id', 'linkurl', 'name', 'image', 'description', 'visible', 'target', 'category', 'link_id', 'submit', 'order_by', 'links_show_cat_id', 'rating', 'rel', 'notes', 'linkcheck[]'));36 require_once( './includes/default-list-tables.php' ); 37 37 38 if ( empty($cat_id) ) 39 $cat_id = 'all'; 40 41 if ( empty($order_by) ) 42 $order_by = 'order_name'; 38 $table = new WP_Links_Table; 43 39 44 40 $title = __('Links'); … … 60 56 wp_die(__("You do not have sufficient permissions to edit the links for this site.")); 61 57 62 switch ($order_by) { 63 case 'order_id' : 64 $sqlorderby = 'id'; 65 break; 66 case 'order_url' : 67 $sqlorderby = 'url'; 68 break; 69 case 'order_desc' : 70 $sqlorderby = 'description'; 71 break; 72 case 'order_owner' : 73 $sqlorderby = 'owner'; 74 break; 75 case 'order_rating' : 76 $sqlorderby = 'rating'; 77 break; 78 case 'order_name' : 79 default : 80 $sqlorderby = 'name'; 81 break; 82 } ?> 58 ?> 83 59 84 60 <div class="wrap nosubsub"> 85 61 <?php screen_icon(); ?> 86 62 <h2><?php echo esc_html( $title ); ?> <a href="link-add.php" class="button add-new-h2"><?php echo esc_html_x('Add New', 'link'); ?></a> <?php 87 if ( !empty($_ GET['s']) )88 printf( '<span class="subtitle">' . __('Search results for “%s”') . '</span>', esc_html( stripslashes($_ GET['s']) ) ); ?>63 if ( !empty($_REQUEST['s']) ) 64 printf( '<span class="subtitle">' . __('Search results for “%s”') . '</span>', esc_html( stripslashes($_REQUEST['s']) ) ); ?> 89 65 </h2> 90 66 91 67 <?php 92 if ( isset($_ GET['deleted']) ) {68 if ( isset($_REQUEST['deleted']) ) { 93 69 echo '<div id="message" class="updated"><p>'; 94 $deleted = (int) $_ GET['deleted'];70 $deleted = (int) $_REQUEST['deleted']; 95 71 printf(_n('%s link deleted.', '%s links deleted', $deleted), $deleted); 96 72 echo '</p></div>'; … … 108 84 <br class="clear" /> 109 85 110 <form id="posts-filter" action="" method="get"> 111 <div class="tablenav"> 112 113 <?php 114 if ( 'all' == $cat_id ) 115 $cat_id = ''; 116 $args = array( 'category' => $cat_id, 'hide_invisible' => 0, 'orderby' => $sqlorderby, 'hide_empty' => 0 ); 117 if ( ! empty( $_GET['s'] ) ) 118 $args['search'] = $_GET['s']; 119 $links = get_bookmarks( $args ); 120 if ( $links ) { 121 ?> 122 123 <div class="alignleft actions"> 124 <select name="action"> 125 <option value="" selected="selected"><?php _e('Bulk Actions'); ?></option> 126 <option value="delete"><?php _e('Delete'); ?></option> 127 </select> 128 <input type="submit" value="<?php esc_attr_e('Apply'); ?>" name="doaction" id="doaction" class="button-secondary action" /> 129 130 <?php 131 $categories = get_terms('link_category', array("hide_empty" => 1)); 132 $select_cat = "<select name=\"cat_id\">\n"; 133 $select_cat .= '<option value="all"' . (($cat_id == 'all') ? " selected='selected'" : '') . '>' . __('View all Categories') . "</option>\n"; 134 foreach ((array) $categories as $cat) 135 $select_cat .= '<option value="' . esc_attr($cat->term_id) . '"' . (($cat->term_id == $cat_id) ? " selected='selected'" : '') . '>' . sanitize_term_field('name', $cat->name, $cat->term_id, 'link_category', 'display') . "</option>\n"; 136 $select_cat .= "</select>\n"; 137 138 $select_order = "<select name=\"order_by\">\n"; 139 $select_order .= '<option value="order_id"' . (($order_by == 'order_id') ? " selected='selected'" : '') . '>' . __('Order by Link ID') . "</option>\n"; 140 $select_order .= '<option value="order_name"' . (($order_by == 'order_name') ? " selected='selected'" : '') . '>' . __('Order by Name') . "</option>\n"; 141 $select_order .= '<option value="order_url"' . (($order_by == 'order_url') ? " selected='selected'" : '') . '>' . __('Order by Address') . "</option>\n"; 142 $select_order .= '<option value="order_rating"' . (($order_by == 'order_rating') ? " selected='selected'" : '') . '>' . __('Order by Rating') . "</option>\n"; 143 $select_order .= "</select>\n"; 144 145 echo $select_cat; 146 echo $select_order; 147 148 ?> 149 <input type="submit" id="post-query-submit" value="<?php esc_attr_e('Filter'); ?>" class="button-secondary" /> 150 151 </div> 152 153 <br class="clear" /> 154 </div> 155 156 <div class="clear"></div> 157 158 <?php 159 $link_columns = get_column_headers('link-manager'); 160 $hidden = get_hidden_columns('link-manager'); 161 ?> 162 163 <?php wp_nonce_field('bulk-bookmarks') ?> 164 <table class="widefat fixed" cellspacing="0"> 165 <thead> 166 <tr> 167 <?php print_column_headers('link-manager'); ?> 168 </tr> 169 </thead> 170 171 <tfoot> 172 <tr> 173 <?php print_column_headers('link-manager', false); ?> 174 </tr> 175 </tfoot> 176 177 <tbody> 178 <?php 179 $alt = 0; 180 181 foreach ($links as $link) { 182 $link = sanitize_bookmark($link); 183 $link->link_name = esc_attr($link->link_name); 184 $link->link_category = wp_get_link_cats($link->link_id); 185 $short_url = str_replace('http://', '', $link->link_url); 186 $short_url = preg_replace('/^www\./i', '', $short_url); 187 if ('/' == substr($short_url, -1)) 188 $short_url = substr($short_url, 0, -1); 189 if (strlen($short_url) > 35) 190 $short_url = substr($short_url, 0, 32).'...'; 191 $visible = ($link->link_visible == 'Y') ? __('Yes') : __('No'); 192 $rating = $link->link_rating; 193 $style = ($alt % 2) ? '' : ' class="alternate"'; 194 ++ $alt; 195 $edit_link = get_edit_bookmark_link(); 196 ?><tr id="link-<?php echo $link->link_id; ?>" valign="middle" <?php echo $style; ?>><?php 197 foreach($link_columns as $column_name=>$column_display_name) { 198 $class = "class=\"column-$column_name\""; 199 200 $style = ''; 201 if ( in_array($column_name, $hidden) ) 202 $style = ' style="display:none;"'; 203 204 $attributes = "$class$style"; 205 206 switch($column_name) { 207 case 'cb': 208 echo '<th scope="row" class="check-column"><input type="checkbox" name="linkcheck[]" value="'. esc_attr($link->link_id) .'" /></th>'; 209 break; 210 case 'name': 211 212 echo "<td $attributes><strong><a class='row-title' href='$edit_link' title='" . esc_attr(sprintf(__('Edit “%s”'), $link->link_name)) . "'>$link->link_name</a></strong><br />"; 213 $actions = array(); 214 $actions['edit'] = '<a href="' . $edit_link . '">' . __('Edit') . '</a>'; 215 $actions['delete'] = "<a class='submitdelete' href='" . wp_nonce_url("link.php?action=delete&link_id=$link->link_id", 'delete-bookmark_' . $link->link_id) . "' onclick=\"if ( confirm('" . esc_js(sprintf( __("You are about to delete this link '%s'\n 'Cancel' to stop, 'OK' to delete."), $link->link_name )) . "') ) { return true;}return false;\">" . __('Delete') . "</a>"; 216 $action_count = count($actions); 217 $i = 0; 218 echo '<div class="row-actions">'; 219 foreach ( $actions as $action => $linkaction ) { 220 ++$i; 221 ( $i == $action_count ) ? $sep = '' : $sep = ' | '; 222 echo "<span class='$action'>$linkaction$sep</span>"; 223 } 224 echo '</div>'; 225 echo '</td>'; 226 break; 227 case 'url': 228 echo "<td $attributes><a href='$link->link_url' title='".sprintf(__('Visit %s'), $link->link_name)."'>$short_url</a></td>"; 229 break; 230 case 'categories': 231 ?><td <?php echo $attributes ?>><?php 232 $cat_names = array(); 233 foreach ($link->link_category as $category) { 234 $cat = get_term($category, 'link_category', OBJECT, 'display'); 235 if ( is_wp_error( $cat ) ) 236 echo $cat->get_error_message(); 237 $cat_name = $cat->name; 238 if ( $cat_id != $category ) 239 $cat_name = "<a href='link-manager.php?cat_id=$category'>$cat_name</a>"; 240 $cat_names[] = $cat_name; 241 } 242 echo implode(', ', $cat_names); 243 ?></td><?php 244 break; 245 case 'rel': 246 ?><td <?php echo $attributes ?>><?php echo empty($link->link_rel) ? '<br />' : $link->link_rel; ?></td><?php 247 break; 248 case 'visible': 249 ?><td <?php echo $attributes ?>><?php echo $visible; ?></td><?php 250 break; 251 case 'rating': 252 ?><td <?php echo $attributes ?>><?php echo $rating; ?></td><?php 253 break; 254 default: 255 ?> 256 <td <?php echo $attributes ?>><?php do_action('manage_link_custom_column', $column_name, $link->link_id); ?></td> 257 <?php 258 break; 259 260 } 261 } 262 echo "\n </tr>\n"; 263 } 264 ?> 265 </tbody> 266 </table> 267 268 <div class="tablenav"> 269 270 <div class="alignleft actions"> 271 <select name="action2"> 272 <option value="" selected="selected"><?php _e('Bulk Actions'); ?></option> 273 <option value="delete"><?php _e('Delete'); ?></option> 274 </select> 275 <input type="submit" value="<?php esc_attr_e('Apply'); ?>" name="doaction2" id="doaction2" class="button-secondary action" /> 276 </div> 277 278 <?php } else { ?> 279 <p><?php _e( 'No links found.' ) ?></p> 280 <?php } ?> 281 282 <br class="clear" /> 283 </div> 284 86 <form id="posts-filter" action="" method="post"> 87 <?php $table->display(); ?> 88 <div id="ajax-response"></div> 285 89 </form> 286 287 <div id="ajax-response"></div>288 90 289 91 </div> -
trunk/wp-admin/menu.php
r15481 r15491 87 87 /* translators: add new links */ 88 88 $submenu['link-manager.php'][10] = array( _x('Add New', 'link'), 'manage_links', 'link-add.php' ); 89 $submenu['link-manager.php'][15] = array( __('Link Categories'), 'manage_categories', 'edit- link-categories.php' );89 $submenu['link-manager.php'][15] = array( __('Link Categories'), 'manage_categories', 'edit-tags.php?taxonomy=link_category' ); 90 90 91 91 $menu[20] = array( __('Pages'), 'edit_pages', 'edit.php?post_type=page', '', 'menu-top menu-icon-page', 'menu-pages', 'div' ); -
trunk/wp-admin/network/sites.php
r15481 r15491 19 19 $parent_file = 'sites.php'; 20 20 21 if ( isset( $_ GET['action'] ) && 'editblog' == $_GET['action'] ) {21 if ( isset( $_REQUEST['action'] ) && 'editblog' == $_REQUEST['action'] ) { 22 22 add_contextual_help($current_screen, 23 23 '<p>' . __('This extensive list of options has five modules: Site Info, Site Options, allowing Site Themes for this given site, changing user roles and passwords for that site, adding a new user, and Miscellaneous Site Actions (upload size limits).') . '</p>' . … … 47 47 } 48 48 49 wp_enqueue_script( 'admin-forms' ); 50 51 require_once( '../admin-header.php' ); 52 53 $id = isset( $_GET['id'] ) ? intval( $_GET['id'] ) : 0; 54 55 if ( isset( $_GET['updated'] ) && $_GET['updated'] == 'true' && ! empty( $_GET['action'] ) ) { 49 $id = isset( $_REQUEST['id'] ) ? intval( $_REQUEST['id'] ) : 0; 50 51 if ( isset( $_REQUEST['updated'] ) && $_REQUEST['updated'] == 'true' && ! empty( $_REQUEST['action'] ) ) { 56 52 ?> 57 53 <div id="message" class="updated"><p> 58 54 <?php 59 switch ( $_ GET['action'] ) {55 switch ( $_REQUEST['action'] ) { 60 56 case 'all_notspam': 61 57 _e( 'Sites removed from spam.' ); … … 100 96 } 101 97 102 $action = isset( $_ GET['action'] ) ? $_GET['action'] : 'list';98 $action = isset( $_REQUEST['action'] ) ? $_REQUEST['action'] : 'list'; 103 99 104 100 switch ( $action ) { … … 113 109 $editblog_roles = get_blog_option( $id, "{$blog_prefix}user_roles" ); 114 110 $is_main_site = is_main_site( $id ); 111 112 require_once( './admin-header.php' ); 115 113 ?> 116 114 <div class="wrap"> 117 115 <?php screen_icon(); ?> 118 116 <h2><?php _e( 'Edit Site' ); ?> - <a href="<?php echo esc_url( get_home_url( $id ) ); ?>"><?php echo esc_url( get_home_url( $id ) ); ?></a></h2> 119 <form method="post" action=" edit.php?action=updateblog">117 <form method="post" action="ms-edit.php?action=updateblog"> 120 118 <?php wp_nonce_field( 'editblog' ); ?> 121 119 <input type="hidden" name="id" value="<?php echo esc_attr( $id ) ?>" /> … … 351 349 case 'list': 352 350 default: 353 $pagenum = isset( $_GET['paged'] ) ? absint( $_GET['paged'] ) : 0; 354 if ( empty($pagenum) ) 355 $pagenum = 1; 356 357 $per_page = (int) get_user_option( 'ms_sites_per_page' ); 358 if ( empty( $per_page ) || $per_page < 1 ) 359 $per_page = 15; 360 361 $per_page = apply_filters( 'ms_sites_per_page', $per_page ); 362 363 $s = isset( $_GET['s'] ) ? stripslashes( trim( $_GET[ 's' ] ) ) : ''; 364 $like_s = esc_sql( like_escape( $s ) ); 365 366 $query = "SELECT * FROM {$wpdb->blogs} WHERE site_id = '{$wpdb->siteid}' "; 367 368 if ( isset( $_GET['searchaction'] ) ) { 369 if ( 'name' == $_GET['searchaction'] ) { 370 $query .= " AND ( {$wpdb->blogs}.domain LIKE '%{$like_s}%' OR {$wpdb->blogs}.path LIKE '%{$like_s}%' ) "; 371 } elseif ( 'id' == $_GET['searchaction'] ) { 372 $query .= " AND {$wpdb->blogs}.blog_id = '{$like_s}' "; 373 } elseif ( 'ip' == $_GET['searchaction'] ) { 374 $query = "SELECT * 375 FROM {$wpdb->blogs}, {$wpdb->registration_log} 376 WHERE site_id = '{$wpdb->siteid}' 377 AND {$wpdb->blogs}.blog_id = {$wpdb->registration_log}.blog_id 378 AND {$wpdb->registration_log}.IP LIKE ('%{$like_s}%')"; 379 } 380 } 381 382 $order_by = isset( $_GET['sortby'] ) ? $_GET['sortby'] : 'id'; 383 if ( $order_by == 'registered' ) { 384 $query .= ' ORDER BY registered '; 385 } elseif ( $order_by == 'lastupdated' ) { 386 $query .= ' ORDER BY last_updated '; 387 } elseif ( $order_by == 'blogname' ) { 388 $query .= ' ORDER BY domain '; 389 } else { 390 $order_by = 'id'; 391 $query .= " ORDER BY {$wpdb->blogs}.blog_id "; 392 } 393 394 $order = ( isset( $_GET['order'] ) && 'DESC' == $_GET['order'] ) ? "DESC" : "ASC"; 395 $query .= $order; 396 397 $total = $wpdb->get_var( str_replace( 'SELECT *', 'SELECT COUNT(blog_id)', $query ) ); 398 399 $query .= " LIMIT " . intval( ( $pagenum - 1 ) * $per_page ) . ", " . intval( $per_page ); 400 $blog_list = $wpdb->get_results( $query, ARRAY_A ); 401 402 $num_pages = ceil($total / $per_page); 403 $page_links = paginate_links( array( 404 'base' => add_query_arg( 'paged', '%#%' ), 405 'format' => '', 406 'prev_text' => __( '«' ), 407 'next_text' => __( '»' ), 408 'total' => $num_pages, 409 'current' => $pagenum 410 )); 411 412 if ( empty( $_GET['mode'] ) ) 413 $mode = 'list'; 414 else 415 $mode = esc_attr( $_GET['mode'] ); 351 require_once( './includes/default-list-tables.php' ); 352 353 $table = new WP_Sites_Table; 354 355 require_once( './admin-header.php' ); 416 356 ?> 417 357 … … 420 360 <h2><?php _e('Sites') ?> 421 361 <a href="#form-add-site" class="button add-new-h2"><?php echo esc_html_x( 'Add New', 'sites' ); ?></a> 422 <?php 423 if ( isset( $_GET['s'] ) && $_GET['s'] ) 424 printf( '<span class="subtitle">' . __( 'Search results for “%s”' ) . '</span>', esc_html( $s ) ); 425 ?> 362 <?php if ( isset( $_REQUEST['s'] ) && $_REQUEST['s'] ) { 363 printf( '<span class="subtitle">' . __( 'Search results for “%s”' ) . '</span>', esc_html( $s ) ); 364 } ?> 426 365 </h2> 427 366 428 <form action=" sites.php" method="get" id="ms-search">367 <form action="ms-sites.php" method="get" id="ms-search"> 429 368 <p class="search-box"> 430 369 <input type="hidden" name="action" value="blogs" /> … … 439 378 </form> 440 379 441 <form id="form-site-list" action="edit.php?action=allblogs" method="post"> 442 <input type="hidden" name="mode" value="<?php echo esc_attr( $mode ); ?>" /> 443 <div class="tablenav"> 444 <div class="alignleft actions"> 445 <select name="action"> 446 <option value="-1" selected="selected"><?php _e( 'Bulk Actions' ); ?></option> 447 <option value="delete"><?php _e( 'Delete' ); ?></option> 448 <option value="spam"><?php _ex( 'Mark as Spam', 'site' ); ?></option> 449 <option value="notspam"><?php _ex( 'Not Spam', 'site' ); ?></option> 450 </select> 451 <input type="submit" value="<?php esc_attr_e( 'Apply' ); ?>" name="doaction" id="doaction" class="button-secondary action" /> 452 <?php wp_nonce_field( 'bulk-ms-sites', '_wpnonce_bulk-ms-sites' ); ?> 453 </div> 454 455 <?php if ( $page_links ) { ?> 456 <div class="tablenav-pages"> 457 <?php $page_links_text = sprintf( '<span class="displaying-num">' . __( 'Displaying %s–%s of %s' ) . '</span>%s', 458 number_format_i18n( ( $pagenum - 1 ) * $per_page + 1 ), 459 number_format_i18n( min( $pagenum * $per_page, $total ) ), 460 number_format_i18n( $total ), 461 $page_links 462 ); echo $page_links_text; ?> 463 </div> 464 <?php } ?> 465 466 <div class="view-switch"> 467 <a href="<?php echo esc_url( add_query_arg( 'mode', 'list', $_SERVER['REQUEST_URI'] ) ) ?>"><img <?php if ( 'list' == $mode ) echo 'class="current"'; ?> id="view-switch-list" src="<?php echo esc_url( includes_url( 'images/blank.gif' ) ); ?>" width="20" height="20" title="<?php _e( 'List View' ) ?>" alt="<?php _e( 'List View' ) ?>" /></a> 468 <a href="<?php echo esc_url( add_query_arg( 'mode', 'excerpt', $_SERVER['REQUEST_URI'] ) ) ?>"><img <?php if ( 'excerpt' == $mode ) echo 'class="current"'; ?> id="view-switch-excerpt" src="<?php echo esc_url( includes_url( 'images/blank.gif' ) ); ?>" width="20" height="20" title="<?php _e( 'Excerpt View' ) ?>" alt="<?php _e( 'Excerpt View' ) ?>" /></a> 469 </div> 470 471 </div> 472 473 <div class="clear"></div> 474 475 <?php 476 // define the columns to display, the syntax is 'internal name' => 'display name' 477 $blogname_columns = ( is_subdomain_install() ) ? __( 'Domain' ) : __( 'Path' ); 478 $sites_columns = array( 479 'id' => __( 'ID' ), 480 'blogname' => $blogname_columns, 481 'lastupdated' => __( 'Last Updated'), 482 'registered' => _x( 'Registered', 'site' ), 483 'users' => __( 'Users' ) 484 ); 485 486 if ( has_filter( 'wpmublogsaction' ) ) 487 $sites_columns['plugins'] = __( 'Actions' ); 488 489 $sites_columns = apply_filters( 'wpmu_blogs_columns', $sites_columns ); 490 ?> 491 492 <table class="widefat"> 493 <thead> 494 <tr> 495 <th class="manage-column column-cb check-column" id="cb" scope="col"> 496 <input type="checkbox" /> 497 </th> 498 <?php 499 $col_url = ''; 500 foreach($sites_columns as $column_id => $column_display_name) { 501 $column_link = "<a href='"; 502 $order2 = ''; 503 if ( $order_by == $column_id ) 504 $order2 = ( $order == 'DESC' ) ? 'ASC' : 'DESC'; 505 506 $column_link .= esc_url( add_query_arg( array( 'order' => $order2, 'paged' => $pagenum, 'sortby' => $column_id ), remove_query_arg( array('action', 'updated'), $_SERVER['REQUEST_URI'] ) ) ); 507 $column_link .= "'>{$column_display_name}</a>"; 508 $col_url .= '<th scope="col">' . ( ( $column_id == 'users' || $column_id == 'plugins' ) ? $column_display_name : $column_link ) . '</th>'; 509 } 510 echo $col_url ?> 511 </tr> 512 </thead> 513 <tfoot> 514 <tr> 515 <th class="manage-column column-cb check-column" id="cb1" scope="col"> 516 <input type="checkbox" /> 517 </th> 518 <?php echo $col_url ?> 519 </tr> 520 </tfoot> 521 <tbody id="the-site-list" class="list:site"> 522 <?php 523 $status_list = array( 'archived' => array( 'site-archived', __( 'Archived' ) ), 'spam' => array( 'site-spammed', _x( 'Spam', 'site' ) ), 'deleted' => array( 'site-deleted', __( 'Deleted' ) ), 'mature' => array( 'site-mature', __( 'Mature' ) ) ); 524 if ( $blog_list ) { 525 $class = ''; 526 foreach ( $blog_list as $blog ) { 527 $class = ( 'alternate' == $class ) ? '' : 'alternate'; 528 reset( $status_list ); 529 530 $blog_states = array(); 531 foreach ( $status_list as $status => $col ) { 532 if ( get_blog_status( $blog['blog_id'], $status ) == 1 ) { 533 $class = $col[0]; 534 $blog_states[] = $col[1]; 535 } 536 } 537 $blog_state = ''; 538 if ( ! empty( $blog_states ) ) { 539 $state_count = count( $blog_states ); 540 $i = 0; 541 $blog_state .= ' - '; 542 foreach ( $blog_states as $state ) { 543 ++$i; 544 ( $i == $state_count ) ? $sep = '' : $sep = ', '; 545 $blog_state .= "<span class='post-state'>$state$sep</span>"; 546 } 547 } 548 echo "<tr class='$class'>"; 549 550 $blogname = ( is_subdomain_install() ) ? str_replace( '.'.$current_site->domain, '', $blog['domain'] ) : $blog['path']; 551 foreach ( $sites_columns as $column_name=>$column_display_name ) { 552 switch ( $column_name ) { 553 case 'id': ?> 554 <th scope="row" class="check-column"> 555 <input type="checkbox" id="blog_<?php echo $blog['blog_id'] ?>" name="allblogs[]" value="<?php echo esc_attr( $blog['blog_id'] ) ?>" /> 556 </th> 557 <th valign="top" scope="row"> 558 <?php echo $blog['blog_id'] ?> 559 </th> 560 <?php 561 break; 562 563 case 'blogname': ?> 564 <td class="column-title"> 565 <a href="<?php echo esc_url( network_admin_url( 'sites.php?action=editblog&id=' . $blog['blog_id'] ) ); ?>" class="edit"><?php echo $blogname . $blog_state; ?></a> 566 <?php 567 if ( 'list' != $mode ) 568 echo '<p>' . sprintf( _x( '%1$s – <em>%2$s</em>', '%1$s: site name. %2$s: site tagline.' ), get_blog_option( $blog['blog_id'], 'blogname' ), get_blog_option( $blog['blog_id'], 'blogdescription ' ) ) . '</p>'; 569 570 // Preordered. 571 $actions = array( 572 'edit' => '', 'backend' => '', 573 'activate' => '', 'deactivate' => '', 574 'archive' => '', 'unarchive' => '', 575 'spam' => '', 'unspam' => '', 576 'delete' => '', 577 'visit' => '', 578 ); 579 580 $actions['edit'] = '<span class="edit"><a href="' . esc_url( network_admin_url( 'sites.php?action=editblog&id=' . $blog['blog_id'] ) ) . '">' . __( 'Edit' ) . '</a></span>'; 581 $actions['backend'] = "<span class='backend'><a href='" . esc_url( get_admin_url($blog['blog_id']) ) . "' class='edit'>" . __( 'Backend' ) . '</a></span>'; 582 if ( $current_site->blog_id != $blog['blog_id'] ) { 583 if ( get_blog_status( $blog['blog_id'], 'deleted' ) == '1' ) 584 $actions['activate'] = '<span class="activate"><a href="' . esc_url( network_admin_url( 'edit.php?action=confirm&action2=activateblog&id=' . $blog['blog_id'] . '&msg=' . urlencode( sprintf( __( 'You are about to activate the site %s' ), $blogname ) ) ) ) . '">' . __( 'Activate' ) . '</a></span>'; 585 else 586 $actions['deactivate'] = '<span class="activate"><a href="' . esc_url( network_admin_url( 'edit.php?action=confirm&action2=deactivateblog&id=' . $blog['blog_id'] . '&msg=' . urlencode( sprintf( __( 'You are about to deactivate the site %s' ), $blogname ) ) ) ) . '">' . __( 'Deactivate' ) . '</a></span>'; 587 588 if ( get_blog_status( $blog['blog_id'], 'archived' ) == '1' ) 589 $actions['unarchive'] = '<span class="archive"><a href="' . esc_url( network_admin_url( 'edit.php?action=confirm&action2=unarchiveblog&id=' . $blog['blog_id'] . '&msg=' . urlencode( sprintf( __( 'You are about to unarchive the site %s.' ), $blogname ) ) ) ) . '">' . __( 'Unarchive' ) . '</a></span>'; 590 else 591 $actions['archive'] = '<span class="archive"><a href="' . esc_url( network_admin_url( 'edit.php?action=confirm&action2=archiveblog&id=' . $blog['blog_id'] . '&msg=' . urlencode( sprintf( __( 'You are about to archive the site %s.' ), $blogname ) ) ) ) . '">' . _x( 'Archive', 'verb; site' ) . '</a></span>'; 592 593 if ( get_blog_status( $blog['blog_id'], 'spam' ) == '1' ) 594 $actions['unspam'] = '<span class="spam"><a href="' . esc_url( network_admin_url( 'edit.php?action=confirm&action2=unspamblog&id=' . $blog['blog_id'] . '&msg=' . urlencode( sprintf( __( 'You are about to unspam the site %s.' ), $blogname ) ) ) ) . '">' . _x( 'Not Spam', 'site' ) . '</a></span>'; 595 else 596 $actions['spam'] = '<span class="spam"><a href="' . esc_url( network_admin_url( 'edit.php?action=confirm&action2=spamblog&id=' . $blog['blog_id'] . '&msg=' . urlencode( sprintf( __( 'You are about to mark the site %s as spam.' ), $blogname ) ) ) ) . '">' . _x( 'Spam', 'site' ) . '</a></span>'; 597 598 $actions['delete'] = '<span class="delete"><a href="' . esc_url( network_admin_url( 'edit.php?action=confirm&action2=deleteblog&id=' . $blog['blog_id'] . '&msg=' . urlencode( sprintf( __( 'You are about to delete the site %s.' ), $blogname ) ) ) ) . '">' . __( 'Delete' ) . '</a></span>'; 599 } 600 601 $actions['visit'] = "<span class='view'><a href='" . esc_url( get_home_url( $blog['blog_id'] ) ) . "' rel='permalink'>" . __( 'Visit' ) . '</a></span>'; 602 $actions = array_filter( $actions ); 603 if ( count( $actions ) ) : ?> 604 <div class="row-actions"> 605 <?php echo implode( ' | ', $actions ); ?> 606 </div> 607 <?php endif; ?> 608 </td> 609 <?php 610 break; 611 612 case 'lastupdated': ?> 613 <td valign="top"> 614 <?php 615 if ( 'list' == $mode ) 616 $date = 'Y/m/d'; 617 else 618 $date = 'Y/m/d \<\b\r \/\> g:i:s a'; 619 echo ( $blog['last_updated'] == '0000-00-00 00:00:00' ) ? __( 'Never' ) : mysql2date( __( $date ), $blog['last_updated'] ); ?> 620 </td> 621 <?php 622 break; 623 case 'registered': ?> 624 <td valign="top"> 625 <?php 626 if ( $blog['registered'] == '0000-00-00 00:00:00' ) 627 echo '—'; 628 else 629 echo mysql2date( __( $date ), $blog['registered'] ); 630 ?> 631 </td> 632 <?php 633 break; 634 case 'users': ?> 635 <td valign="top"> 636 <?php 637 $blogusers = get_users_of_blog( $blog['blog_id'] ); 638 if ( is_array( $blogusers ) ) { 639 $blogusers_warning = ''; 640 if ( count( $blogusers ) > 5 ) { 641 $blogusers = array_slice( $blogusers, 0, 5 ); 642 $blogusers_warning = __( 'Only showing first 5 users.' ) . ' <a href="' . esc_url( get_admin_url( $blog['blog_id'], 'users.php' ) ) . '">' . __( 'More' ) . '</a>'; 643 } 644 foreach ( $blogusers as $key => $val ) { 645 echo '<a href="' . esc_url( admin_url( 'user-edit.php?user_id=' . $val->user_id ) ) . '">' . esc_html( $val->user_login ) . '</a> '; 646 if ( 'list' != $mode ) 647 echo '(' . $val->user_email . ')'; 648 echo '<br />'; 649 } 650 if ( $blogusers_warning != '' ) 651 echo '<strong>' . $blogusers_warning . '</strong><br />'; 652 } 653 ?> 654 </td> 655 <?php 656 break; 657 658 case 'plugins': ?> 659 <?php if ( has_filter( 'wpmublogsaction' ) ) { ?> 660 <td valign="top"> 661 <?php do_action( 'wpmublogsaction', $blog['blog_id'] ); ?> 662 </td> 663 <?php } ?> 664 <?php break; 665 666 default: ?> 667 <?php if ( has_filter( 'manage_blogs_custom_column' ) ) { ?> 668 <td valign="top"> 669 <?php do_action( 'manage_blogs_custom_column', $column_name, $blog['blog_id'] ); ?> 670 </td> 671 <?php } ?> 672 <?php break; 673 } 674 } 675 ?> 676 </tr> 677 <?php 678 } 679 } else { ?> 680 <tr> 681 <td colspan="<?php echo (int) count( $sites_columns ); ?>"><?php _e( 'No sites found.' ) ?></td> 682 </tr> 683 <?php 684 } // end if ($blogs) 685 ?> 686 687 </tbody> 688 </table> 689 <div class="tablenav"> 690 <?php 691 if ( $page_links ) 692 echo "<div class='tablenav-pages'>$page_links_text</div>"; 693 ?> 694 695 <div class="alignleft actions"> 696 <select name="action2"> 697 <option value="-1" selected="selected"><?php _e( 'Bulk Actions' ); ?></option> 698 <option value="delete"><?php _e( 'Delete' ); ?></option> 699 <option value="spam"><?php _ex( 'Mark as Spam', 'site' ); ?></option> 700 <option value="notspam"><?php _ex( 'Not Spam', 'site' ); ?></option> 701 </select> 702 <input type="submit" value="<?php esc_attr_e( 'Apply' ); ?>" name="doaction2" id="doaction2" class="button-secondary action" /> 703 </div> 704 <br class="clear" /> 705 </div> 706 380 <form id="form-site-list" action="ms-edit.php?action=allblogs" method="post"> 381 <?php $table->display(); ?> 707 382 </form> 708 383 </div> … … 710 385 <div id="form-add-site" class="wrap"> 711 386 <h3><?php _e( 'Add Site' ) ?></h3> 712 <form method="post" action=" edit.php?action=addblog">387 <form method="post" action="ms-edit.php?action=addblog"> 713 388 <?php wp_nonce_field( 'add-blog', '_wpnonce_add-blog' ) ?> 714 389 <table class="form-table"> … … 745 420 } // end switch( $action ) 746 421 747 include( '. ./admin-footer.php' ); ?>422 include( './admin-footer.php' ); ?> -
trunk/wp-admin/network/users.php
r15481 r15491 33 33 ); 34 34 35 wp_enqueue_script( 'admin-forms' );35 require_once( './includes/default-list-tables.php' ); 36 36 37 require_once( '../admin-header.php' );37 $table = new WP_MS_Users_Table; 38 38 39 if ( isset( $_GET['updated'] ) && $_GET['updated'] == 'true' && ! empty( $_GET['action'] ) ) { 39 require_once( './admin-header.php' ); 40 41 if ( isset( $_REQUEST['updated'] ) && $_REQUEST['updated'] == 'true' && ! empty( $_REQUEST['action'] ) ) { 40 42 ?> 41 43 <div id="message" class="updated"><p> 42 44 <?php 43 switch ( $_ GET['action'] ) {45 switch ( $_REQUEST['action'] ) { 44 46 case 'delete': 45 47 _e( 'User deleted.' ); … … 62 64 <?php 63 65 } 64 65 $pagenum = isset( $_GET['paged'] ) ? absint( $_GET['paged'] ) : 0;66 if ( empty( $pagenum ) )67 $pagenum = 1;68 69 $per_page = (int) get_user_option( 'ms_users_per_page' );70 if ( empty( $per_page ) || $per_page < 1 )71 $per_page = 15;72 73 $per_page = apply_filters( 'ms_users_per_page', $per_page );74 75 $s = isset( $_GET['s'] ) ? stripslashes( trim( $_GET[ 's' ] ) ) : '';76 $like_s = esc_sql( like_escape( $s ) );77 78 $query = "SELECT * FROM {$wpdb->users}";79 80 if ( !empty( $like_s ) ) {81 $query .= " WHERE user_login LIKE '%$like_s%' OR user_email LIKE '%$like_s%'";82 }83 84 $order_by = isset( $_GET['sortby'] ) ? $_GET['sortby'] : 'id';85 if ( $order_by == 'email' ) {86 $query .= ' ORDER BY user_email ';87 } elseif ( $order_by == 'login' ) {88 $query .= ' ORDER BY user_login ';89 } elseif ( $order_by == 'name' ) {90 $query .= ' ORDER BY display_name ';91 } elseif ( $order_by == 'registered' ) {92 $query .= ' ORDER BY user_registered ';93 } else {94 $order_by = 'id';95 $query .= ' ORDER BY ID ';96 }97 98 $order = ( isset( $_GET['order'] ) && 'DESC' == $_GET['order'] ) ? 'DESC' : 'ASC';99 $query .= $order;100 101 $total = $wpdb->get_var( str_replace( 'SELECT *', 'SELECT COUNT(ID)', $query ) );102 103 $query .= " LIMIT " . intval( ( $pagenum - 1 ) * $per_page) . ", " . intval( $per_page );104 105 $user_list = $wpdb->get_results( $query, ARRAY_A );106 107 $num_pages = ceil( $total / $per_page );108 $page_links = paginate_links( array(109 'base' => add_query_arg( 'paged', '%#%' ),110 'format' => '',111 'prev_text' => __( '«' ),112 'next_text' => __( '»' ),113 'total' => $num_pages,114 'current' => $pagenum115 ));116 117 if ( empty( $_GET['mode'] ) )118 $mode = 'list';119 else120 $mode = esc_attr( $_GET['mode'] );121 122 66 ?> 123 67 <div class="wrap"> 124 68 <?php screen_icon(); ?> 125 69 <h2><?php esc_html_e( 'Users' ); ?> 126 70 <a href="#form-add-user" class="button add-new-h2"><?php echo esc_html_x( 'Add New' , 'users'); ?></a> 127 71 <?php 128 if ( isset( $_ GET['s'] ) && $_GET['s'] )72 if ( isset( $_REQUEST['s'] ) && $_REQUEST['s'] ) 129 73 printf( '<span class="subtitle">' . __( 'Search results for “%s”' ) . '</span>', esc_html( $s ) ); 130 74 ?> 131 75 </h2> 132 76 133 <form action=" users.php" method="get" class="search-form">77 <form action="ms-users.php" method="get" class="search-form"> 134 78 <p class="search-box"> 135 79 <input type="text" name="s" value="<?php echo esc_attr( $s ); ?>" class="search-input" id="user-search-input" /> … … 138 82 </form> 139 83 140 <form id="form-user-list" action='edit.php?action=allusers' method='post'> 141 <input type="hidden" name="mode" value="<?php echo esc_attr( $mode ); ?>" /> 142 <div class="tablenav"> 143 <div class="alignleft actions"> 144 <select name="action"> 145 <option value="-1" selected="selected"><?php _e( 'Bulk Actions' ); ?></option> 146 <option value="delete"><?php _e( 'Delete' ); ?></option> 147 <option value="spam"><?php _ex( 'Mark as Spam', 'user' ); ?></option> 148 <option value="notspam"><?php _ex( 'Not Spam', 'user' ); ?></option> 149 </select> 150 <input type="submit" value="<?php esc_attr_e( 'Apply' ); ?>" name="doaction" id="doaction" class="button-secondary action" /> 151 <?php wp_nonce_field( 'bulk-ms-users', '_wpnonce_bulk-ms-users' ); ?> 152 </div> 153 154 <?php if ( $page_links ) { ?> 155 <div class="tablenav-pages"> 156 <?php $page_links_text = sprintf( '<span class="displaying-num">' . __( 'Displaying %s–%s of %s' ) . '</span>%s', 157 number_format_i18n( ( $pagenum - 1 ) * $per_page + 1 ), 158 number_format_i18n( min( $pagenum * $per_page, $total ) ), 159 number_format_i18n( $total ), 160 $page_links 161 ); echo $page_links_text; ?> 162 </div> 163 <?php } ?> 164 165 <div class="view-switch"> 166 <a href="<?php echo esc_url( add_query_arg( 'mode', 'list', $_SERVER['REQUEST_URI'] ) ) ?>"><img <?php if ( 'list' == $mode ) echo 'class="current"'; ?> id="view-switch-list" src="<?php echo esc_url( includes_url( 'images/blank.gif' ) ); ?>" width="20" height="20" title="<?php _e( 'List View' ) ?>" alt="<?php _e( 'List View' ) ?>" /></a> 167 <a href="<?php echo esc_url( add_query_arg( 'mode', 'excerpt', $_SERVER['REQUEST_URI'] ) ) ?>"><img <?php if ( 'excerpt' == $mode ) echo 'class="current"'; ?> id="view-switch-excerpt" src="<?php echo esc_url( includes_url( 'images/blank.gif' ) ); ?>" width="20" height="20" title="<?php _e( 'Excerpt View' ) ?>" alt="<?php _e( 'Excerpt View' ) ?>" /></a> 168 </div> 169 </div> 170 <div class="clear"></div> 171 172 <?php 173 // define the columns to display, the syntax is 'internal name' => 'display name' 174 $users_columns = array( 175 'id' => __( 'ID' ), 176 'login' => __( 'Username' ), 177 'name' => __( 'Name' ), 178 'email' => __( 'E-mail' ), 179 'registered' => _x( 'Registered', 'user' ), 180 'blogs' => __( 'Sites' ) 181 ); 182 $users_columns = apply_filters( 'wpmu_users_columns', $users_columns ); 183 ?> 184 <table class="widefat"> 185 <thead> 186 <tr> 187 <th class="manage-column column-cb check-column" scope="col"> 188 <input type="checkbox" /> 189 </th> 190 <?php 191 $col_url = ''; 192 foreach($users_columns as $column_id => $column_display_name) { 193 $column_link = "<a href='"; 194 $order2 = ''; 195 if ( $order_by == $column_id ) 196 $order2 = ( $order == 'DESC' ) ? 'ASC' : 'DESC'; 197 198 $column_link .= esc_url( add_query_arg( array( 'order' => $order2, 'paged' => $pagenum, 'sortby' => $column_id ), remove_query_arg( array( 'action', 'updated' ), $_SERVER['REQUEST_URI'] ) ) ); 199 $column_link .= "'>{$column_display_name}</a>"; 200 $col_url .= '<th scope="col">' . ( $column_id == 'blogs' ? $column_display_name : $column_link ) . '</th>'; 201 } 202 echo $col_url; ?> 203 </tr> 204 </thead> 205 <tfoot> 206 <tr> 207 <th class="manage-column column-cb check-column" scope="col"> 208 <input type="checkbox" /> 209 </th> 210 <?php echo $col_url; ?> 211 </tr> 212 </tfoot> 213 <tbody id="the-user-list" class="list:user"> 214 <?php if ( $user_list ) { 215 $class = ''; 216 $super_admins = get_super_admins(); 217 foreach ( (array) $user_list as $user ) { 218 $class = ( 'alternate' == $class ) ? '' : 'alternate'; 219 220 $status_list = array( 'spam' => 'site-spammed', 'deleted' => 'site-deleted' ); 221 222 foreach ( $status_list as $status => $col ) { 223 if ( $user[$status] ) 224 $class = $col; 225 } 226 227 ?> 228 <tr class="<?php echo $class; ?>"> 229 <?php 230 foreach( (array) $users_columns as $column_name=>$column_display_name ) : 231 switch( $column_name ) { 232 case 'id': ?> 233 <th scope="row" class="check-column"> 234 <input type="checkbox" id="blog_<?php echo $user['ID'] ?>" name="allusers[]" value="<?php echo esc_attr( $user['ID'] ) ?>" /> 235 </th> 236 <th valign="top" scope="row"> 237 <?php echo $user['ID'] ?> 238 </th> 239 <?php 240 break; 241 242 case 'login': 243 $avatar = get_avatar( $user['user_email'], 32 ); 244 $edit_link = ( $current_user->ID == $user['ID'] ) ? 'profile.php' : 'user-edit.php?user_id=' . $user['ID']; 245 ?> 246 <td class="username column-username"> 247 <?php echo $avatar; ?><strong><a href="<?php echo esc_url( network_admin_url( $edit_link ) ); ?>" class="edit"><?php echo stripslashes( $user['user_login'] ); ?></a><?php 248 if ( in_array( $user['user_login'], $super_admins ) ) 249 echo ' - ' . __( 'Super admin' ); 250 ?></strong> 251 <br/> 252 <div class="row-actions"> 253 <span class="edit"><a href="<?php echo esc_url( network_admin_url( $edit_link ) ); ?>"><?php _e( 'Edit' ); ?></a></span> 254 <?php if ( ! in_array( $user['user_login'], $super_admins ) ) { ?> 255 | <span class="delete"><a href="<?php echo $delete = esc_url( admin_url( add_query_arg( '_wp_http_referer', urlencode( stripslashes( $_SERVER['REQUEST_URI'] ) ), wp_nonce_url( 'edit.php', 'deleteuser' ) . '&action=deleteuser&id=' . $user['ID'] ) ) ); ?>" class="delete"><?php _e( 'Delete' ); ?></a></span> 256 <?php } ?> 257 </div> 258 </td> 259 <?php 260 break; 261 262 case 'name': ?> 263 <td class="name column-name"><?php echo $user['display_name'] ?></td> 264 <?php 265 break; 266 267 case 'email': ?> 268 <td class="email column-email"><a href="mailto:<?php echo $user['user_email'] ?>"><?php echo $user['user_email'] ?></a></td> 269 <?php 270 break; 271 272 case 'registered': 273 if ( 'list' == $mode ) 274 $date = 'Y/m/d'; 275 else 276 $date = 'Y/m/d \<\b\r \/\> g:i:s a'; 277 ?> 278 <td><?php echo mysql2date( __( $date ), $user['user_registered'] ); ?></td> 279 <?php 280 break; 281 282 case 'blogs': 283 $blogs = get_blogs_of_user( $user['ID'], true ); 284 ?> 285 <td> 286 <?php 287 if ( is_array( $blogs ) ) { 288 foreach ( (array) $blogs as $key => $val ) { 289 $path = ( $val->path == '/' ) ? '' : $val->path; 290 echo '<a href="'. esc_url( network_admin_url( 'sites.php?action=editblog&id=' . $val->userblog_id ) ) .'">' . str_replace( '.' . $current_site->domain, '', $val->domain . $path ) . '</a>'; 291 echo ' <small class="row-actions">'; 292 293 // Edit 294 echo '<a href="'. esc_url( network_admin_url( 'sites.php?action=editblog&id=' . $val->userblog_id ) ) .'">' . __( 'Edit' ) . '</a> | '; 295 296 // View 297 echo '<a '; 298 if ( get_blog_status( $val->userblog_id, 'spam' ) == 1 ) 299 echo 'style="background-color: #faa" '; 300 echo 'href="' . esc_url( get_home_url( $val->userblog_id ) ) . '">' . __( 'View' ) . '</a>'; 301 302 echo '</small><br />'; 303 } 304 } 305 ?> 306 </td> 307 <?php 308 break; 309 310 default: ?> 311 <td><?php do_action( 'manage_users_custom_column', $column_name, $user['ID'] ); ?></td> 312 <?php 313 break; 314 } 315 endforeach 316 ?> 317 </tr> 318 <?php 319 } 320 } else { 321 ?> 322 <tr> 323 <td colspan="<?php echo (int) count($users_columns); ?>"><?php _e( 'No users found.' ) ?></td> 324 </tr> 325 <?php 326 } // end if ($users) 327 ?> 328 </tbody> 329 </table> 330 331 <div class="tablenav"> 332 <?php 333 if ( $page_links ) 334 echo "<div class='tablenav-pages'>$page_links_text</div>"; 335 ?> 336 337 <div class="alignleft actions"> 338 <select name="action2"> 339 <option value="-1" selected="selected"><?php _e( 'Bulk Actions' ); ?></option> 340 <option value="delete"><?php _e( 'Delete' ); ?></option> 341 <option value="spam"><?php _ex( 'Mark as Spam', 'user' ); ?></option> 342 <option value="notspam"><?php _ex( 'Not Spam', 'user' ); ?></option> 343 </select> 344 <input type="submit" value="<?php esc_attr_e( 'Apply' ); ?>" name="doaction2" id="doaction2" class="button-secondary action" /> 345 </div> 346 <br class="clear" /> 347 </div> 348 349 </form> 350 </div> 84 <form id="form-user-list" action='ms-edit.php?action=allusers' method='post'> 85 <?php $table->display(); ?> 86 </form> 87 </div> 351 88 352 89 <?php … … 355 92 <div class="wrap" id="form-add-user"> 356 93 <h3><?php _e( 'Add User' ) ?></h3> 357 <form action=" edit.php?action=adduser" method="post">94 <form action="ms-edit.php?action=adduser" method="post"> 358 95 <table class="form-table"> 359 96 <tr class="form-field form-required"> … … 376 113 <?php endif; ?> 377 114 378 <?php include( '. ./admin-footer.php' ); ?>115 <?php include( './admin-footer.php' ); ?> -
trunk/wp-admin/plugin-install.php
r15135 r15491 13 13 wp_die(__('You do not have sufficient permissions to install plugins on this site.')); 14 14 15 include(ABSPATH . 'wp-admin/includes/plugin-install.php'); 15 require_once( './includes/default-list-tables.php' ); 16 17 $table = new WP_Plugin_Install_Table; 16 18 17 19 $title = __('Install Plugins'); 18 20 $parent_file = 'plugins.php'; 19 20 wp_reset_vars( array('tab', 'paged') );21 22 //These are the tabs which are shown on the page,23 $tabs = array();24 $tabs['dashboard'] = __('Search');25 if ( 'search' == $tab )26 $tabs['search'] = __('Search Results');27 $tabs['upload'] = __('Upload');28 $tabs['featured'] = _x('Featured','Plugin Installer');29 $tabs['popular'] = _x('Popular','Plugin Installer');30 $tabs['new'] = _x('Newest','Plugin Installer');31 $tabs['updated'] = _x('Recently Updated','Plugin Installer');32 33 $nonmenu_tabs = array('plugin-information'); //Valid actions to perform which do not have a Menu item.34 35 $tabs = apply_filters('install_plugins_tabs', $tabs );36 $nonmenu_tabs = apply_filters('install_plugins_nonmenu_tabs', $nonmenu_tabs);37 38 //If a non-valid menu tab has been selected, And its not a non-menu action.39 if ( empty($tab) || ( ! isset($tabs[ $tab ]) && ! in_array($tab, (array)$nonmenu_tabs) ) ) {40 $tab_actions = array_keys($tabs);41 $tab = $tab_actions[0];42 }43 if ( empty($paged) )44 $paged = 1;45 21 46 22 wp_enqueue_style( 'plugin-install' ); … … 72 48 <?php 73 49 $display_tabs = array(); 74 foreach ( (array) $tabs as $action => $text ) {50 foreach ( (array) $tabs as $action => $text ) { 75 51 $sep = ( end($tabs) != $text ) ? ' | ' : ''; 76 52 $class = ( $action == $tab ) ? ' class="current"' : ''; -
trunk/wp-admin/plugins.php
r15485 r15491 32 32 $plugin = isset($_REQUEST['plugin']) ? $_REQUEST['plugin'] : ''; 33 33 34 $default_status = get_user_option('plugins_last_view');35 if ( empty($default_status) )36 $default_status = 'all';37 $status = isset($_REQUEST['plugin_status']) ? $_REQUEST['plugin_status'] : $default_status;38 if ( !in_array($status, array('all', 'active', 'inactive', 'recent', 'upgrade', 'network', 'mustuse', 'dropins', 'search')) )39 $status = 'all';40 if ( $status != $default_status && 'search' != $status )41 update_user_meta($current_user->ID, 'plugins_last_view', $status);42 43 $page = isset($_REQUEST['paged']) ? $_REQUEST['paged'] : 1;44 45 34 //Clean up request URI from temporary args for screen options/paging uri's to work as expected. 46 35 $_SERVER['REQUEST_URI'] = remove_query_arg(array('error', 'deleted', 'activate', 'activate-multi', 'deactivate', 'deactivate-multi', '_error_nonce'), $_SERVER['REQUEST_URI']); … … 86 75 wp_die(__('You do not have sufficient permissions to activate plugins for this site.')); 87 76 88 check_admin_referer('bulk- manage-plugins');77 check_admin_referer('bulk-plugins'); 89 78 90 79 $plugins = isset( $_POST['checked'] ) ? (array) $_POST['checked'] : array(); … … 109 98 case 'update-selected' : 110 99 111 check_admin_referer( 'bulk- manage-plugins' );100 check_admin_referer( 'bulk-plugins' ); 112 101 113 102 if ( isset( $_GET['plugins'] ) ) … … 121 110 $parent_file = 'plugins.php'; 122 111 123 require_once( ABSPATH . 'wp-admin/admin-header.php');112 require_once(ABSPATH . 'wp-admin/admin-header.php'); 124 113 125 114 echo '<div class="wrap">'; … … 133 122 echo "<iframe src='$url' style='width: 100%; height:100%; min-height:850px;'></iframe>"; 134 123 echo '</div>'; 135 require_once( './admin-footer.php');124 require_once(ABSPATH . 'wp-admin/admin-footer.php'); 136 125 exit; 137 126 break; … … 179 168 wp_die(__('You do not have sufficient permissions to deactivate plugins for this site.')); 180 169 181 check_admin_referer('bulk- manage-plugins');170 check_admin_referer('bulk-plugins'); 182 171 183 172 $plugins = isset( $_POST['checked'] ) ? (array) $_POST['checked'] : array(); … … 202 191 wp_die(__('You do not have sufficient permissions to delete plugins for this site.')); 203 192 204 check_admin_referer('bulk- manage-plugins');193 check_admin_referer('bulk-plugins'); 205 194 206 195 //$_POST = from the plugin form; $_GET = from the FTP details screen. … … 237 226 } 238 227 // Get plugins list from that folder 239 if ( $ folder_plugins= get_plugins( '/' . dirname($plugin)) ) {240 foreach( $ folder_pluginsas $plugin_file => $data ) {228 if ( $plugins['folder'] = get_plugins( '/' . dirname($plugin)) ) { 229 foreach( $plugins['folder'] as $plugin_file => $data ) { 241 230 $plugin_info[ $plugin_file ] = $data; 242 231 $plugin_info[ $plugin_file ]['is_uninstallable'] = is_uninstallable_plugin( $plugin ); … … 275 264 <input type="hidden" name="action" value="delete-selected" /> 276 265 <?php 277 foreach ( (array) $plugins as $plugin )266 foreach ( (array) $plugins as $plugin ) 278 267 echo '<input type="hidden" name="checked[]" value="' . esc_attr($plugin) . '" />'; 279 268 ?> 280 <?php wp_nonce_field('bulk- manage-plugins') ?>269 <?php wp_nonce_field('bulk-plugins') ?> 281 270 <input type="submit" name="submit" value="<?php $data_to_delete ? esc_attr_e('Yes, Delete these files and data') : esc_attr_e('Yes, Delete these files') ?>" class="button" /> 282 271 </form> … … 296 285 </div> 297 286 <?php 298 require_once( './admin-footer.php');287 require_once(ABSPATH . 'wp-admin/admin-footer.php'); 299 288 exit; 300 289 } //Endif verify-delete … … 310 299 } 311 300 } 301 302 if ( is_multisite() && is_super_admin() ) { 303 $menu_perms = get_site_option('menu_items', array()); 304 if ( empty($menu_perms['plugins']) ) 305 add_action( 'admin_notices', '_admin_notice_multisite_activate_plugins_page' ); 306 unset($menu_perms); 307 } 308 309 $invalid = validate_active_plugins(); 310 311 require_once( ABSPATH . 'wp-admin/includes/default-list-tables.php' ); 312 313 $table = new WP_Plugins_Table; 312 314 313 315 wp_enqueue_script('plugin-install'); … … 329 331 require_once(ABSPATH . 'wp-admin/admin-header.php'); 330 332 331 $invalid = validate_active_plugins();332 333 if ( !empty($invalid) ) 333 334 foreach ( $invalid as $plugin_file => $error ) … … 375 376 <h2><?php echo esc_html( $title ); if ( current_user_can('install_plugins') ) { ?> <a href="plugin-install.php" class="button add-new-h2"><?php echo esc_html_x('Add New', 'plugin'); ?></a><?php } ?></h2> 376 377 377 <?php378 379 $all_plugins = apply_filters( 'all_plugins', get_plugins() );380 $search_plugins = array();381 $active_plugins = array();382 $inactive_plugins = array();383 $recent_plugins = array();384 $recently_activated = get_option('recently_activated', array());385 $upgrade_plugins = array();386 $mustuse_plugins = $dropins_plugins = array();387 if ( ! is_multisite() || ( is_network_admin() && current_user_can('manage_network_plugins') ) ) {388 if ( apply_filters( 'show_advanced_plugins', true, 'mustuse' ) )389 $mustuse_plugins = get_mu_plugins();390 if ( apply_filters( 'show_advanced_plugins', true, 'dropins' ) )391 $dropins_plugins = get_dropins();392 }393 394 set_transient( 'plugin_slugs', array_keys($all_plugins), 86400 );395 396 // Clean out any plugins which were deactivated over a week ago.397 foreach ( $recently_activated as $key => $time )398 if ( $time + (7*24*60*60) < time() ) //1 week399 unset($recently_activated[ $key ]);400 if ( $recently_activated != get_option('recently_activated') ) //If array changed, update it.401 update_option('recently_activated', $recently_activated);402 $current = get_site_transient( 'update_plugins' );403 404 foreach ( array( 'all_plugins', 'mustuse_plugins', 'dropins_plugins' ) as $plugin_array_name) {405 foreach ( (array) $$plugin_array_name as $plugin_file => $plugin_data ) {406 // Translate, Apply Markup, Sanitize HTML407 $plugin_data = _get_plugin_data_markup_translate($plugin_file, $plugin_data, false, true);408 ${$plugin_array_name}[ $plugin_file ] = $plugin_data;409 }410 }411 unset( $plugin_array_name );412 413 foreach ( (array) $all_plugins as $plugin_file => $plugin_data) {414 if ( is_network_admin() )415 $is_active = is_plugin_active_for_network($plugin_file);416 else417 $is_active = is_plugin_active($plugin_file);418 // Filter into individual sections419 if ( is_plugin_active_for_network($plugin_file) && !is_network_admin() ) {420 unset( $all_plugins[ $plugin_file ] );421 continue;422 } elseif ( is_multisite() && is_network_only_plugin( $plugin_file ) && !current_user_can( 'manage_network_plugins' ) ) {423 unset( $all_plugins[ $plugin_file ] );424 continue;425 } elseif ( $is_active ) {426 $active_plugins[ $plugin_file ] = $plugin_data;427 } else {428 if ( !is_network_admin() && isset( $recently_activated[ $plugin_file ] ) ) // Was the plugin recently activated?429 $recent_plugins[ $plugin_file ] = $plugin_data;430 $inactive_plugins[ $plugin_file ] = $plugin_data;431 }432 433 if ( isset( $current->response[ $plugin_file ] ) )434 $upgrade_plugins[ $plugin_file ] = $plugin_data;435 }436 437 if ( !current_user_can('update_plugins') )438 $upgrade_plugins = array();439 440 $total_all_plugins = count($all_plugins);441 $total_inactive_plugins = count($inactive_plugins);442 $total_active_plugins = count($active_plugins);443 $total_recent_plugins = count($recent_plugins);444 $total_upgrade_plugins = count($upgrade_plugins);445 $total_mustuse_plugins = count($mustuse_plugins);446 $total_dropins_plugins = count($dropins_plugins);447 448 // Searching.449 if ( !empty($_GET['s']) ) {450 function _search_plugins_filter_callback($plugin) {451 static $term;452 if ( is_null($term) )453 $term = stripslashes($_GET['s']);454 if ( stripos($plugin['Name'], $term) !== false ||455 stripos($plugin['Description'], $term) !== false ||456 stripos($plugin['Author'], $term) !== false ||457 stripos($plugin['PluginURI'], $term) !== false ||458 stripos($plugin['AuthorURI'], $term) !== false ||459 stripos($plugin['Version'], $term) !== false )460 return true;461 else462 return false;463 }464 $status = 'search';465 $search_plugins = array_filter($all_plugins, '_search_plugins_filter_callback');466 $total_search_plugins = count($search_plugins);467 }468 469 $plugin_array_name = "${status}_plugins";470 if ( empty($$plugin_array_name) && !in_array($status, array('all', 'search')) ) {471 $status = 'all';472 $plugin_array_name = "${status}_plugins";473 }474 475 $plugins = &$$plugin_array_name;476 477 // Paging.478 $total_this_page = "total_{$status}_plugins";479 $total_this_page = $$total_this_page;480 $plugins_per_page = (int) get_user_option( 'plugins_per_page' );481 if ( empty( $plugins_per_page ) || $plugins_per_page < 1 )482 $plugins_per_page = 999;483 $plugins_per_page = apply_filters( 'plugins_per_page', $plugins_per_page );484 485 $start = ($page - 1) * $plugins_per_page;486 487 $page_links = paginate_links( array(488 'base' => add_query_arg( 'paged', '%#%' ),489 'format' => '',490 'prev_text' => __('«'),491 'next_text' => __('»'),492 'total' => ceil($total_this_page / $plugins_per_page),493 'current' => $page494 ));495 $page_links_text = sprintf( '<span class="displaying-num">' . __( 'Displaying %s–%s of %s' ) . '</span>%s',496 number_format_i18n( $start + 1 ),497 number_format_i18n( min( $page * $plugins_per_page, $total_this_page ) ),498 '<span class="total-type-count">' . number_format_i18n( $total_this_page ) . '</span>',499 $page_links500 );501 502 /**503 * @ignore504 *505 * @param array $plugins506 * @param string $context507 */508 function print_plugins_table($plugins, $context = '') {509 global $page;510 $checkbox = ! in_array( $context, array( 'mustuse', 'dropins' ) ) ? '<input type="checkbox" />' : '';511 ?>512 <table class="widefat" cellspacing="0" id="<?php echo $context ?>-plugins-table">513 <thead>514 <tr>515 <th scope="col" class="manage-column check-column"><?php echo $checkbox; ?></th>516 <th scope="col" class="manage-column"><?php _e('Plugin'); ?></th>517 <th scope="col" class="manage-column"><?php _e('Description'); ?></th>518 </tr>519 </thead>520 521 <tfoot>522 <tr>523 <th scope="col" class="manage-column check-column"><?php echo $checkbox; ?></th>524 <th scope="col" class="manage-column"><?php _e('Plugin'); ?></th>525 <th scope="col" class="manage-column"><?php _e('Description'); ?></th>526 </tr>527 </tfoot>528 529 <tbody class="plugins">530 <?php531 532 if ( empty($plugins) ) {533 echo '<tr>534 <td colspan="3">' . __('No plugins to show') . '</td>535 </tr>';536 }537 foreach ( (array)$plugins as $plugin_file => $plugin_data) {538 // preorder539 $actions = array(540 'network_deactivate' => '', 'deactivate' => '',541 'network_only' => '', 'activate' => '',542 'network_activate' => '',543 'edit' => '',544 'delete' => '',545 );546 547 if ( 'mustuse' == $context ) {548 if ( is_multisite() && !is_network_admin() )549 continue;550 $is_active = true;551 } elseif ( 'dropins' == $context ) {552 if ( is_multisite() && !is_network_admin() )553 continue;554 $dropins = _get_dropins();555 $plugin_name = $plugin_file;556 if ( $plugin_file != $plugin_data['Name'] )557 $plugin_name .= '<br/>' . $plugin_data['Name'];558 if ( true === ( $dropins[ $plugin_file ][1] ) ) { // Doesn't require a constant559 $is_active = true;560 $description = '<p><strong>' . $dropins[ $plugin_file ][0] . '</strong></p>';561 } elseif ( constant( $dropins[ $plugin_file ][1] ) ) { // Constant is true562 $is_active = true;563 $description = '<p><strong>' . $dropins[ $plugin_file ][0] . '</strong></p>';564 } else {565 $is_active = false;566 $description = '<p><strong>' . $dropins[ $plugin_file ][0] . ' <span class="attention">' . __('Inactive:') . '</span></strong> ' . sprintf( __( 'Requires <code>%s</code> in <code>wp-config.php</code>.' ), "define('" . $dropins[ $plugin_file ][1] . "', true);" ) . '</p>';567 }568 if ( $plugin_data['Description'] )569 $description .= '<p>' . $plugin_data['Description'] . '</p>';570 } else {571 $is_active_for_network = is_plugin_active_for_network($plugin_file);572 if ( is_network_admin() )573 $is_active = $is_active_for_network;574 else575 $is_active = is_plugin_active( $plugin_file );576 577 if ( $is_active_for_network && !is_super_admin() && !is_network_admin() )578 continue;579 580 if ( is_network_admin() ) {581 if ( $is_active_for_network ) {582 if ( current_user_can( 'manage_network_plugins' ) )583 $actions['network_deactivate'] = '<a href="' . wp_nonce_url('plugins.php?action=deactivate&networkwide=1&plugin=' . $plugin_file . '&plugin_status=' . $context . '&paged=' . $page, 'deactivate-plugin_' . $plugin_file) . '" title="' . __('Deactivate this plugin') . '">' . __('Network Deactivate') . '</a>';584 } else {585 if ( current_user_can( 'manage_network_plugins' ) )586 $actions['network_activate'] = '<a href="' . wp_nonce_url('plugins.php?action=activate&networkwide=1&plugin=' . $plugin_file . '&plugin_status=' . $context . '&paged=' . $page, 'activate-plugin_' . $plugin_file) . '" title="' . __('Activate this plugin for all sites in this network') . '" class="edit">' . __('Network Activate') . '</a>';587 if ( current_user_can('delete_plugins') )588 $actions['delete'] = '<a href="' . wp_nonce_url('plugins.php?action=delete-selected&checked[]=' . $plugin_file . '&plugin_status=' . $context . '&paged=' . $page, 'bulk-manage-plugins') . '" title="' . __('Delete this plugin') . '" class="delete">' . __('Delete') . '</a>';589 }590 } else {591 if ( $is_active ) {592 $actions['deactivate'] = '<a href="' . wp_nonce_url('plugins.php?action=deactivate&plugin=' . $plugin_file . '&plugin_status=' . $context . '&paged=' . $page, 'deactivate-plugin_' . $plugin_file) . '" title="' . __('Deactivate this plugin') . '">' . __('Deactivate') . '</a>';593 } else {594 if ( is_network_only_plugin( $plugin_file ) && !is_network_admin() )595 continue;596 597 $actions['activate'] = '<a href="' . wp_nonce_url('plugins.php?action=activate&plugin=' . $plugin_file . '&plugin_status=' . $context . '&paged=' . $page, 'activate-plugin_' . $plugin_file) . '" title="' . __('Activate this plugin') . '" class="edit">' . __('Activate') . '</a>';598 599 if ( current_user_can('delete_plugins') )600 $actions['delete'] = '<a href="' . wp_nonce_url('plugins.php?action=delete-selected&checked[]=' . $plugin_file . '&plugin_status=' . $context . '&paged=' . $page, 'bulk-manage-plugins') . '" title="' . __('Delete this plugin') . '" class="delete">' . __('Delete') . '</a>';601 } // end if $is_active602 } // end if is_network_admin()603 604 if ( current_user_can('edit_plugins') && is_writable(WP_PLUGIN_DIR . '/' . $plugin_file) )605 $actions['edit'] = '<a href="plugin-editor.php?file=' . $plugin_file . '" title="' . __('Open this file in the Plugin Editor') . '" class="edit">' . __('Edit') . '</a>';606 } // end if $context607 608 $actions = apply_filters( 'plugin_action_links', array_filter( $actions ), $plugin_file, $plugin_data, $context );609 $actions = apply_filters( "plugin_action_links_$plugin_file", $actions, $plugin_file, $plugin_data, $context );610 611 $class = $is_active ? 'active' : 'inactive';612 $checkbox = in_array( $context, array( 'mustuse', 'dropins' ) ) ? '' : "<input type='checkbox' name='checked[]' value='" . esc_attr($plugin_file) . "' />";613 if ( 'dropins' != $context ) {614 $description = '<p>' . $plugin_data['Description'] . '</p>';615 $plugin_name = $plugin_data['Name'];616 }617 echo "618 <tr class='$class'>619 <th scope='row' class='check-column'>$checkbox</th>620 <td class='plugin-title'><strong>$plugin_name</strong></td>621 <td class='desc'>$description</td>622 </tr>623 <tr class='$class second'>624 <td></td>625 <td class='plugin-title'>";626 echo '<div class="row-actions-visible">';627 foreach ( $actions as $action => $link ) {628 $sep = end($actions) == $link ? '' : ' | ';629 echo "<span class='$action'>$link$sep</span>";630 }631 echo "</div></td>632 <td class='desc'>";633 $plugin_meta = array();634 if ( !empty($plugin_data['Version']) )635 $plugin_meta[] = sprintf(__('Version %s'), $plugin_data['Version']);636 if ( !empty($plugin_data['Author']) ) {637 $author = $plugin_data['Author'];638 if ( !empty($plugin_data['AuthorURI']) )639 $author = '<a href="' . $plugin_data['AuthorURI'] . '" title="' . __( 'Visit author homepage' ) . '">' . $plugin_data['Author'] . '</a>';640 $plugin_meta[] = sprintf( __('By %s'), $author );641 }642 if ( ! empty($plugin_data['PluginURI']) )643 $plugin_meta[] = '<a href="' . $plugin_data['PluginURI'] . '" title="' . __( 'Visit plugin site' ) . '">' . __('Visit plugin site') . '</a>';644 645 $plugin_meta = apply_filters('plugin_row_meta', $plugin_meta, $plugin_file, $plugin_data, $context);646 echo implode(' | ', $plugin_meta);647 echo "</td>648 </tr>\n";649 650 do_action( 'after_plugin_row', $plugin_file, $plugin_data, $context );651 do_action( "after_plugin_row_$plugin_file", $plugin_file, $plugin_data, $context );652 }653 ?>654 </tbody>655 </table>656 <?php657 } //End print_plugins_table()658 659 /**660 * @ignore661 *662 * @param string $context663 */664 function print_plugin_actions($context, $field_name = 'action' ) {665 if ( in_array( $context, array( 'mustuse', 'dropins' ) ) )666 return;667 ?>668 <div class="alignleft actions">669 <select name="<?php echo $field_name; ?>">670 <option value="" selected="selected"><?php _e('Bulk Actions'); ?></option>671 <?php if ( 'active' != $context ) : ?>672 <option value="activate-selected"><?php _e('Activate'); ?></option>673 <?php endif; ?>674 <?php if ( is_multisite() && 'network' != $context ) : ?>675 <option value="network-activate-selected"><?php _e('Network Activate'); ?></option>676 <?php endif; ?>677 <?php if ( 'inactive' != $context && 'recent' != $context ) : ?>678 <option value="deactivate-selected"><?php _e('Deactivate'); ?></option>679 <?php endif; ?>680 <?php if ( current_user_can( 'update_plugins' ) ) : ?>681 <option value="update-selected"><?php _e( 'Upgrade' ); ?></option>682 <?php endif; ?>683 <?php if ( current_user_can('delete_plugins') && ( 'active' != $context ) ) : ?>684 <option value="delete-selected"><?php _e('Delete'); ?></option>685 <?php endif; ?>686 </select>687 <input type="submit" name="doaction_active" value="<?php esc_attr_e('Apply'); ?>" class="button-secondary action" />688 <?php if ( 'recent' == $context ) : ?>689 <input type="submit" name="clear-recent-list" value="<?php esc_attr_e('Clear List') ?>" class="button-secondary" />690 <?php endif; ?>691 </div>692 <?php693 }694 ?>695 696 378 <form method="get" action=""> 697 379 <p class="search-box"> … … 702 384 </form> 703 385 704 <?php do_action( 'pre_current_active_plugins', $all_plugins ) ?> 705 706 <form method="post" action="plugins.php"> 707 <?php wp_nonce_field('bulk-manage-plugins') ?> 386 <?php do_action( 'pre_current_active_plugins', $plugins['all'] ) ?> 387 388 <form method="post" action=""> 708 389 <input type="hidden" name="plugin_status" value="<?php echo esc_attr($status) ?>" /> 709 390 <input type="hidden" name="paged" value="<?php echo esc_attr($page) ?>" /> … … 711 392 <ul class="subsubsub"> 712 393 <?php 394 713 395 $status_links = array(); 714 $class = ( 'all' == $status ) ? ' class="current"' : ''; 715 $status_links[] = "<li><a href='plugins.php?plugin_status=all' $class>" . sprintf( _nx( 'All <span class="count">(%s)</span>', 'All <span class="count">(%s)</span>', $total_all_plugins, 'plugins' ), number_format_i18n( $total_all_plugins ) ) . '</a>'; 716 if ( ! empty($active_plugins) ) { 717 $class = ( 'active' == $status ) ? ' class="current"' : ''; 718 $status_links[] = "<li><a href='plugins.php?plugin_status=active' $class>" . sprintf( _n( 'Active <span class="count">(%s)</span>', 'Active <span class="count">(%s)</span>', $total_active_plugins ), number_format_i18n( $total_active_plugins ) ) . '</a>'; 719 } 720 if ( ! empty($recent_plugins) ) { 721 $class = ( 'recent' == $status ) ? ' class="current"' : ''; 722 $status_links[] = "<li><a href='plugins.php?plugin_status=recent' $class>" . sprintf( _n( 'Recently Active <span class="count">(%s)</span>', 'Recently Active <span class="count">(%s)</span>', $total_recent_plugins ), number_format_i18n( $total_recent_plugins ) ) . '</a>'; 723 } 724 if ( ! empty($inactive_plugins) ) { 725 $class = ( 'inactive' == $status ) ? ' class="current"' : ''; 726 $status_links[] = "<li><a href='plugins.php?plugin_status=inactive' $class>" . sprintf( _n( 'Inactive <span class="count">(%s)</span>', 'Inactive <span class="count">(%s)</span>', $total_inactive_plugins ), number_format_i18n( $total_inactive_plugins ) ) . '</a>'; 727 } 728 if ( ! empty($network_plugins) ) { 729 $class = ( 'network' == $status ) ? ' class="current"' : ''; 730 $status_links[] = "<li><a href='plugins.php?plugin_status=network' $class>" . sprintf( _n( 'Network <span class="count">(%s)</span>', 'Network <span class="count">(%s)</span>', $total_network_plugins ), number_format_i18n( $total_network_plugins ) ) . '</a>'; 731 } 732 if ( ! empty($mustuse_plugins) ) { 733 $class = ( 'mustuse' == $status ) ? ' class="current"' : ''; 734 $status_links[] = "<li><a href='plugins.php?plugin_status=mustuse' $class>" . sprintf( _n( 'Must-Use <span class="count">(%s)</span>', 'Must-Use <span class="count">(%s)</span>', $total_mustuse_plugins ), number_format_i18n( $total_mustuse_plugins ) ) . '</a>'; 735 } 736 if ( ! empty($dropins_plugins) ) { 737 $class = ( 'dropins' == $status ) ? ' class="current"' : ''; 738 $status_links[] = "<li><a href='plugins.php?plugin_status=dropins' $class>" . sprintf( _n( 'Drop-ins <span class="count">(%s)</span>', 'Drop-ins <span class="count">(%s)</span>', $total_dropins_plugins ), number_format_i18n( $total_dropins_plugins ) ) . '</a>'; 739 } 740 if ( ! empty($upgrade_plugins) ) { 741 $class = ( 'upgrade' == $status ) ? ' class="current"' : ''; 742 $status_links[] = "<li><a href='plugins.php?plugin_status=upgrade' $class>" . sprintf( _n( 'Upgrade Available <span class="count">(%s)</span>', 'Upgrade Available <span class="count">(%s)</span>', $total_upgrade_plugins ), number_format_i18n( $total_upgrade_plugins ) ) . '</a>'; 743 } 744 if ( ! empty($search_plugins) ) { 745 $class = ( 'search' == $status ) ? ' class="current"' : ''; 746 $term = isset($_REQUEST['s']) ? urlencode(stripslashes($_REQUEST['s'])) : ''; 747 $status_links[] = "<li><a href='plugins.php?s=$term' $class>" . sprintf( _n( 'Search Results <span class="count">(%s)</span>', 'Search Results <span class="count">(%s)</span>', $total_search_plugins ), number_format_i18n( $total_search_plugins ) ) . '</a>'; 396 foreach ( $totals as $type => $count ) { 397 if ( !$count ) 398 continue; 399 400 switch ( $type ) { 401 case 'all': 402 $text = _nx( 'All <span class="count">(%s)</span>', 'All <span class="count">(%s)</span>', $count, 'plugins' ); 403 break; 404 case 'active': 405 $text = _n( 'Active <span class="count">(%s)</span>', 'Active <span class="count">(%s)</span>', $count ); 406 break; 407 case 'recently_activated': 408 $text = _n( 'Recently Active <span class="count">(%s)</span>', 'Recently Active <span class="count">(%s)</span>', $count ); 409 break; 410 case 'inactive': 411 $text = _n( 'Inactive <span class="count">(%s)</span>', 'Inactive <span class="count">(%s)</span>', $count ); 412 break; 413 case 'network': 414 $text = _n( 'Network <span class="count">(%s)</span>', 'Network <span class="count">(%s)</span>', $count ); 415 break; 416 case 'mustuse': 417 $text = _n( 'Must-Use <span class="count">(%s)</span>', 'Must-Use <span class="count">(%s)</span>', $count ); 418 break; 419 case 'dropins': 420 $text = _n( 'Drop-ins <span class="count">(%s)</span>', 'Drop-ins <span class="count">(%s)</span>', $count ); 421 break; 422 case 'upgrade': 423 $text = _n( 'Upgrade Available <span class="count">(%s)</span>', 'Upgrade Available <span class="count">(%s)</span>', $count ); 424 break; 425 case 'search': 426 $text = _n( 'Search Results <span class="count">(%s)</span>', 'Search Results <span class="count">(%s)</span>', $count ); 427 break; 428 } 429 430 $status_links[] = sprintf( "<li><a href='%s' %s>%s</a>", 431 add_query_arg('plugin_status', $type, 'plugins.php'), 432 ( $type == $status ) ? ' class="current"' : '', 433 sprintf( $text, number_format_i18n( $count ) ) 434 ); 748 435 } 749 436 echo implode( " |</li>\n", $status_links ) . '</li>'; … … 754 441 <?php 755 442 if ( 'mustuse' == $status ) 756 echo '< div class="clear"></div><p>' . __( 'Files in the <code>/wp-content/mu-plugins</code> directory are executed automatically.' ) . '</p>';443 echo '<br class="clear"><p>' . __( 'Files in the <code>/wp-content/mu-plugins</code> directory are executed automatically.' ) . '</p>'; 757 444 elseif ( 'dropins' == $status ) 758 echo '<div class="clear"></div><p>' . __( 'Drop-ins are advanced plugins in the <code>/wp-content</code> directory that replace WordPress functionality when present.' ) . '</p>'; 759 760 if ( !empty( $plugins ) && ( ! in_array( $status, array( 'mustuse', 'dropins' ) ) || $page_links ) ) : 445 echo '<br class="clear"><p>' . __( 'Drop-ins are advanced plugins in the <code>/wp-content</code> directory that replace WordPress functionality when present.' ) . '</p>'; 761 446 ?> 762 <div class="tablenav"> 763 <?php 764 if ( $page_links ) 765 echo '<div class="tablenav-pages">', $page_links_text, '</div>'; 766 767 print_plugin_actions($status); 768 ?> 769 </div> 770 <div class="clear"></div> 771 <?php 772 endif; 773 774 if ( $total_this_page > $plugins_per_page ) 775 $plugins = array_slice($plugins, $start, $plugins_per_page); 776 777 print_plugins_table($plugins, $status); 778 779 if ( !empty( $plugins ) && ! in_array( $status, array( 'mustuse', 'dropins' ) ) || $page_links ) { 780 ?> 781 <div class="tablenav"> 782 <?php 783 if ( $page_links ) 784 echo "<div class='tablenav-pages'>$page_links_text</div>"; 785 786 print_plugin_actions($status, "action2"); 787 ?> 788 </div> 789 <?php } ?> 447 448 <?php $table->display(); ?> 790 449 </form> 791 792 <?php if ( empty($all_plugins) ) : ?>793 <br class="clear" />794 <p><?php _e('You do not appear to have any plugins available at this time.') ?></p>795 <?php endif; ?>796 450 797 451 </div> … … 799 453 <?php 800 454 include(ABSPATH . 'wp-admin/admin-footer.php'); 801 ?> -
trunk/wp-admin/theme-install.php
r15160 r15491 13 13 wp_die(__('You do not have sufficient permissions to install themes on this site.')); 14 14 15 include(ABSPATH . 'wp-admin/includes/theme-install.php'); 15 require_once( './includes/default-list-tables.php' ); 16 17 $table = new WP_Theme_Install_Table; 16 18 17 19 $title = __('Install Themes'); … … 19 21 $submenu_file = 'themes.php'; 20 22 21 wp_reset_vars( array('tab', 'paged') );22 23 wp_enqueue_style( 'theme-install' ); 23 24 wp_enqueue_script( 'theme-install' ); … … 25 26 add_thickbox(); 26 27 wp_enqueue_script( 'theme-preview' ); 27 28 //These are the tabs which are shown on the page,29 $tabs = array();30 $tabs['dashboard'] = __('Search');31 if ( 'search' == $tab )32 $tabs['search'] = __('Search Results');33 $tabs['upload'] = __('Upload');34 $tabs['featured'] = _x('Featured','Theme Installer');35 //$tabs['popular'] = _x('Popular','Theme Installer');36 $tabs['new'] = _x('Newest','Theme Installer');37 $tabs['updated'] = _x('Recently Updated','Theme Installer');38 39 $nonmenu_tabs = array('theme-information'); //Valid actions to perform which do not have a Menu item.40 41 $tabs = apply_filters('install_themes_tabs', $tabs );42 $nonmenu_tabs = apply_filters('install_themes_nonmenu_tabs', $nonmenu_tabs);43 44 //If a non-valid menu tab has been selected, And its not a non-menu action.45 if ( empty($tab) || ( ! isset($tabs[ $tab ]) && ! in_array($tab, (array)$nonmenu_tabs) ) ) {46 $tab_actions = array_keys($tabs);47 $tab = $tab_actions[0];48 }49 if ( empty($paged) )50 $paged = 1;51 28 52 29 $body_id = $tab; … … 71 48 <?php 72 49 $display_tabs = array(); 73 foreach ( (array) $tabs as $action => $text ) {50 foreach ( (array) $tabs as $action => $text ) { 74 51 $sep = ( end($tabs) != $text ) ? ' | ' : ''; 75 52 $class = ( $action == $tab ) ? ' class="current"' : ''; … … 84 61 <?php 85 62 include('./admin-footer.php'); 63 -
trunk/wp-admin/themes.php
r15135 r15491 28 28 } 29 29 } 30 31 require_once( './includes/default-list-tables.php' ); 32 33 $table = new WP_Themes_Table; 30 34 31 35 $title = __('Manage Themes'); … … 66 70 <div id="message3" class="updated"><p><?php _e('Theme deleted.') ?></p></div> 67 71 <?php endif; ?> 68 <?php69 $themes = get_allowed_themes();70 $ct = current_theme_info();71 unset($themes[$ct->name]);72 73 uksort( $themes, "strnatcasecmp" );74 $theme_total = count( $themes );75 $per_page = 15;76 77 if ( isset( $_GET['pagenum'] ) )78 $page = absint( $_GET['pagenum'] );79 80 if ( empty($page) )81 $page = 1;82 83 $start = $offset = ( $page - 1 ) * $per_page;84 85 $page_links = paginate_links( array(86 'base' => add_query_arg( 'pagenum', '%#%' ) . '#themenav',87 'format' => '',88 'prev_text' => __('«'),89 'next_text' => __('»'),90 'total' => ceil($theme_total / $per_page),91 'current' => $page92 ));93 94 $themes = array_slice( $themes, $start, $per_page );95 ?>96 72 97 73 <div class="wrap"> … … 120 96 </div> 121 97 122 < div class="clear"></div>98 <br class="clear"> 123 99 <?php 124 100 if ( ! current_user_can( 'switch_themes' ) ) { … … 129 105 ?> 130 106 <h3><?php _e('Available Themes'); ?></h3> 131 <div class="clear"></div>132 107 133 <?php if ( $theme_total ) { ?> 134 135 <?php if ( $page_links ) : ?> 136 <div class="tablenav"> 137 <div class="tablenav-pages"><?php $page_links_text = sprintf( '<span class="displaying-num">' . __( 'Displaying %s–%s of %s' ) . '</span>%s', 138 number_format_i18n( $start + 1 ), 139 number_format_i18n( min( $page * $per_page, $theme_total ) ), 140 number_format_i18n( $theme_total ), 141 $page_links 142 ); echo $page_links_text; ?></div> 143 </div> 144 <?php endif; ?> 145 146 <table id="availablethemes" cellspacing="0" cellpadding="0"> 147 <?php 148 $style = ''; 149 150 $theme_names = array_keys($themes); 151 natcasesort($theme_names); 152 153 $table = array(); 154 $rows = ceil(count($theme_names) / 3); 155 for ( $row = 1; $row <= $rows; $row++ ) 156 for ( $col = 1; $col <= 3; $col++ ) 157 $table[$row][$col] = array_shift($theme_names); 158 159 foreach ( $table as $row => $cols ) { 160 ?> 161 <tr> 162 <?php 163 foreach ( $cols as $col => $theme_name ) { 164 $class = array('available-theme'); 165 if ( $row == 1 ) $class[] = 'top'; 166 if ( $col == 1 ) $class[] = 'left'; 167 if ( $row == $rows ) $class[] = 'bottom'; 168 if ( $col == 3 ) $class[] = 'right'; 169 ?> 170 <td class="<?php echo join(' ', $class); ?>"> 171 <?php if ( !empty($theme_name) ) : 172 $template = $themes[$theme_name]['Template']; 173 $stylesheet = $themes[$theme_name]['Stylesheet']; 174 $title = $themes[$theme_name]['Title']; 175 $version = $themes[$theme_name]['Version']; 176 $description = $themes[$theme_name]['Description']; 177 $author = $themes[$theme_name]['Author']; 178 $screenshot = $themes[$theme_name]['Screenshot']; 179 $stylesheet_dir = $themes[$theme_name]['Stylesheet Dir']; 180 $template_dir = $themes[$theme_name]['Template Dir']; 181 $parent_theme = $themes[$theme_name]['Parent Theme']; 182 $theme_root = $themes[$theme_name]['Theme Root']; 183 $theme_root_uri = $themes[$theme_name]['Theme Root URI']; 184 $preview_link = esc_url(get_option('home') . '/'); 185 if ( is_ssl() ) 186 $preview_link = str_replace( 'http://', 'https://', $preview_link ); 187 $preview_link = htmlspecialchars( add_query_arg( array('preview' => 1, 'template' => $template, 'stylesheet' => $stylesheet, 'TB_iframe' => 'true' ), $preview_link ) ); 188 $preview_text = esc_attr( sprintf( __('Preview of “%s”'), $title ) ); 189 $tags = $themes[$theme_name]['Tags']; 190 $thickbox_class = 'thickbox thickbox-preview'; 191 $activate_link = wp_nonce_url("themes.php?action=activate&template=".urlencode($template)."&stylesheet=".urlencode($stylesheet), 'switch-theme_' . $template); 192 $activate_text = esc_attr( sprintf( __('Activate “%s”'), $title ) ); 193 $actions = array(); 194 $actions[] = '<a href="' . $activate_link . '" class="activatelink" title="' . $activate_text . '">' . __('Activate') . '</a>'; 195 $actions[] = '<a href="' . $preview_link . '" class="thickbox thickbox-preview" title="' . esc_attr(sprintf(__('Preview “%s”'), $theme_name)) . '">' . __('Preview') . '</a>'; 196 if ( current_user_can('delete_themes') ) 197 $actions[] = '<a class="submitdelete deletion" href="' . wp_nonce_url("themes.php?action=delete&template=$stylesheet", 'delete-theme_' . $stylesheet) . '" onclick="' . "return confirm('" . esc_js(sprintf( __("You are about to delete this theme '%s'\n 'Cancel' to stop, 'OK' to delete."), $theme_name )) . "');" . '">' . __('Delete') . '</a>'; 198 $actions = apply_filters('theme_action_links', $actions, $themes[$theme_name]); 199 200 $actions = implode ( ' | ', $actions ); 201 ?> 202 <a href="<?php echo $preview_link; ?>" class="<?php echo $thickbox_class; ?> screenshot"> 203 <?php if ( $screenshot ) : ?> 204 <img src="<?php echo $theme_root_uri . '/' . $stylesheet . '/' . $screenshot; ?>" alt="" /> 205 <?php endif; ?> 206 </a> 207 <h3><?php 208 /* translators: 1: theme title, 2: theme version, 3: theme author */ 209 printf(__('%1$s %2$s by %3$s'), $title, $version, $author) ; ?></h3> 210 <p class="description"><?php echo $description; ?></p> 211 <span class='action-links'><?php echo $actions ?></span> 212 <?php if ( current_user_can('edit_themes') && $parent_theme ) { 213 /* translators: 1: theme title, 2: template dir, 3: stylesheet_dir, 4: theme title, 5: parent_theme */ ?> 214 <p><?php printf(__('The template files are located in <code>%2$s</code>. The stylesheet files are located in <code>%3$s</code>. <strong>%4$s</strong> uses templates from <strong>%5$s</strong>. Changes made to the templates will affect both themes.'), $title, str_replace( WP_CONTENT_DIR, '', $template_dir ), str_replace( WP_CONTENT_DIR, '', $stylesheet_dir ), $title, $parent_theme); ?></p> 215 <?php } else { ?> 216 <p><?php printf(__('All of this theme’s files are located in <code>%2$s</code>.'), $title, str_replace( WP_CONTENT_DIR, '', $template_dir ), str_replace( WP_CONTENT_DIR, '', $stylesheet_dir ) ); ?></p> 217 <?php } ?> 218 <?php if ( $tags ) : ?> 219 <p><?php _e('Tags:'); ?> <?php echo join(', ', $tags); ?></p> 220 <?php endif; ?> 221 <?php theme_update_available( $themes[$theme_name] ); ?> 222 <?php endif; // end if not empty theme_name ?> 223 </td> 224 <?php } // end foreach $cols ?> 225 </tr> 226 <?php } // end foreach $table ?> 227 </table> 228 <?php } else { ?> 229 <p><?php 230 if ( current_user_can('install_themes') ) 231 printf(__('You only have one theme installed right now. Live a little! You can choose from over 1,000 free themes in the WordPress.org Theme Directory at any time: just click on the <em><a href="%s">Install Themes</a></em> tab above.'), 'theme-install.php'); 232 else 233 printf(__('Only the current theme is available to you. Contact the %s administrator for information about accessing additional themes.'), get_site_option('site_name')); 234 ?></p> 235 <?php } // end if $theme_total?> 236 <br class="clear" /> 237 238 <?php if ( $page_links ) : ?> 239 <div class="tablenav"> 240 <?php echo "<div class='tablenav-pages'>$page_links_text</div>"; ?> 241 <br class="clear" /> 242 </div> 243 <?php endif; ?> 108 <?php $table->display(); ?> 244 109 245 110 <br class="clear" /> -
trunk/wp-admin/upload.php
r15132 r15491 8 8 9 9 /** WordPress Administration Bootstrap */ 10 require_once('./admin.php'); 10 require_once( './admin.php' ); 11 12 if ( !current_user_can('upload_files') ) 13 wp_die(__('You do not have permission to upload files.')); 14 15 // Handle bulk actions 16 if ( isset( $_REQUEST['found_post_id'] ) && isset( $_REQUEST['media'] ) ) { 17 check_admin_referer( 'bulk-media' ); 18 19 $parent_id = (int) $_REQUEST['found_post_id']; 20 if ( !$parent_id ) 21 return; 22 23 $parent = &get_post( $parent_id ); 24 if ( !current_user_can( 'edit_post', $parent_id ) ) 25 wp_die( __( 'You are not allowed to edit this post.' ) ); 26 27 $attach = array(); 28 foreach ( (array) $_REQUEST['media'] as $att_id ) { 29 $att_id = (int) $att_id; 30 31 if ( !current_user_can( 'edit_post', $att_id ) ) 32 continue; 33 34 $attach[] = $att_id; 35 clean_attachment_cache( $att_id ); 36 } 37 38 if ( ! empty( $attach ) ) { 39 $attach = implode( ',', $attach ); 40 $attached = $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->posts SET post_parent = %d WHERE post_type = 'attachment' AND ID IN ( $attach )", $parent_id ) ); 41 } 42 43 if ( isset( $attached ) ) { 44 $location = 'upload.php'; 45 if ( $referer = wp_get_referer() ) { 46 if ( false !== strpos( $referer, 'upload.php' ) ) 47 $location = $referer; 48 } 49 50 $location = add_query_arg( array( 'attached' => $attached ) , $location ); 51 wp_redirect( $location ); 52 exit; 53 } 54 55 } elseif ( isset( $_REQUEST['doaction'] ) || isset( $_REQUEST['doaction2'] ) || isset( $_REQUEST['delete_all'] ) || isset( $_REQUEST['delete_all2'] ) ) { 56 check_admin_referer( 'bulk-media' ); 57 58 if ( isset( $_REQUEST['delete_all'] ) || isset( $_REQUEST['delete_all2'] ) ) { 59 $post_ids = $wpdb->get_col( "SELECT ID FROM $wpdb->posts WHERE post_type='attachment' AND post_status = 'trash'" ); 60 $doaction = 'delete'; 61 } elseif ( ( $_REQUEST['action'] != -1 || $_REQUEST['action2'] != -1 ) && ( isset( $_REQUEST['media'] ) || isset( $_REQUEST['ids'] ) ) ) { 62 $post_ids = isset( $_REQUEST['media'] ) ? $_REQUEST['media'] : explode( ',', $_REQUEST['ids'] ); 63 $doaction = ( $_REQUEST['action'] != -1 ) ? $_REQUEST['action'] : $_REQUEST['action2']; 64 } else { 65 wp_redirect( $_SERVER['HTTP_REFERER'] ); 66 } 67 68 $location = 'upload.php'; 69 if ( $referer = wp_get_referer() ) { 70 if ( false !== strpos( $referer, 'upload.php' ) ) 71 $location = remove_query_arg( array( 'trashed', 'untrashed', 'deleted', 'message', 'ids', 'posted' ), $referer ); 72 } 73 74 switch ( $doaction ) { 75 case 'trash': 76 foreach ( (array) $post_ids as $post_id ) { 77 if ( !current_user_can( 'delete_post', $post_id ) ) 78 wp_die( __( 'You are not allowed to move this post to the trash.' ) ); 79 80 if ( !wp_trash_post( $post_id ) ) 81 wp_die( __( 'Error in moving to trash...' ) ); 82 } 83 $location = add_query_arg( array( 'trashed' => count( $post_ids ), 'ids' => join( ',', $post_ids ) ), $location ); 84 break; 85 case 'untrash': 86 foreach ( (array) $post_ids as $post_id ) { 87 if ( !current_user_can( 'delete_post', $post_id ) ) 88 wp_die( __( 'You are not allowed to move this post out of the trash.' ) ); 89 90 if ( !wp_untrash_post( $post_id ) ) 91 wp_die( __( 'Error in restoring from trash...' ) ); 92 } 93 $location = add_query_arg( 'untrashed', count( $post_ids ), $location ); 94 break; 95 case 'delete': 96 foreach ( (array) $post_ids as $post_id_del ) { 97 if ( !current_user_can( 'delete_post', $post_id_del ) ) 98 wp_die( __( 'You are not allowed to delete this post.' ) ); 99 100 if ( !wp_delete_attachment( $post_id_del ) ) 101 wp_die( __( 'Error in deleting...' ) ); 102 } 103 $location = add_query_arg( 'deleted', count( $post_ids ), $location ); 104 break; 105 } 106 107 wp_redirect( $location ); 108 exit; 109 } elseif ( ! empty( $_REQUEST['_wp_http_referer'] ) ) { 110 wp_redirect( remove_query_arg( array( '_wp_http_referer', '_wpnonce' ), stripslashes( $_SERVER['REQUEST_URI'] ) ) ); 111 exit; 112 } 113 114 require_once( './includes/default-list-tables.php' ); 115 116 $table = new WP_Media_Table; 117 118 $title = __('Media Library'); 119 $parent_file = 'upload.php'; 120 11 121 wp_enqueue_script( 'wp-ajax-response' ); 12 122 wp_enqueue_script( 'jquery-ui-draggable' ); 13 14 if ( !current_user_can('upload_files') ) 15 wp_die(__('You do not have permission to upload files.')); 16 17 if ( isset($_GET['find_detached']) ) { 18 check_admin_referer('bulk-media'); 19 20 if ( !current_user_can('edit_posts') ) 21 wp_die( __('You are not allowed to scan for lost attachments.') ); 22 23 $lost = $wpdb->get_col("SELECT ID FROM $wpdb->posts WHERE post_type = 'attachment' AND post_parent > '0' and post_parent NOT IN ( SELECT ID FROM $wpdb->posts WHERE post_type NOT IN ('attachment', '" . join("', '", get_post_types( array( 'public' => false ) ) ) . "') )"); 24 25 $_GET['detached'] = 1; 26 27 } elseif ( isset($_GET['found_post_id']) && isset($_GET['media']) ) { 28 check_admin_referer('bulk-media'); 29 30 if ( ! ( $parent_id = (int) $_GET['found_post_id'] ) ) 31 return; 32 33 $parent = &get_post($parent_id); 34 if ( !current_user_can('edit_post', $parent_id) ) 35 wp_die( __('You are not allowed to edit this post.') ); 36 37 $attach = array(); 38 foreach( (array) $_GET['media'] as $att_id ) { 39 $att_id = (int) $att_id; 40 41 if ( !current_user_can('edit_post', $att_id) ) 42 continue; 43 44 $attach[] = $att_id; 45 clean_attachment_cache($att_id); 46 } 47 48 if ( ! empty($attach) ) { 49 $attach = implode(',', $attach); 50 $attached = $wpdb->query( $wpdb->prepare("UPDATE $wpdb->posts SET post_parent = %d WHERE post_type = 'attachment' AND ID IN ($attach)", $parent_id) ); 51 } 52 53 if ( isset($attached) ) { 54 $location = 'upload.php'; 55 if ( $referer = wp_get_referer() ) { 56 if ( false !== strpos($referer, 'upload.php') ) 57 $location = $referer; 58 } 59 60 $location = add_query_arg( array( 'attached' => $attached ) , $location ); 61 wp_redirect($location); 62 exit; 63 } 64 65 } elseif ( isset($_GET['doaction']) || isset($_GET['doaction2']) || isset($_GET['delete_all']) || isset($_GET['delete_all2']) ) { 66 check_admin_referer('bulk-media'); 67 68 if ( isset($_GET['delete_all']) || isset($_GET['delete_all2']) ) { 69 $post_ids = $wpdb->get_col( "SELECT ID FROM $wpdb->posts WHERE post_type='attachment' AND post_status = 'trash'" ); 70 $doaction = 'delete'; 71 } elseif ( ( $_GET['action'] != -1 || $_GET['action2'] != -1 ) && ( isset($_GET['media']) || isset($_GET['ids']) ) ) { 72 $post_ids = isset($_GET['media']) ? $_GET['media'] : explode(',', $_GET['ids']); 73 $doaction = ($_GET['action'] != -1) ? $_GET['action'] : $_GET['action2']; 74 } else { 75 wp_redirect($_SERVER['HTTP_REFERER']); 76 } 77 78 $location = 'upload.php'; 79 if ( $referer = wp_get_referer() ) { 80 if ( false !== strpos($referer, 'upload.php') ) 81 $location = remove_query_arg( array('trashed', 'untrashed', 'deleted', 'message', 'ids', 'posted'), $referer ); 82 } 83 84 switch ( $doaction ) { 85 case 'trash': 86 foreach( (array) $post_ids as $post_id ) { 87 if ( !current_user_can('delete_post', $post_id) ) 88 wp_die( __('You are not allowed to move this post to the trash.') ); 89 90 if ( !wp_trash_post($post_id) ) 91 wp_die( __('Error in moving to trash...') ); 92 } 93 $location = add_query_arg( array( 'trashed' => count($post_ids), 'ids' => join(',', $post_ids) ), $location ); 94 break; 95 case 'untrash': 96 foreach( (array) $post_ids as $post_id ) { 97 if ( !current_user_can('delete_post', $post_id) ) 98 wp_die( __('You are not allowed to move this post out of the trash.') ); 99 100 if ( !wp_untrash_post($post_id) ) 101 wp_die( __('Error in restoring from trash...') ); 102 } 103 $location = add_query_arg('untrashed', count($post_ids), $location); 104 break; 105 case 'delete': 106 foreach( (array) $post_ids as $post_id_del ) { 107 if ( !current_user_can('delete_post', $post_id_del) ) 108 wp_die( __('You are not allowed to delete this post.') ); 109 110 if ( !wp_delete_attachment($post_id_del) ) 111 wp_die( __('Error in deleting...') ); 112 } 113 $location = add_query_arg('deleted', count($post_ids), $location); 114 break; 115 } 116 117 wp_redirect($location); 118 exit; 119 } elseif ( ! empty($_GET['_wp_http_referer']) ) { 120 wp_redirect( remove_query_arg( array('_wp_http_referer', '_wpnonce'), stripslashes($_SERVER['REQUEST_URI']) ) ); 121 exit; 122 } 123 124 $title = __('Media Library'); 125 $parent_file = 'upload.php'; 126 127 if ( ! isset( $_GET['paged'] ) || $_GET['paged'] < 1 ) 128 $_GET['paged'] = 1; 129 130 if ( isset($_GET['detached']) ) { 131 132 $media_per_page = (int) get_user_option( 'upload_per_page' ); 133 if ( empty($media_per_page) || $media_per_page < 1 ) 134 $media_per_page = 20; 135 $media_per_page = apply_filters( 'upload_per_page', $media_per_page ); 136 137 if ( !empty($lost) ) { 138 $start = ( (int) $_GET['paged'] - 1 ) * $media_per_page; 139 $page_links_total = ceil(count($lost) / $media_per_page); 140 $lost = implode(',', $lost); 141 142 $orphans = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $wpdb->posts WHERE post_type = 'attachment' AND ID IN (%s) LIMIT %d, %d", $lost, $start, $media_per_page ) ); 143 } else { 144 $start = ( (int) $_GET['paged'] - 1 ) * $media_per_page; 145 $orphans = $wpdb->get_results( $wpdb->prepare( "SELECT SQL_CALC_FOUND_ROWS * FROM $wpdb->posts WHERE post_type = 'attachment' AND post_status != 'trash' AND post_parent < 1 LIMIT %d, %d", $start, $media_per_page ) ); 146 $total_orphans = $wpdb->get_var( "SELECT FOUND_ROWS()" ); 147 $page_links_total = ceil( $total_orphans / $media_per_page ); 148 $wp_query->found_posts = $total_orphans; 149 $wp_query->query_vars['posts_per_page'] = $media_per_page; 150 } 151 152 $post_mime_types = get_post_mime_types(); 153 $avail_post_mime_types = get_available_post_mime_types('attachment'); 154 155 if ( isset($_GET['post_mime_type']) && !array_intersect( (array) $_GET['post_mime_type'], array_keys($post_mime_types) ) ) 156 unset($_GET['post_mime_type']); 157 158 } else { 159 list($post_mime_types, $avail_post_mime_types) = wp_edit_attachments_query(); 160 } 161 162 $is_trash = ( isset($_GET['status']) && $_GET['status'] == 'trash' ); 163 164 wp_enqueue_script('media'); 123 wp_enqueue_script( 'media' ); 165 124 166 125 add_contextual_help( $current_screen, … … 240 199 $num_posts[$type] = ( isset( $num_posts[$type] ) ) ? $num_posts[$type] + $_num_posts[$real] : $_num_posts[$real]; 241 200 242 $class = ( empty($_GET['post_mime_type']) && ! isset($_GET['detached'])&& !isset($_GET['status']) ) ? ' class="current"' : '';201 $class = ( empty($_GET['post_mime_type']) && !$detached && !isset($_GET['status']) ) ? ' class="current"' : ''; 243 202 $type_links[] = "<li><a href='upload.php'$class>" . sprintf( _nx( 'All <span class="count">(%s)</span>', 'All <span class="count">(%s)</span>', $_total_posts, 'uploaded files' ), number_format_i18n( $_total_posts ) ) . '</a>'; 244 203 foreach ( $post_mime_types as $mime_type => $label ) { … … 253 212 $type_links[] = "<li><a href='upload.php?post_mime_type=$mime_type'$class>" . sprintf( _n( $label[2][0], $label[2][1], $num_posts[$mime_type] ), number_format_i18n( $num_posts[$mime_type] )) . '</a>'; 254 213 } 255 $type_links[] = '<li><a href="upload.php?detached=1"' . ( isset($_GET['detached'])? ' class="current"' : '' ) . '>' . sprintf( _nx( 'Unattached <span class="count">(%s)</span>', 'Unattached <span class="count">(%s)</span>', $total_orphans, 'detached files' ), number_format_i18n( $total_orphans ) ) . '</a>';214 $type_links[] = '<li><a href="upload.php?detached=1"' . ( $detached ? ' class="current"' : '' ) . '>' . sprintf( _nx( 'Unattached <span class="count">(%s)</span>', 'Unattached <span class="count">(%s)</span>', $total_orphans, 'detached files' ), number_format_i18n( $total_orphans ) ) . '</a>'; 256 215 257 216 if ( !empty($_num_posts['trash']) ) … … 271 230 </form> 272 231 273 <form id="posts-filter" action="" method="get"> 274 <?php wp_nonce_field('bulk-media'); ?> 275 <?php if ( have_posts() || isset( $orphans ) ) { ?> 276 <div class="tablenav"> 277 <?php 278 if ( ! isset($page_links_total) ) 279 $page_links_total = $wp_query->max_num_pages; 280 281 $page_links = paginate_links( array( 282 'base' => add_query_arg( 'paged', '%#%' ), 283 'format' => '', 284 'prev_text' => __('«'), 285 'next_text' => __('»'), 286 'total' => $page_links_total, 287 'current' => $_GET['paged'] 288 )); 289 290 if ( $page_links ) : ?> 291 <div class="tablenav-pages"><?php $page_links_text = sprintf( '<span class="displaying-num">' . __( 'Displaying %s–%s of %s' ) . '</span>%s', 292 number_format_i18n( ( $_GET['paged'] - 1 ) * $wp_query->query_vars['posts_per_page'] + 1 ), 293 number_format_i18n( min( $_GET['paged'] * $wp_query->query_vars['posts_per_page'], $wp_query->found_posts ) ), 294 number_format_i18n( $wp_query->found_posts ), 295 $page_links 296 ); echo $page_links_text; ?></div> 297 <?php endif; ?> 298 299 <div class="alignleft actions"> 300 <?php if ( ! isset( $orphans ) || ! empty( $orphans ) ) { ?> 301 <select name="action" class="select-action"> 302 <option value="-1" selected="selected"><?php _e('Bulk Actions'); ?></option> 303 <?php if ( $is_trash ) { ?> 304 <option value="untrash"><?php _e('Restore'); ?></option> 305 <?php } if ( $is_trash || !EMPTY_TRASH_DAYS || !MEDIA_TRASH ) { ?> 306 <option value="delete"><?php _e('Delete Permanently'); ?></option> 307 <?php } else { ?> 308 <option value="trash"><?php _e('Move to Trash'); ?></option> 309 <?php } if ( isset($orphans) ) { ?> 310 <option value="attach"><?php _e('Attach to a post'); ?></option> 311 <?php } ?> 312 </select> 313 <input type="submit" value="<?php esc_attr_e('Apply'); ?>" name="doaction" id="doaction" class="button-secondary action" /> 314 315 <?php 316 if ( !is_singular() && !isset($_GET['detached']) && !$is_trash ) { 317 $arc_query = "SELECT DISTINCT YEAR(post_date) AS yyear, MONTH(post_date) AS mmonth FROM $wpdb->posts WHERE post_type = 'attachment' ORDER BY post_date DESC"; 318 319 $arc_result = $wpdb->get_results( $arc_query ); 320 321 $month_count = count($arc_result); 322 323 if ( $month_count && !( 1 == $month_count && 0 == $arc_result[0]->mmonth ) ) : ?> 324 <select name='m'> 325 <option value='0'><?php _e('Show all dates'); ?></option> 326 <?php 327 foreach ($arc_result as $arc_row) { 328 if ( $arc_row->yyear == 0 ) 329 continue; 330 $arc_row->mmonth = zeroise( $arc_row->mmonth, 2 ); 331 332 if ( isset($_GET['m']) && ( $arc_row->yyear . $arc_row->mmonth == $_GET['m'] ) ) 333 $default = ' selected="selected"'; 334 else 335 $default = ''; 336 337 echo "<option$default value='" . esc_attr("$arc_row->yyear$arc_row->mmonth") . "'>"; 338 echo $wp_locale->get_month($arc_row->mmonth) . " $arc_row->yyear"; 339 echo "</option>\n"; 340 } 341 ?> 342 </select> 343 <?php endif; // month_count ?> 344 345 <?php do_action('restrict_manage_posts'); ?> 346 347 <input type="submit" id="post-query-submit" value="<?php esc_attr_e('Filter'); ?>" class="button-secondary" /> 348 349 <?php } // ! is_singular ?> 350 351 <?php 352 353 } // ! empty( $orphans ) 354 355 if ( isset($_GET['detached']) ) { ?> 356 <input type="submit" id="find_detached" name="find_detached" value="<?php esc_attr_e('Scan for lost attachments'); ?>" class="button-secondary" /> 357 <?php } elseif ( isset($_GET['status']) && $_GET['status'] == 'trash' && current_user_can('edit_others_posts') ) { ?> 358 <input type="submit" id="delete_all" name="delete_all" value="<?php esc_attr_e('Empty Trash'); ?>" class="button-secondary apply" /> 359 <?php } ?> 360 361 </div> 362 232 <form id="posts-filter" action="" method="post"> 233 <?php $table->display(); ?> 234 <div id="ajax-response"></div> 235 <?php find_posts_div(); ?> 363 236 <br class="clear" /> 364 237 </div> 365 366 <?php } // have_posts() || !empty( $orphans ) ?>367 368 <div class="clear"></div>369 370 <?php if ( ! empty( $orphans ) ) { ?>371 <table class="widefat" cellspacing="0">372 <thead>373 <tr>374 <th scope="col" class="check-column"><input type="checkbox" /></th>375 <th scope="col"></th>376 <th scope="col"><?php /* translators: column name in media */ _ex('Media', 'media column name'); ?></th>377 <th scope="col"><?php /* translators: column name in media */ _ex('Author', 'media column name'); ?></th>378 <th scope="col"><?php /* translators: column name in media */ _ex('Date Added', 'media column name'); ?></th>379 </tr>380 </thead>381 382 <tfoot>383 <tr>384 <th scope="col" class="check-column"><input type="checkbox" /></th>385 <th scope="col"></th>386 <th scope="col"><?php /* translators: column name in media */ _ex('Media', 'media column name'); ?></th>387 <th scope="col"><?php /* translators: column name in media */ _ex('Author', 'media column name'); ?></th>388 <th scope="col"><?php /* translators: column name in media */ _ex('Date Added', 'media column name'); ?></th>389 </tr>390 </tfoot>391 392 <tbody id="the-list" class="list:post">393 <?php394 foreach ( $orphans as $post ) {395 $class = 'alternate' == $class ? '' : 'alternate';396 $att_title = esc_html( _draft_or_post_title($post->ID) );397 ?>398 <tr id='post-<?php echo $post->ID; ?>' class='<?php echo $class; ?>' valign="top">399 <th scope="row" class="check-column"><?php if ( current_user_can('edit_post', $post->ID) ) { ?><input type="checkbox" name="media[]" value="<?php echo esc_attr($post->ID); ?>" /><?php } ?></th>400 401 <td class="media-icon"><?php402 if ( $thumb = wp_get_attachment_image( $post->ID, array(80, 60), true ) ) { ?>403 <a href="media.php?action=edit&attachment_id=<?php echo $post->ID; ?>" title="<?php echo esc_attr(sprintf(__('Edit “%s”'), $att_title)); ?>"><?php echo $thumb; ?></a>404 <?php } ?></td>405 406 <td class="media column-media"><strong><a href="<?php echo get_edit_post_link( $post->ID ); ?>" title="<?php echo esc_attr(sprintf(__('Edit “%s”'), $att_title)); ?>"><?php echo $att_title; ?></a></strong><br />407 <?php408 if ( preg_match( '/^.*?\.(\w+)$/', get_attached_file( $post->ID ), $matches ) )409 echo esc_html( strtoupper( $matches[1] ) );410 else411 echo strtoupper( str_replace( 'image/', '', get_post_mime_type() ) );412 ?>413 414 <div class="row-actions">415 <?php416 $actions = array();417 if ( current_user_can('edit_post', $post->ID) )418 $actions['edit'] = '<a href="' . get_edit_post_link($post->ID, true) . '">' . __('Edit') . '</a>';419 if ( current_user_can('delete_post', $post->ID) )420 if ( EMPTY_TRASH_DAYS && MEDIA_TRASH ) {421 $actions['trash'] = "<a class='submitdelete' href='" . wp_nonce_url("post.php?action=trash&post=$post->ID", 'trash-attachment_' . $post->ID) . "'>" . __('Trash') . "</a>";422 } else {423 $delete_ays = !MEDIA_TRASH ? " onclick='return showNotice.warn();'" : '';424 $actions['delete'] = "<a class='submitdelete'$delete_ays href='" . wp_nonce_url("post.php?action=delete&post=$post->ID", 'delete-attachment_' . $post->ID) . "'>" . __('Delete Permanently') . "</a>";425 }426 $actions['view'] = '<a href="' . get_permalink($post->ID) . '" title="' . esc_attr(sprintf(__('View “%s”'), $title)) . '" rel="permalink">' . __('View') . '</a>';427 if ( current_user_can('edit_post', $post->ID) )428 $actions['attach'] = '<a href="#the-list" onclick="findPosts.open(\'media[]\',\''.$post->ID.'\');return false;" class="hide-if-no-js">'.__('Attach').'</a>';429 $actions = apply_filters( 'media_row_actions', $actions, $post );430 $action_count = count($actions);431 $i = 0;432 foreach ( $actions as $action => $link ) {433 ++$i;434 ( $i == $action_count ) ? $sep = '' : $sep = ' | ';435 echo "<span class='$action'>$link$sep</span>";436 } ?>437 </div></td>438 <td class="author column-author"><?php $author = get_userdata($post->post_author); echo $author->display_name; ?></td>439 <?php if ( '0000-00-00 00:00:00' == $post->post_date && 'date' == $column_name ) {440 $t_time = $h_time = __('Unpublished');441 } else {442 $t_time = get_the_time(__('Y/m/d g:i:s A'));443 $m_time = $post->post_date;444 $time = get_post_time( 'G', true );445 if ( ( abs($t_diff = time() - $time) ) < 86400 ) {446 if ( $t_diff < 0 )447 $h_time = sprintf( __('%s from now'), human_time_diff( $time ) );448 else449 $h_time = sprintf( __('%s ago'), human_time_diff( $time ) );450 } else {451 $h_time = mysql2date(__('Y/m/d'), $m_time);452 }453 } ?>454 <td class="date column-date"><?php echo $h_time ?></td>455 </tr>456 <?php } ?>457 </tbody>458 </table>459 460 <?php461 462 } else {463 include( './edit-attachment-rows.php' );464 } ?>465 466 <div id="ajax-response"></div>467 468 <div class="tablenav">469 470 <?php471 if ( have_posts() || ! empty( $orphans ) ) {472 473 if ( $page_links )474 echo "<div class='tablenav-pages'>$page_links_text</div>";475 ?>476 477 <div class="alignleft actions">478 <select name="action2" class="select-action">479 <option value="-1" selected="selected"><?php _e('Bulk Actions'); ?></option>480 <?php if ($is_trash) { ?>481 <option value="untrash"><?php _e('Restore'); ?></option>482 <?php } if ( $is_trash || !EMPTY_TRASH_DAYS || !MEDIA_TRASH ) { ?>483 <option value="delete"><?php _e('Delete Permanently'); ?></option>484 <?php } else { ?>485 <option value="trash"><?php _e('Move to Trash'); ?></option>486 <?php } if (isset($orphans)) { ?>487 <option value="attach"><?php _e('Attach to a post'); ?></option>488 <?php } ?>489 </select>490 <input type="submit" value="<?php esc_attr_e('Apply'); ?>" name="doaction2" id="doaction2" class="button-secondary action" />491 492 <?php if ( isset($_GET['status']) && $_GET['status'] == 'trash' && current_user_can('edit_others_posts') ) { ?>493 <input type="submit" id="delete_all2" name="delete_all2" value="<?php esc_attr_e('Empty Trash'); ?>" class="button-secondary apply" />494 <?php } ?>495 </div>496 497 <?php } ?>498 <br class="clear" />499 </div>500 <?php find_posts_div(); ?>501 238 </form> 502 239 <br class="clear" /> -
trunk/wp-admin/users.php
r15152 r15491 8 8 9 9 /** WordPress Administration Bootstrap */ 10 require_once( './admin.php');10 require_once( './admin.php' ); 11 11 12 12 /** WordPress Registration API */ … … 307 307 } 308 308 309 require_once( './includes/default-list-tables.php' ); 310 311 $table = new WP_Users_Table; 312 309 313 include('./admin-header.php'); 310 311 $usersearch = isset($_GET['usersearch']) ? $_GET['usersearch'] : null;312 $userspage = isset($_GET['userspage']) ? $_GET['userspage'] : null;313 $role = isset($_GET['role']) ? $_GET['role'] : null;314 315 // Query the user IDs for this page316 $wp_user_search = new WP_User_Search($usersearch, $userspage, $role);317 318 // Query the post counts for this page319 $post_counts = count_many_users_posts($wp_user_search->get_results());320 321 // Query the users for this page322 cache_users($wp_user_search->get_results());323 314 324 315 $messages = array(); … … 373 364 <?php screen_icon(); ?> 374 365 <h2><?php echo esc_html( $title ); if ( current_user_can( 'create_users' ) ) { ?> <a href="user-new.php" class="button add-new-h2"><?php echo esc_html_x('Add New', 'user'); ?></a><?php } 375 if ( isset($_GET['usersearch']) && $_GET['usersearch'])376 printf( '<span class="subtitle">' . __('Search results for “%s”') . '</span>', esc_html( $ _GET['usersearch']) ); ?>366 if ( $usersearch ) 367 printf( '<span class="subtitle">' . __('Search results for “%s”') . '</span>', esc_html( $usersearch ) ); ?> 377 368 </h2> 378 369 … … 416 407 <p class="search-box"> 417 408 <label class="screen-reader-text" for="user-search-input"><?php _e( 'Search Users' ); ?>:</label> 418 <input type="text" id="user-search-input" name="usersearch" value="<?php echo esc_attr($ wp_user_search->search_term); ?>" />409 <input type="text" id="user-search-input" name="usersearch" value="<?php echo esc_attr($usersearch); ?>" /> 419 410 <input type="submit" value="<?php esc_attr_e( 'Search Users' ); ?>" class="button" /> 420 411 </p> 421 412 </form> 422 413 423 <form id="posts-filter" action="" method="get"> 424 <div class="tablenav"> 425 426 <?php if ( $wp_user_search->results_are_paged() ) : ?> 427 <div class="tablenav-pages"><?php $wp_user_search->page_links(); ?></div> 428 <?php endif; ?> 429 430 <div class="alignleft actions"> 431 <select name="action"> 432 <option value="" selected="selected"><?php _e('Bulk Actions'); ?></option> 433 <?php if ( !is_multisite() && current_user_can('delete_users') ) { ?> 434 <option value="delete"><?php _e('Delete'); ?></option> 435 <?php } else { ?> 436 <option value="remove"><?php _e('Remove'); ?></option> 437 <?php } ?> 438 </select> 439 <input type="submit" value="<?php esc_attr_e('Apply'); ?>" name="doaction" id="doaction" class="button-secondary action" /> 440 <label class="screen-reader-text" for="new_role"><?php _e('Change role to…') ?></label><select name="new_role" id="new_role"><option value=''><?php _e('Change role to…') ?></option><?php wp_dropdown_roles(); ?></select> 441 <input type="submit" value="<?php esc_attr_e('Change'); ?>" name="changeit" class="button-secondary" /> 442 <?php wp_nonce_field('bulk-users'); ?> 443 </div> 444 445 <br class="clear" /> 446 </div> 447 448 <?php if ( is_wp_error( $wp_user_search->search_errors ) ) : ?> 449 <div class="error"> 450 <ul> 451 <?php 452 foreach ( $wp_user_search->search_errors->get_error_messages() as $message ) 453 echo "<li>$message</li>"; 454 ?> 455 </ul> 456 </div> 457 <?php endif; ?> 458 459 460 <?php if ( $wp_user_search->get_results() ) : ?> 461 462 <?php if ( $wp_user_search->is_search() ) : ?> 463 <p><a href="users.php"><?php _e('← Back to All Users'); ?></a></p> 464 <?php endif; ?> 465 466 <table class="widefat fixed" cellspacing="0"> 467 <thead> 468 <tr class="thead"> 469 <?php print_column_headers('users') ?> 470 </tr> 471 </thead> 472 473 <tfoot> 474 <tr class="thead"> 475 <?php print_column_headers('users', false) ?> 476 </tr> 477 </tfoot> 478 479 <tbody id="users" class="list:user user-list"> 480 <?php 481 $style = ''; 482 foreach ( $wp_user_search->get_results() as $userid ) { 483 $user_object = new WP_User($userid); 484 $roles = $user_object->roles; 485 $role = array_shift($roles); 486 487 if ( is_multisite() && empty( $role ) ) 488 continue; 489 490 $style = ( ' class="alternate"' == $style ) ? '' : ' class="alternate"'; 491 echo "\n\t", user_row( $user_object, $style, $role, $post_counts[ $userid ] ); 492 } 493 ?> 494 </tbody> 495 </table> 496 497 <div class="tablenav"> 498 499 <?php if ( $wp_user_search->results_are_paged() ) : ?> 500 <div class="tablenav-pages"><?php $wp_user_search->page_links(); ?></div> 501 <?php endif; ?> 502 503 <div class="alignleft actions"> 504 <select name="action2"> 505 <option value="" selected="selected"><?php _e('Bulk Actions'); ?></option> 506 <?php if ( !is_multisite() && current_user_can('delete_users') ) { ?> 507 <option value="delete"><?php _e('Delete'); ?></option> 508 <?php } else { ?> 509 <option value="remove"><?php _e('Remove'); ?></option> 510 <?php } ?></select> 511 <input type="submit" value="<?php esc_attr_e('Apply'); ?>" name="doaction2" id="doaction2" class="button-secondary action" /> 512 </div> 513 514 <br class="clear" /> 515 </div> 516 517 <?php endif; ?> 518 414 <form id="posts-filter" action="" method="post"> 415 <?php $table->display(); ?> 519 416 </form> 520 </div>521 417 522 418 <?php … … 537 433 538 434 include('./admin-footer.php'); 539 ?> -
trunk/wp-includes/comment.php
r13995 r15491 205 205 'type' => '', 206 206 'user_id' => '', 207 'search' => '', 208 'count' => false 207 209 ); 208 210 … … 236 238 $approved = "( comment_approved = '0' OR comment_approved = '1' )"; 237 239 238 $order = ( 'ASC' == $order) ? 'ASC' : 'DESC';240 $order = ( 'ASC' == strtoupper($order) ) ? 'ASC' : 'DESC'; 239 241 240 242 if ( ! empty( $orderby ) ) { … … 270 272 if ( !empty($number) ) { 271 273 if ( $offset ) 272 $ number= 'LIMIT ' . $offset . ',' . $number;274 $limit = 'LIMIT ' . $offset . ',' . $number; 273 275 else 274 $number = 'LIMIT ' . $number; 275 276 $limit = 'LIMIT ' . $number; 276 277 } else { 277 $ number= '';278 } 279 280 $post_where = '';278 $limit = ''; 279 } 280 281 $post_where = "WHERE $approved"; 281 282 282 283 if ( ! empty($post_id) ) 283 $post_where .= $wpdb->prepare( ' comment_post_ID = %d AND', $post_id );284 $post_where .= $wpdb->prepare( ' AND comment_post_ID = %d', $post_id ); 284 285 if ( '' !== $author_email ) 285 $post_where .= $wpdb->prepare( ' comment_author_email = %s AND', $author_email );286 $post_where .= $wpdb->prepare( 'AND comment_author_email = %s', $author_email ); 286 287 if ( '' !== $karma ) 287 $post_where .= $wpdb->prepare( ' comment_karma = %d AND', $karma );288 $post_where .= $wpdb->prepare( 'AND comment_karma = %d', $karma ); 288 289 if ( 'comment' == $type ) 289 $post_where .= " comment_type = '' AND";290 $post_where .= " AND comment_type = ''"; 290 291 elseif ( ! empty( $type ) ) 291 $post_where .= $wpdb->prepare( ' comment_type = %s AND', $type );292 $post_where .= $wpdb->prepare( ' AND comment_type = %s', $type ); 292 293 if ( '' !== $parent ) 293 $post_where .= $wpdb->prepare( ' comment_parent = %d AND', $parent );294 $post_where .= $wpdb->prepare( ' AND comment_parent = %d', $parent ); 294 295 if ( '' !== $user_id ) 295 $post_where .= $wpdb->prepare( 'user_id = %d AND ', $user_id ); 296 297 $comments = $wpdb->get_results( "SELECT * FROM $wpdb->comments WHERE $post_where $approved ORDER BY $orderby $order $number" ); 296 $post_where .= $wpdb->prepare( ' AND user_id = %d', $user_id ); 297 if ( '' !== $search ) 298 $post_where .= _wp_search_sql($search, array('comment_author', 'comment_author_email', 'comment_author_url', 'comment_author_IP', 'comment_content')); 299 300 if ( $count ) 301 return $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->comments $post_where ORDER BY $orderby $order $limit" ); 302 303 $comments = $wpdb->get_results( "SELECT * FROM $wpdb->comments $post_where ORDER BY $orderby $order $limit" ); 304 298 305 wp_cache_add( $cache_key, $comments, 'comment' ); 299 306 … … 1283 1290 1284 1291 if ( get_option('comments_notify') && $commentdata['comment_approved'] && ( ! isset( $commentdata['user_id'] ) || $post->post_author != $commentdata['user_id'] ) ) 1285 wp_notify_postauthor($comment_ID, empty( $commentdata['comment_type'] ) ? $commentdata['comment_type'] : '' );1292 wp_notify_postauthor($comment_ID, isset( $commentdata['comment_type'] ) ? $commentdata['comment_type'] : '' ); 1286 1293 } 1287 1294 -
trunk/wp-includes/functions.php
r15355 r15491 4195 4195 return $file_data; 4196 4196 } 4197 4198 /* 4199 * Used internally to generate an SQL string for searching across multiple columns 4200 * 4201 * @access private 4202 * @since 3.1.0 4203 * 4204 * @param string $string 4205 * @param array $cols 4206 * @return string 4207 */ 4208 function _wp_search_sql($string, $cols) { 4209 $string = esc_sql($string); 4210 4211 $searches = array(); 4212 foreach ( $cols as $col ) 4213 $searches[] = "$col LIKE '%$string%'"; 4214 4215 return ' AND (' . implode(' OR ', $searches) . ')'; 4216 } 4217 4197 4218 /* 4198 4219 * Used internally to tidy up the search terms -
trunk/wp-includes/script-loader.php
r15255 r15491 155 155 $scripts->add( 'schedule', '/wp-includes/js/jquery/jquery.schedule.js', array('jquery'), '20m'); 156 156 $scripts->add_data( 'schedule', 'group', 1 ); 157 158 $scripts->add( 'jquery-query', "/wp-includes/js/jquery/jquery.query.js", array('jquery'), '2.1.7' ); 159 $scripts->add_data( 'jquery-query', 'group', 1 ); 157 160 158 161 $scripts->add( 'jquery-hotkeys', "/wp-includes/js/jquery/jquery.hotkeys$suffix.js", array('jquery'), '0.0.2m' ); … … 336 339 $scripts->add_data( 'theme-preview', 'group', 1 ); 337 340 338 $scripts->add( 'inline-edit-post', "/wp-admin/js/inline-edit-post$suffix.js", array( 'jquery', 'suggest' ), '20091202' ); 341 $scripts->add( 'admin-table', "/wp-admin/js/admin-table$suffix.js", array( 'jquery', 'jquery-query' ), '20100626' ); 342 $scripts->add_data( 'admin-table', 'group', 1 ); 343 $scripts->localize( 'admin-table', 'adminTableL10n', array( 344 'loading' => __('Loading...'), 345 'error' => __('An error has occured while loading the items.'), 346 'search' => __('Search results for “%s”') 347 ) ); 348 349 $scripts->add( 'inline-edit-post', "/wp-admin/js/inline-edit-post$suffix.js", array( 'jquery', 'suggest' ), '20100707' ); 339 350 $scripts->add_data( 'inline-edit-post', 'group', 1 ); 340 351 $scripts->localize( 'inline-edit-post', 'inlineEditL10n', array( … … 345 356 ) ); 346 357 347 $scripts->add( 'inline-edit-tax', "/wp-admin/js/inline-edit-tax$suffix.js", array( 'jquery' ), '20 090623' );358 $scripts->add( 'inline-edit-tax', "/wp-admin/js/inline-edit-tax$suffix.js", array( 'jquery' ), '20100615' ); 348 359 $scripts->add_data( 'inline-edit-tax', 'group', 1 ); 349 360 $scripts->localize( 'inline-edit-tax', 'inlineEditL10n', array( … … 431 442 $no_suffix = array( 'farbtastic' ); 432 443 433 $styles->add( 'wp-admin', "/wp-admin/css/wp-admin$suffix.css", array(), '201006 14' );444 $styles->add( 'wp-admin', "/wp-admin/css/wp-admin$suffix.css", array(), '20100624' ); 434 445 435 446 $styles->add( 'ie', "/wp-admin/css/ie$suffix.css", array(), '20100610' ); -
trunk/wp-includes/taxonomy.php
r15425 r15491 52 52 'hierarchical' => false, 53 53 'labels' => array( 54 'name' => __( 'Categories' ), 55 'singular_name' => __( 'Category' ), 56 'update_item' => __( 'Update Category' ), 54 'name' => __( 'Link Categories' ), 55 'singular_name' => __( 'Link Category' ), 56 'search_items' => __( 'Search Link Categories' ), 57 'popular_items' => null, 58 'all_items' => __( 'All Link Categories' ), 59 'edit_item' => __( 'Edit Link Category' ), 60 'update_item' => __( 'Update Link Category' ), 61 'add_new_item' => __( 'Add New Link Category' ), 62 'new_item_name' => __( 'New Link Category Name' ), 63 'separate_items_with_commas' => null, 64 'add_or_remove_items' => null, 65 'choose_from_most_used' => null, 57 66 ), 58 67 'query_var' => false, -
trunk/wp-includes/user.php
r15355 r15491 327 327 328 328 /** 329 * WordPress User Query class. 330 * 331 * @since 3.1.0 332 */ 333 class WP_User_Query { 334 335 /** 336 * {@internal Missing Description}} 337 * 338 * @since 3.1.0 339 * @access private 340 * @var array 341 */ 342 var $results; 343 344 /** 345 * The total number of users for the current query 346 * 347 * @since 3.1.0 348 * @access private 349 * @var int 350 */ 351 var $total_users = 0; 352 353 var $query_from; 354 var $query_where; 355 var $query_orderby; 356 var $query_limit; 357 358 /** 359 * Sets up the object properties. 360 * 361 * @since 3.1.0 362 * 363 * @param string|array $args The query variables 364 * @return WP_User_Query 365 */ 366 function WP_User_Query( $query ) { 367 $this->query_vars = wp_parse_args( $query, array( 368 'search' => '', 'role' => '', 369 'offset' => '', 'number' => '', 'count_total' => true, 370 'orderby' => 'login', 'order' => 'ASC', 371 'meta_key' => '', 'meta_value' => '', 372 'include' => array(), 'exclude' => array(), 373 'fields' => 'all' 374 ) ); 375 376 $this->prepare_query(); 377 $this->query(); 378 } 379 380 /** 381 * Prepare the query variables 382 * 383 * @since 3.1.0 384 * @access private 385 */ 386 function prepare_query() { 387 global $wpdb; 388 389 $qv = &$this->query_vars; 390 391 $this->query_from = " FROM $wpdb->users"; 392 $this->query_where = " WHERE 1=1"; 393 394 // sorting 395 if ( in_array( $qv['orderby'], array('email', 'url', 'registered') ) ) { 396 $orderby = 'user_' . $qv['orderby']; 397 } 398 elseif ( 'name' == $qv['orderby'] ) { 399 $orderby = 'display_name'; 400 } 401 elseif ( 'post_count' == $qv['orderby'] ) { 402 $where = get_posts_by_author_sql('post'); 403 $this->query_from .= " LEFT OUTER JOIN ( 404 SELECT post_author, COUNT(*) as post_count 405 FROM wp_posts 406 $where 407 GROUP BY post_author 408 ) p ON (wp_users.ID = p.post_author) 409 "; 410 $orderby = 'post_count'; 411 } 412 else { 413 $orderby = 'user_login'; 414 } 415 416 $qv['order'] = strtoupper( $qv['order'] ); 417 if ( 'ASC' == $qv['order'] ) 418 $order = 'ASC'; 419 else 420 $order = 'DESC'; 421 $this->query_orderby = " ORDER BY $orderby $order"; 422 423 // limit 424 if ( $qv['number'] ) { 425 if ( $qv['offset'] ) 426 $this->query_limit = $wpdb->prepare(" LIMIT %d, %d", $qv['offset'], $qv['offset'] + $qv['number']); 427 else 428 $this->query_limit = $wpdb->prepare(" LIMIT %d", $qv['number']); 429 } 430 431 $search = trim( $qv['search'] ); 432 if ( $search ) { 433 $this->query_where .= _wp_search_sql( $search, array('user_login', 'user_nicename', 'user_email', 'user_url', 'display_name') ); 434 } 435 436 $role = trim( $qv['role'] ); 437 if ( $role ) { 438 $this->query_from .= " INNER JOIN $wpdb->usermeta ON $wpdb->users.ID = $wpdb->usermeta.user_id"; 439 $this->query_where .= $wpdb->prepare(" AND $wpdb->usermeta.meta_key = '{$wpdb->prefix}capabilities' AND $wpdb->usermeta.meta_value LIKE %s", '%' . $role . '%'); 440 } elseif ( is_multisite() ) { 441 $level_key = $wpdb->prefix . 'capabilities'; // wpmu site admins don't have user_levels 442 $this->query_from .= ", $wpdb->usermeta"; 443 $this->query_where .= " AND $wpdb->users.ID = $wpdb->usermeta.user_id AND meta_key = '{$level_key}'"; 444 } 445 446 $meta_key = trim( $qv['meta_key'] ); 447 $meta_value = trim( $qv['meta_value'] ); 448 if ( $meta_key ) { 449 if ( empty( $meta_value ) ) { 450 $subquery = $wpdb->prepare( "SELECT user_id FROM {$wpdb->usermeta} WHERE meta_key = %s", $meta_key ); 451 } 452 else { 453 $subquery = $wpdb->prepare( "SELECT user_id FROM {$wpdb->usermeta} WHERE meta_key = %s AND meta_value = %s", $meta_key, $meta_value ); 454 } 455 456 $this->query_where .= " AND $wpdb->users.ID IN ($subquery)"; 457 } 458 459 if ( !empty($qv['include']) ) { 460 $ids = implode( ',', wp_parse_id_list( $qv['include'] ) ); 461 $this->query_where .= " AND $wpdb->users.ID IN ($ids)"; 462 } 463 elseif ( !empty($qv['exclude']) ) { 464 $ids = implode( ',', wp_parse_id_list( $qv['exclude'] ) ); 465 $this->query_where .= " AND $wpdb->users.ID NOT IN ($ids)"; 466 } 467 468 do_action_ref_array( 'pre_user_query', array( &$this ) ); 469 } 470 471 /** 472 * Execute the query, with the current variables 473 * 474 * @since 3.1.0 475 * @access private 476 */ 477 function query() { 478 global $wpdb; 479 480 $this->results = $wpdb->get_col("SELECT DISTINCT($wpdb->users.ID)" . $this->query_from . $this->query_where . $this->query_orderby . $this->query_limit); 481 482 if ( !$this->results ) 483 return; 484 485 if ( $this->query_vars['count_total'] ) 486 $this->total_users = $wpdb->get_var("SELECT COUNT(DISTINCT($wpdb->users.ID))" . $this->query_from . $this->query_where); 487 488 if ( 'all' == $this->query_vars['fields'] ) { 489 cache_users($this->results); 490 491 $r = array(); 492 foreach ( $this->results as $userid ) 493 $r[ $userid ] = new WP_User( $userid ); 494 495 $this->results = $r; 496 } 497 } 498 499 /** 500 * Return the list of users 501 * 502 * @since 3.1.0 503 * @access public 504 * 505 * @return array 506 */ 507 function get_results() { 508 return $this->results; 509 } 510 511 /** 512 * Return the total number of users for the current query 513 * 514 * @since 3.1.0 515 * @access public 516 * 517 * @return array 518 */ 519 function get_total() { 520 return $this->total_users; 521 } 522 } 523 524 /** 525 * Retrieve list of users matching criteria. 526 * 527 * @since 3.1.0 528 * @uses $wpdb 529 * @uses WP_User_Query See for default arguments and information. 530 * 531 * @param array $args 532 * @return array List of users. 533 */ 534 function get_users( $args ) { 535 536 $args = wp_parse_args( $args ); 537 $args['count_total'] = false; 538 539 $user_search = new WP_User_Query($args); 540 541 return (array) $user_search->get_results(); 542 } 543 544 /** 329 545 * Get users for the blog. 330 546 * … … 430 646 * 431 647 * Assumes there are neither duplicated nor orphaned capabilities meta_values. 432 * Assumes role names are unique phrases. Same assumption made by WP_User_ Search::prepare_query()648 * Assumes role names are unique phrases. Same assumption made by WP_User_Query::prepare_query() 433 649 * Using $strategy = 'time' this is CPU-intensive and should handle around 10^7 users. 434 650 * Using $strategy = 'memory' this is memory-intensive and should handle around 10^5 users, but see WP Bug #12257.
Note: See TracChangeset
for help on using the changeset viewer.