Changeset 10641
- Timestamp:
- 02/24/2009 02:37:22 AM (17 years ago)
- Location:
- trunk
- Files:
-
- 7 edited
-
wp-admin/admin-ajax.php (modified) (2 diffs)
-
wp-admin/includes/dashboard.php (modified) (1 diff)
-
wp-admin/includes/template.php (modified) (3 diffs)
-
wp-admin/js/postbox.dev.js (modified) (6 diffs)
-
wp-admin/js/postbox.js (modified) (1 diff)
-
wp-admin/wp-admin.css (modified) (3 diffs)
-
wp-includes/script-loader.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-admin/admin-ajax.php
r10622 r10641 950 950 case 'closed-postboxes' : 951 951 check_ajax_referer( 'closedpostboxes', 'closedpostboxesnonce' ); 952 $closed = isset( $_POST['closed'] ) ? $_POST['closed'] : '';952 $closed = isset( $_POST['closed'] ) ? $_POST['closed'] : ''; 953 953 $closed = explode( ',', $_POST['closed'] ); 954 $hidden = isset( $_POST['hidden'] ) ? $_POST['hidden'] : '';954 $hidden = isset( $_POST['hidden'] ) ? $_POST['hidden'] : ''; 955 955 $hidden = explode( ',', $_POST['hidden'] ); 956 $page = isset( $_POST['page'] )? $_POST['page'] : ''; 957 if ( !preg_match( '/^[a-z-_]+$/', $page ) ) { 956 $page = isset( $_POST['page'] ) ? $_POST['page'] : ''; 957 958 if ( !preg_match( '/^[a-z_-]+$/', $page ) ) 958 959 die(-1); 959 } 960 $current_user = wp_get_current_user(); 960 961 if ( ! $user = wp_get_current_user() ) 962 die(-1); 963 961 964 if ( is_array($closed) ) 962 update_usermeta($current_user->ID, 'closedpostboxes_'.$page, $closed); 965 update_usermeta($user->ID, 'closedpostboxes_'.$page, $closed); 966 963 967 if ( is_array($hidden) ) 964 update_usermeta($current_user->ID, 'meta-box-hidden_'.$page, $hidden); 965 break; 968 update_usermeta($user->ID, 'meta-box-hidden_'.$page, $hidden); 969 970 die('1'); 971 break; 966 972 case 'hidden-columns' : 967 973 check_ajax_referer( 'hiddencolumns', 'hiddencolumnsnonce' ); 968 $hidden = isset( $_POST['hidden'] ) ? $_POST['hidden'] : '';974 $hidden = isset( $_POST['hidden'] ) ? $_POST['hidden'] : ''; 969 975 $hidden = explode( ',', $_POST['hidden'] ); 970 $page = isset( $_POST['page'] )? $_POST['page'] : ''; 971 if ( !preg_match( '/^[a-z_-]+$/', $page ) ) { 976 $page = isset( $_POST['page'] ) ? $_POST['page'] : ''; 977 978 if ( !preg_match( '/^[a-z_-]+$/', $page ) ) 972 979 die(-1); 973 } 974 $current_user = wp_get_current_user(); 980 981 if ( ! $user = wp_get_current_user() ) 982 die(-1); 983 975 984 if ( is_array($hidden) ) 976 update_usermeta($current_user->ID, "manage-$page-columns-hidden", $hidden); 977 break; 985 update_usermeta($user->ID, "manage-$page-columns-hidden", $hidden); 986 987 die('1'); 988 break; 989 case 'meta-box-order': 990 check_ajax_referer( 'meta-box-order' ); 991 $order = isset( $_POST['order'] ) ? (array) $_POST['order'] : false; 992 $page_columns = isset( $_POST['page_columns'] ) ? (int) $_POST['page_columns'] : 0; 993 $page = isset( $_POST['page'] ) ? $_POST['page'] : ''; 994 995 if ( !preg_match( '/^[a-z_-]+$/', $page ) ) 996 die(-1); 997 998 if ( ! $user = wp_get_current_user() ) 999 die(-1); 1000 1001 if ( $order ) 1002 update_user_option($user->ID, "meta-box-order_$page", $order); 1003 1004 if ( $page_columns ) 1005 update_usermeta($user->ID, "screen_layout_$page", $page_columns); 1006 1007 die('1'); 1008 break; 978 1009 case 'get-permalink': 979 1010 check_ajax_referer( 'getpermalink', 'getpermalinknonce' ); … … 1106 1137 1107 1138 exit; 1108 break;1109 case 'meta-box-order':1110 check_ajax_referer( 'meta-box-order' );1111 update_user_option( $GLOBALS['current_user']->ID, "meta-box-order_$_POST[page]", $_POST['order'] );1112 die('1');1113 1139 break; 1114 1140 case 'find_posts': -
trunk/wp-admin/includes/dashboard.php
r10605 r10641 144 144 */ 145 145 function wp_dashboard() { 146 echo "<div id='dashboard-widgets' class='metabox-holder'>\n\n"; 147 148 echo "<div id='side-info-column' class='inner-sidebar'>\n\n"; 149 $class = do_meta_boxes( 'dashboard', 'side', '' ) ? ' class="has-sidebar"' : ''; 150 echo "</div>\n\n"; 151 152 echo "<div id='post-body'$class>\n\n"; 153 echo "<div id='dashboard-widgets-main-content' class='has-sidebar-content'>\n\n"; 146 global $screen_layout_columns; 147 148 $hide2 = $hide3 = $hide4 = ''; 149 switch ( $screen_layout_columns ) { 150 case 4: 151 $width = 'width:24.5%;'; 152 break; 153 case 3: 154 $width = 'width:32.67%;'; 155 $hide4 = 'display:none;'; 156 break; 157 case 2: 158 $width = 'width:49%;'; 159 $hide3 = $hide4 = 'display:none;'; 160 break; 161 default: 162 $width = 'width:98%;'; 163 $hide2 = $hide3 = $hide4 = 'display:none;'; 164 } 165 ?> 166 <div id='dashboard-widgets' class='metabox-holder'> 167 <?php 168 echo "\t<div class='postbox-container' style='$width'>\n"; 154 169 do_meta_boxes( 'dashboard', 'normal', '' ); 155 echo "</div>\n\n"; 156 echo "</div>\n\n"; 157 158 echo "<form style='display: none' method='get' action=''>\n<p>\n"; 170 171 echo "\t</div><div class='postbox-container' style='{$hide2}$width'>\n"; 172 do_meta_boxes( 'dashboard', 'side', '' ); 173 174 echo "\t</div><div class='postbox-container' style='{$hide3}$width'>\n"; 175 do_meta_boxes( 'dashboard', 'column3', '' ); 176 177 echo "\t</div><div class='postbox-container' style='{$hide4}$width'>\n"; 178 do_meta_boxes( 'dashboard', 'column4', '' ); 179 ?> 180 </div></div> 181 182 <form style='display: none' method='get' action=''> 183 <p> 184 <?php 159 185 wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false ); 160 186 wp_nonce_field( 'meta-box-order', 'meta-box-order-nonce', false ); 161 echo "</p>\n</form>\n"; 162 163 echo "</div>"; 187 ?> 188 </p> 189 </form> 190 191 <?php 164 192 } 165 193 -
trunk/wp-admin/includes/template.php
r10629 r10641 3301 3301 <br class="clear" /> 3302 3302 </div></form> 3303 <?php echo screen_layout($screen); ?> 3303 3304 </div> 3304 3305 … … 3311 3312 $_wp_contextual_help = array(); 3312 3313 3313 if ( !isset($_wp_contextual_help['post']) ) { 3314 $help = drag_drop_help(); 3315 $help .= '<p>' . __('<a href="http://codex.wordpress.org/Writing_Posts" target="_blank">Writing Posts</a>') . '</p>'; 3316 $_wp_contextual_help['post'] = $help; 3317 } 3318 3319 if ( !isset($_wp_contextual_help['page']) ) { 3320 $help = drag_drop_help(); 3321 $_wp_contextual_help['page'] = $help; 3322 } 3323 3324 if ( !isset($_wp_contextual_help['dashboard']) ) { 3325 $help = drag_drop_help(); 3326 $_wp_contextual_help['dashboard'] = $help; 3327 } 3328 3329 if ( !isset($_wp_contextual_help['link']) ) { 3330 $help = drag_drop_help(); 3331 $_wp_contextual_help['link'] = $help; 3332 } 3333 3334 if ( !isset($_wp_contextual_help['options-general']) ) 3335 $_wp_contextual_help['options-general'] = __('<a href="http://codex.wordpress.org/Settings_General_SubPanel" target="_blank">General Settings</a>'); 3314 switch ( $screen ) { 3315 case 'post': 3316 if ( !isset($_wp_contextual_help['post']) ) { 3317 $help = drag_drop_help(); 3318 $help .= '<p>' . __('<a href="http://codex.wordpress.org/Writing_Posts" target="_blank">Writing Posts</a>') . '</p>'; 3319 $_wp_contextual_help['post'] = $help; 3320 } 3321 break; 3322 case 'page': 3323 if ( !isset($_wp_contextual_help['page']) ) { 3324 $help = drag_drop_help(); 3325 $_wp_contextual_help['page'] = $help; 3326 } 3327 break; 3328 case 'dashboard': 3329 if ( !isset($_wp_contextual_help['dashboard']) ) { 3330 $help = '<p>' . __('The modules on this screen can be arranged in several columns. You can select the number of columns from the Screen Options tab.') . "</p>\n"; 3331 $help .= drag_drop_help(); 3332 $_wp_contextual_help['dashboard'] = $help; 3333 } 3334 break; 3335 case 'link': 3336 if ( !isset($_wp_contextual_help['link']) ) { 3337 $help = drag_drop_help(); 3338 $_wp_contextual_help['link'] = $help; 3339 } 3340 break; 3341 case 'options-general': 3342 if ( !isset($_wp_contextual_help['options-general']) ) 3343 $_wp_contextual_help['options-general'] = __('<a href="http://codex.wordpress.org/Settings_General_SubPanel" target="_blank">General Settings</a>'); 3344 break; 3345 } 3336 3346 3337 3347 $_wp_contextual_help = apply_filters('contextual_help_list', $_wp_contextual_help, $screen); … … 3399 3409 } 3400 3410 3411 3412 function screen_layout($screen) { 3413 global $screen_layout_columns; 3414 3415 if ( 'dashboard' == $screen ) { 3416 $screen_layout_columns = get_user_option('screen_layout_dashboard'); 3417 $num = 4; 3418 /* add to the write pages? 3419 } elseif ( in_array( $screen, array('post', 'page', 'link') ) ) { 3420 $screen_layout_columns = get_user_option('screen_layout_write'); 3421 $num = 2; 3422 */ 3423 } else { 3424 $screen_layout_columns = 0; 3425 return ''; 3426 } 3427 3428 if ( ! $screen_layout_columns ) 3429 $screen_layout_columns = 2; 3430 3431 $i = 1; 3432 $return = '<h5>' . __('Screen Layout') . "</h5>\n<div class='columns-prefs'>" . __('Number of Columns:') . "\n"; 3433 while ( $i <= $num ) { 3434 $return .= "<label><input type='radio' name='screen_columns' value='$i'" . ( ($screen_layout_columns == $i) ? " checked='checked'" : "" ) . " /> $i</label>\n"; 3435 ++$i; 3436 } 3437 $return .= "</div>\n"; 3438 return $return; 3439 } 3440 3401 3441 function screen_icon($name = '') { 3402 3442 global $parent_file, $hook_suffix; -
trunk/wp-admin/js/postbox.dev.js
r10348 r10641 26 26 postboxes.save_state(page); 27 27 } ); 28 29 $('.columns-prefs input[type="radio"]').click(function(){ 30 var num = $(this).val(), i, el; 31 32 if ( num ) { 33 for ( i = 4; ( i > num && i > 1 ); i-- ) { 34 $('#' + colname(i-1) + '-sortables').append($('#' + colname(i) + '-sortables').children('.postbox')); 35 $('#' + colname(i) + '-sortables').parent().hide(); 36 } 37 for ( i = 1; i <= num; i++ ) { 38 el = $('#' + colname(i) + '-sortables') 39 if ( el.parent().is(':hidden') ) 40 el.addClass('temp-border').parent().show(); 41 } 42 } 43 $('.postbox-container:visible').css('width', 98/num + '%'); 44 postboxes.save_order(page); 45 }); 46 47 function colname(n) { 48 switch (n) { 49 case 1: 50 return 'normal'; 51 break 52 case 2: 53 return 'side'; 54 break 55 case 3: 56 return 'column3'; 57 break 58 case 4: 59 return 'column4'; 60 break 61 default: 62 return ''; 63 } 64 } 28 65 29 66 this.expandSidebar(); … … 32 69 33 70 expandSidebar : function(doIt) { 71 if ( ! $('#side-info-column').length ) 72 return; 73 34 74 if ( doIt || $('#side-sortables > .postbox:visible').length ) { 35 75 if ( ! $('#post-body').hasClass('has-sidebar') ) { … … 47 87 48 88 init : function(page, args) { 89 var fixed = $('#dashboard-widgets').length; 90 49 91 $.extend( this, args || {} ); 50 92 $('#wpbody-content').css('overflow','hidden'); … … 58 100 toleranceMove: 'tolerance', 59 101 sort: function(e,ui) { 102 if ( fixed ) 103 return; 104 60 105 if ( $(document).width() - e.clientX < 300 ) { 61 106 if ( ! $('#post-body').hasClass('has-sidebar') ) { … … 68 113 } 69 114 }, 70 stop: function() { 71 var postVars = { 72 action: 'meta-box-order', 73 _ajax_nonce: $('#meta-box-order-nonce').val(), 74 page: page 75 } 76 $('.meta-box-sortables').each( function() { 77 postVars["order[" + this.id.split('-')[0] + "]"] = $(this).sortable( 'toArray' ).join(','); 78 } ); 79 $.post( postboxL10n.requestFile, postVars, function() { 80 postboxes.expandSidebar(); 81 } ); 115 stop: function(e,ui) { 116 postboxes.save_order(page); 117 ui.item.parent().removeClass('temp-border'); 118 postboxes.expandSidebar(); 82 119 } 83 120 } ); … … 96 133 postboxes.expandSidebar(); 97 134 }, 135 136 save_order : function(page) { 137 var postVars, page_columns = $('.columns-prefs input:checked').val() || 0; 138 postVars = { 139 action: 'meta-box-order', 140 _ajax_nonce: $('#meta-box-order-nonce').val(), 141 page_columns: page_columns, 142 page: page 143 } 144 $('.meta-box-sortables').each( function() { 145 postVars["order[" + this.id.split('-')[0] + "]"] = $(this).sortable( 'toArray' ).join(','); 146 } ); 147 $.post( postboxL10n.requestFile, postVars ); 148 }, 98 149 99 150 /* Callbacks */ -
trunk/wp-admin/js/postbox.js
r10348 r10641 1 var postboxes;(function(a){postboxes={add_postbox_toggles:function(c,b){a(".postbox h3, .postbox .handlediv").click(function(){a(a(this).parent().get(0)).toggleClass("closed");postboxes.save_state(c)});a(".postbox h3 a").click(function( d){d.stopPropagation()});a(".hide-postbox-tog").click(function(){var d=jQuery(this).val();if(jQuery(this).attr("checked")){jQuery("#"+d).show();if(a.isFunction(postboxes.pbshow)){postboxes.pbshow(d)}}else{jQuery("#"+d).hide();if(a.isFunction(postboxes.pbhide)){postboxes.pbhide(d)}}postboxes.save_state(c)});this.expandSidebar();this.init(c,b)},expandSidebar:function(b){if(b||a("#side-sortables > .postbox:visible").length){if(!a("#post-body").hasClass("has-sidebar")){a("#post-body").addClass("has-sidebar");var c=Math.min(a("#post-body").height(),300);a("#side-sortables").css({minHeight:c+"px",height:"auto"})}}else{a("#post-body").removeClass("has-sidebar");a("#side-sortables").css({minHeight:"0"});if(a.browser.msie&&a.browser.version.charAt(0)==7){a("#side-sortables").css({height:"0"})}}},init:function(c,b){a.extend(this,b||{});a("#wpbody-content").css("overflow","hidden");a(".meta-box-sortables").sortable({placeholder:"sortable-placeholder",connectWith:[".meta-box-sortables"],items:"> .postbox",handle:".hndle",distance:2,tolerance:"pointer",toleranceMove:"tolerance",sort:function(f,d){if(a(document).width()-f.clientX<300){if(!a("#post-body").hasClass("has-sidebar")){var g=a("#side-sortables").offset();a("#side-sortables").append(d.item);a(d.placeholder).css({top:g.top,left:g.left}).width(a(d.item).width());postboxes.expandSidebar(1)}}},stop:function(){var d={action:"meta-box-order",_ajax_nonce:a("#meta-box-order-nonce").val(),page:c};a(".meta-box-sortables").each(function(){d["order["+this.id.split("-")[0]+"]"]=a(this).sortable("toArray").join(",")});a.post(postboxL10n.requestFile,d,function(){postboxes.expandSidebar()})}})},save_state:function(d){var b=a(".postbox").filter(".closed").map(function(){return this.id}).get().join(","),c=a(".postbox").filter(":hidden").map(function(){return this.id}).get().join(",");a.post(postboxL10n.requestFile,{action:"closed-postboxes",closed:b,hidden:c,closedpostboxesnonce:jQuery("#closedpostboxesnonce").val(),page:d});postboxes.expandSidebar()},pbshow:false,pbhide:false}}(jQuery));1 var postboxes;(function(a){postboxes={add_postbox_toggles:function(c,b){a(".postbox h3, .postbox .handlediv").click(function(){a(a(this).parent().get(0)).toggleClass("closed");postboxes.save_state(c)});a(".postbox h3 a").click(function(f){f.stopPropagation()});a(".hide-postbox-tog").click(function(){var e=jQuery(this).val();if(jQuery(this).attr("checked")){jQuery("#"+e).show();if(a.isFunction(postboxes.pbshow)){postboxes.pbshow(e)}}else{jQuery("#"+e).hide();if(a.isFunction(postboxes.pbhide)){postboxes.pbhide(e)}}postboxes.save_state(c)});a('.columns-prefs input[type="radio"]').click(function(){var e=a(this).val(),f,g;if(e){for(f=4;(f>e&&f>1);f--){a("#"+d(f-1)+"-sortables").append(a("#"+d(f)+"-sortables").children(".postbox"));a("#"+d(f)+"-sortables").parent().hide()}for(f=1;f<=e;f++){g=a("#"+d(f)+"-sortables");if(g.parent().is(":hidden")){g.addClass("temp-border").parent().show()}}}a(".postbox-container:visible").css("width",98/e+"%");postboxes.save_order(c)});function d(e){switch(e){case 1:return"normal";break;case 2:return"side";break;case 3:return"column3";break;case 4:return"column4";break;default:return""}}this.expandSidebar();this.init(c,b)},expandSidebar:function(b){if(!a("#side-info-column").length){return}if(b||a("#side-sortables > .postbox:visible").length){if(!a("#post-body").hasClass("has-sidebar")){a("#post-body").addClass("has-sidebar");var c=Math.min(a("#post-body").height(),300);a("#side-sortables").css({minHeight:c+"px",height:"auto"})}}else{a("#post-body").removeClass("has-sidebar");a("#side-sortables").css({minHeight:"0"});if(a.browser.msie&&a.browser.version.charAt(0)==7){a("#side-sortables").css({height:"0"})}}},init:function(d,b){var c=a("#dashboard-widgets").length;a.extend(this,b||{});a("#wpbody-content").css("overflow","hidden");a(".meta-box-sortables").sortable({placeholder:"sortable-placeholder",connectWith:[".meta-box-sortables"],items:"> .postbox",handle:".hndle",distance:2,tolerance:"pointer",toleranceMove:"tolerance",sort:function(g,f){if(c){return}if(a(document).width()-g.clientX<300){if(!a("#post-body").hasClass("has-sidebar")){var h=a("#side-sortables").offset();a("#side-sortables").append(f.item);a(f.placeholder).css({top:h.top,left:h.left}).width(a(f.item).width());postboxes.expandSidebar(1)}}},stop:function(g,f){postboxes.save_order(d);f.item.parent().removeClass("temp-border");postboxes.expandSidebar()}})},save_state:function(d){var b=a(".postbox").filter(".closed").map(function(){return this.id}).get().join(","),c=a(".postbox").filter(":hidden").map(function(){return this.id}).get().join(",");a.post(postboxL10n.requestFile,{action:"closed-postboxes",closed:b,hidden:c,closedpostboxesnonce:jQuery("#closedpostboxesnonce").val(),page:d});postboxes.expandSidebar()},save_order:function(c){var b,d=a(".columns-prefs input:checked").val()||0;b={action:"meta-box-order",_ajax_nonce:a("#meta-box-order-nonce").val(),page_columns:d,page:c};a(".meta-box-sortables").each(function(){b["order["+this.id.split("-")[0]+"]"]=a(this).sortable("toArray").join(",")});a.post(postboxL10n.requestFile,b)},pbshow:false,pbhide:false}}(jQuery)); -
trunk/wp-admin/wp-admin.css
r10557 r10641 1321 1321 1322 1322 /* Post Screen */ 1323 # normal-sortables {1323 #post-body-content #normal-sortables { 1324 1324 min-height: 50px; 1325 1325 } … … 1540 1540 } 1541 1541 1542 #dashboard-widgets .meta-box-sortables { 1543 margin: 0 5px; 1544 } 1545 1542 1546 .meta-box-sortables .postbox .handlediv { 1543 1547 float: right; … … 2969 2973 margin-left: 2em; 2970 2974 } 2975 2976 .postbox-container { 2977 float: left; 2978 padding-right: 0.5%; 2979 } 2980 2981 .postbox-container .meta-box-sortables { 2982 min-height: 300px; 2983 } 2984 2985 .temp-border { 2986 border: 1px dotted #ccc; 2987 } 2988 2989 .columns-prefs label { 2990 padding: 0 5px; 2991 } -
trunk/wp-includes/script-loader.php
r10635 r10641 246 246 $scripts->add( 'xfn', "/wp-admin/js/xfn$suffix.js", false, '3517m' ); 247 247 248 $scripts->add( 'postbox', "/wp-admin/js/postbox$suffix.js", array('jquery-ui-sortable'), '20090 102' );248 $scripts->add( 'postbox', "/wp-admin/js/postbox$suffix.js", array('jquery-ui-sortable'), '20090223' ); 249 249 $scripts->add_data( 'postbox', 'group', 1 ); 250 250 $scripts->localize( 'postbox', 'postboxL10n', array(
Note: See TracChangeset
for help on using the changeset viewer.