Changeset 11503
- Timestamp:
- 06/01/2009 11:31:34 PM (15 years ago)
- Location:
- trunk
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-admin/css/ie.css
r11445 r11503 374 374 375 375 * html .widget-title h4 { 376 width: 2 10px;376 width: 205px; 377 377 } 378 378 -
trunk/wp-admin/css/widgets.css
r11498 r11503 323 323 } 324 324 325 #access-off, 326 .widgets_access .widget-action, 327 .widgets_access .sidebar-name-arrow, 328 .widgets_access #access-on, 329 .widgets_access .widget-holder .description { 330 display: none; 331 } 332 333 .widgets_access .widget-holder, 334 .widgets_access #widget-list { 335 padding-top: 10px; 336 } 337 338 .widgets_access #access-off { 339 display: inline; 340 } 341 342 .widgets_access #wpbody-content .widget-title-action, 343 .widgets_access #wpbody-content .widget-control-edit, 344 .widgets_access .closed .widgets-sortables, 345 .widgets_access .closed .widget-holder { 346 display: block; 347 } 348 349 .widgets_access .closed .sidebar-name { 350 -moz-border-radius-bottomleft: 0; 351 -moz-border-radius-bottomright: 0; 352 -webkit-border-bottom-right-radius: 0; 353 -webkit-border-bottom-left-radius: 0; 354 -khtml-border-bottom-right-radius: 0; 355 -khtml-border-bottom-left-radius: 0; 356 border-bottom-right-radius: 0; 357 border-bottom-left-radius: 0; 358 } 359 360 .widgets_access .sidebar-name, 361 .widgets_access .widget .widget-top { 362 cursor: default; 363 } 364 -
trunk/wp-admin/includes/template.php
r11485 r11503 3432 3432 $_wp_contextual_help = array(); 3433 3433 3434 $widgets_access = ''; 3435 3434 3436 switch ( $screen ) { 3435 3437 case 'post': … … 3475 3477 $_wp_contextual_help['widgets'] = $help; 3476 3478 } 3479 $widgets_access = '<p><a id="access-on" href="widgets.php?widgets-access=on">' . __('Enable accessibility mode') . '</a><a id="access-off" href="widgets.php?widgets-access=off">' . __('Disable accessibility mode') . "</a></p>\n"; 3480 $show_screen = true; 3477 3481 break; 3478 3482 } … … 3497 3501 <?php echo screen_layout($screen); ?> 3498 3502 <?php echo $screen_options; ?> 3503 <?php echo $widgets_access; ?> 3499 3504 <div><?php wp_nonce_field( 'screen-options-nonce', 'screenoptionnonce', false ); ?></div> 3500 3505 </form> -
trunk/wp-admin/js/widgets.dev.js
r11498 r11503 6 6 init : function() { 7 7 var rem; 8 9 if ( $('body').hasClass('widgets_access') ) { 10 return; 11 } 8 12 9 13 $('#widgets-right div.sidebar-name').click(function(){ -
trunk/wp-admin/js/widgets.js
r11498 r11503 1 var wpWidgets;(function(a){wpWidgets={init:function(){var b; a("#widgets-right div.sidebar-name").click(function(){var d=a(this).siblings(".widgets-sortables");if(d.is(":visible")){d.sortable("disable");a(this).parent().addClass("closed")}else{a(this).parent().removeClass("closed");d.sortable("enable").sortable("refresh")}});a("#widgets-left div.sidebar-name").click(function(){if(a(this).siblings(".widget-holder").is(":visible")){a(this).parent().addClass("closed")}else{a(this).parent().removeClass("closed")}});a("#widgets-right .widget, #wp_inactive_widgets .widget").each(function(){wpWidgets.appendTitle(this)});this.addEvents();a(".widget-error").parents(".widget").find("a.widget-action").click();a("#available-widgets").droppable({tolerance:"pointer",accept:function(c){return a(c).parent().attr("id")!="widget-list"},drop:function(d,c){c.draggable.addClass("deleting");a("#removing-widget").hide().children("span").html("")},over:function(d,c){c.draggable.addClass("deleting");a(".widget-placeholder").hide();if(c.draggable.hasClass("ui-sortable-helper")){a("#removing-widget").show().children("span").html(c.draggable.find(".widget-title h4").html())}},out:function(d,c){c.draggable.removeClass("deleting");a(".widget-placeholder").show();a("#removing-widget").hide().children("span").html("")}});a("#widget-list .widget").draggable({connectToSortable:".widgets-sortables",handle:".widget-title",distance:2,helper:"clone",zIndex:5,containment:"document",start:function(d,c){wpWidgets.fixWebkit(1);c.helper.find(".widget-description").hide()},stop:function(d,c){if(b){a(b).hide()}b="";wpWidgets.fixWebkit()}});a(".widgets-sortables").sortable({placeholder:"widget-placeholder",connectWith:".widgets-sortables",items:".widget",handle:".widget-title",cursor:"move",distance:2,containment:"document",start:function(d,c){wpWidgets.fixWebkit(1);c.item.find(".widget-inside").hide();c.item.css({marginLeft:"",width:""})},stop:function(f,c){if(c.item.hasClass("ui-draggable")){c.item.draggable("destroy")}if(c.item.hasClass("deleting")){wpWidgets.save(c.item,1,0,1);c.item.remove();return}var d=c.item.find("input.add_new").val(),i=c.item.find("input.multi_number").val(),h=c.item.attr("id"),g=a(this).attr("id");c.item.css({marginLeft:"",width:""});wpWidgets.fixWebkit();if(d){if("multi"==d){c.item.html(c.item.html().replace(/<[^<>]+>/g,function(e){return e.replace(/__i__|%i%/g,i)}));c.item.attr("id",h.replace(/__i__|%i%/g,i));i++;a("div#"+h).find("input.multi_number").val(i)}else{if("single"==d){c.item.attr("id","new-"+h);b="div#"+h}}wpWidgets.addEvents(c.item);wpWidgets.save(c.item,0,0,1);c.item.find("input.add_new").val("");c.item.find("a.widget-action").click();return}wpWidgets.saveOrder(g)},receive:function(d,c){if(!a(this).is(":visible")){a(this).sortable("cancel")}}}).not(":visible").sortable("disable");wpWidgets.resize();wpWidgets.fixLabels()},saveOrder:function(c){if(c){a("#"+c).parents(".widgets-holder-wrap").find(".ajax-feedback").css("visibility","visible")}var b={action:"widgets-order",savewidgets:a("#_wpnonce_widgets").val(),sidebars:[]};a(".widgets-sortables").each(function(){b["sidebars["+a(this).attr("id")+"]"]=a(this).sortable("toArray").join(",")});a.post(ajaxurl,b,function(){a(".ajax-feedback").css("visibility","hidden")});this.resize()},save:function(g,d,e,b){var h=g.parents(".widgets-sortables").attr("id"),f=g.find("form").serialize(),c;g=a(g);g.find(".ajax-feedback").css("visibility","visible");c={action:"save-widget",savewidgets:a("#_wpnonce_widgets").val(),sidebar:h};if(d){c.delete_widget=1}f+="&"+a.param(c);a.post(ajaxurl,f,function(i){var j;if(d){if(!a(".widget_number",g).val()){j=a(".widget-id",g).val();a("#available-widgets .widget-id").each(function(){if(a(this).val()==j){a(this).parents(".widget").show()}})}if(e){b=0;g.slideUp("fast",function(){a(this).remove();wpWidgets.saveOrder()})}else{g.remove();wpWidgets.resize()}}else{a(".ajax-feedback").css("visibility","hidden");if(i&&i.length>2){a(".widget-content",g).html(i);wpWidgets.appendTitle(g);wpWidgets.fixLabels(g)}}if(b){wpWidgets.saveOrder()}})},appendTitle:function(b){a('input[type="text"]',b).each(function(){var c;if(this.id.indexOf("title")!=-1){c=a(this).val().replace(/<[^<>]+>/g,"").replace(/</g,"<").replace(/>/g,">");if(c){a(".widget-title .in-widget-title",b).html(": "+c)}return false}})},resize:function(){a(".widgets-sortables").not("#wp_inactive_widgets").each(function(){var c=50,b=a(".widget",this).length;c=c+parseInt(b*48,10);a(this).css("minHeight",c+"px")})},fixWebkit:function(b){b=b?"none":"";a("body").css({WebkitUserSelect:b,KhtmlUserSelect:b})},fixLabels:function(b){b=b||document;a(".widget-inside label",b).each(function(){var c=a(this).attr("for");if(c&&c==a("input",this).attr("id")){a(this).removeAttr("for")}})},close:function(b){b.find(".widget-inside").slideUp("fast",function(){b.css({width:"",marginLeft:""})})},addEvents:function(b){b=b||document;a("a.widget-action",b).click(function(){var d=parseInt(a(this).parents(".widget").find(".widget-width").val(),10),e={},c=a(this).parents(".widget-top").siblings(".widget-inside");if(c.is(":hidden")){if(d>250&&c.parents(".widgets-sortables").length){e.width=d+30+"px";if(c.parents(".widget-liquid-right").length){e.marginLeft=235-d+"px"}c.parents(".widget").css(e)}c.slideDown("fast")}else{c.slideUp("fast",function(){c.parents(".widget").css({width:"",marginLeft:""})})}return false});a(".widget-control-save",b).click(function(){wpWidgets.save(a(this).parents(".widget"),0,1,0);return false});a(".widget-control-remove",b).click(function(){wpWidgets.save(a(this).parents(".widget"),1,1,0);return false});a(".widget-control-close",b).click(function(){wpWidgets.close(a(this).parents(".widget"));return false})}};a(document).ready(function(){wpWidgets.init()})})(jQuery);1 var wpWidgets;(function(a){wpWidgets={init:function(){var b;if(a("body").hasClass("widgets_access")){return}a("#widgets-right div.sidebar-name").click(function(){var d=a(this).siblings(".widgets-sortables");if(d.is(":visible")){d.sortable("disable");a(this).parent().addClass("closed")}else{a(this).parent().removeClass("closed");d.sortable("enable").sortable("refresh")}});a("#widgets-left div.sidebar-name").click(function(){if(a(this).siblings(".widget-holder").is(":visible")){a(this).parent().addClass("closed")}else{a(this).parent().removeClass("closed")}});a("#widgets-right .widget, #wp_inactive_widgets .widget").each(function(){wpWidgets.appendTitle(this)});this.addEvents();a(".widget-error").parents(".widget").find("a.widget-action").click();a("#available-widgets").droppable({tolerance:"pointer",accept:function(c){return a(c).parent().attr("id")!="widget-list"},drop:function(d,c){c.draggable.addClass("deleting");a("#removing-widget").hide().children("span").html("")},over:function(d,c){c.draggable.addClass("deleting");a(".widget-placeholder").hide();if(c.draggable.hasClass("ui-sortable-helper")){a("#removing-widget").show().children("span").html(c.draggable.find(".widget-title h4").html())}},out:function(d,c){c.draggable.removeClass("deleting");a(".widget-placeholder").show();a("#removing-widget").hide().children("span").html("")}});a("#widget-list .widget").draggable({connectToSortable:".widgets-sortables",handle:".widget-title",distance:2,helper:"clone",zIndex:5,containment:"document",start:function(d,c){wpWidgets.fixWebkit(1);c.helper.find(".widget-description").hide()},stop:function(d,c){if(b){a(b).hide()}b="";wpWidgets.fixWebkit()}});a(".widgets-sortables").sortable({placeholder:"widget-placeholder",connectWith:".widgets-sortables",items:".widget",handle:".widget-title",cursor:"move",distance:2,containment:"document",start:function(d,c){wpWidgets.fixWebkit(1);c.item.find(".widget-inside").hide();c.item.css({marginLeft:"",width:""})},stop:function(f,c){if(c.item.hasClass("ui-draggable")){c.item.draggable("destroy")}if(c.item.hasClass("deleting")){wpWidgets.save(c.item,1,0,1);c.item.remove();return}var d=c.item.find("input.add_new").val(),i=c.item.find("input.multi_number").val(),h=c.item.attr("id"),g=a(this).attr("id");c.item.css({marginLeft:"",width:""});wpWidgets.fixWebkit();if(d){if("multi"==d){c.item.html(c.item.html().replace(/<[^<>]+>/g,function(e){return e.replace(/__i__|%i%/g,i)}));c.item.attr("id",h.replace(/__i__|%i%/g,i));i++;a("div#"+h).find("input.multi_number").val(i)}else{if("single"==d){c.item.attr("id","new-"+h);b="div#"+h}}wpWidgets.addEvents(c.item);wpWidgets.save(c.item,0,0,1);c.item.find("input.add_new").val("");c.item.find("a.widget-action").click();return}wpWidgets.saveOrder(g)},receive:function(d,c){if(!a(this).is(":visible")){a(this).sortable("cancel")}}}).not(":visible").sortable("disable");wpWidgets.resize();wpWidgets.fixLabels()},saveOrder:function(c){if(c){a("#"+c).parents(".widgets-holder-wrap").find(".ajax-feedback").css("visibility","visible")}var b={action:"widgets-order",savewidgets:a("#_wpnonce_widgets").val(),sidebars:[]};a(".widgets-sortables").each(function(){b["sidebars["+a(this).attr("id")+"]"]=a(this).sortable("toArray").join(",")});a.post(ajaxurl,b,function(){a(".ajax-feedback").css("visibility","hidden")});this.resize()},save:function(g,d,e,b){var h=g.parents(".widgets-sortables").attr("id"),f=g.find("form").serialize(),c;g=a(g);g.find(".ajax-feedback").css("visibility","visible");c={action:"save-widget",savewidgets:a("#_wpnonce_widgets").val(),sidebar:h};if(d){c.delete_widget=1}f+="&"+a.param(c);a.post(ajaxurl,f,function(i){var j;if(d){if(!a(".widget_number",g).val()){j=a(".widget-id",g).val();a("#available-widgets .widget-id").each(function(){if(a(this).val()==j){a(this).parents(".widget").show()}})}if(e){b=0;g.slideUp("fast",function(){a(this).remove();wpWidgets.saveOrder()})}else{g.remove();wpWidgets.resize()}}else{a(".ajax-feedback").css("visibility","hidden");if(i&&i.length>2){a(".widget-content",g).html(i);wpWidgets.appendTitle(g);wpWidgets.fixLabels(g)}}if(b){wpWidgets.saveOrder()}})},appendTitle:function(b){a('input[type="text"]',b).each(function(){var c;if(this.id.indexOf("title")!=-1){c=a(this).val().replace(/<[^<>]+>/g,"").replace(/</g,"<").replace(/>/g,">");if(c){a(".widget-title .in-widget-title",b).html(": "+c)}return false}})},resize:function(){a(".widgets-sortables").not("#wp_inactive_widgets").each(function(){var c=50,b=a(".widget",this).length;c=c+parseInt(b*48,10);a(this).css("minHeight",c+"px")})},fixWebkit:function(b){b=b?"none":"";a("body").css({WebkitUserSelect:b,KhtmlUserSelect:b})},fixLabels:function(b){b=b||document;a(".widget-inside label",b).each(function(){var c=a(this).attr("for");if(c&&c==a("input",this).attr("id")){a(this).removeAttr("for")}})},close:function(b){b.find(".widget-inside").slideUp("fast",function(){b.css({width:"",marginLeft:""})})},addEvents:function(b){b=b||document;a("a.widget-action",b).click(function(){var d=parseInt(a(this).parents(".widget").find(".widget-width").val(),10),e={},c=a(this).parents(".widget-top").siblings(".widget-inside");if(c.is(":hidden")){if(d>250&&c.parents(".widgets-sortables").length){e.width=d+30+"px";if(c.parents(".widget-liquid-right").length){e.marginLeft=235-d+"px"}c.parents(".widget").css(e)}c.slideDown("fast")}else{c.slideUp("fast",function(){c.parents(".widget").css({width:"",marginLeft:""})})}return false});a(".widget-control-save",b).click(function(){wpWidgets.save(a(this).parents(".widget"),0,1,0);return false});a(".widget-control-remove",b).click(function(){wpWidgets.save(a(this).parents(".widget"),1,1,0);return false});a(".widget-control-close",b).click(function(){wpWidgets.close(a(this).parents(".widget"));return false})}};a(document).ready(function(){wpWidgets.init()})})(jQuery); -
trunk/wp-admin/widgets.php
r11450 r11503 301 301 } 302 302 303 $widgets_access = get_user_setting( 'widgets_access' ); 304 if ( isset($_GET['widgets-access']) ) { 305 $widgets_access = 'on' == $_GET['widgets-access'] ? 'on' : 'off'; 306 set_user_setting( 'widgets_access', $widgets_access ); 307 } 308 309 if ( 'on' == $widgets_access ) 310 add_filter( 'admin_body_class', create_function('', '{return " widgets_access ";}') ); 311 303 312 $messages = array( 304 313 __('Changes saved.') -
trunk/wp-includes/functions.php
r11493 r11503 784 784 setcookie( 'wp-settings-' . $user->ID, $settings, time() + 31536000, SITECOOKIEPATH ); 785 785 setcookie( 'wp-settings-time-' . $user->ID, time(), time() + 31536000, SITECOOKIEPATH ); 786 $_COOKIE['wp-settings-' . $user->ID] = $settings; 786 787 } 787 788 … … 799 800 function get_user_setting( $name, $default = false ) { 800 801 801 $arr = get_all_user_settings(); 802 803 return isset($arr[$name]) ? $arr[$name] : $default; 802 $all = get_all_user_settings(); 803 804 return isset($all[$name]) ? $all[$name] : $default; 805 } 806 807 /** 808 * Add or update user interface setting. 809 * 810 * Both $name and $value can contain only ASCII letters, numbers and underscores. 811 * This function has to be used before any output has started as it calls setcookie(). 812 * 813 * @package WordPress 814 * @subpackage Option 815 * @since 2.8.0 816 * 817 * @param string $name The name of the setting. 818 * @param string $value The value for the setting. 819 * @return bool true if set successfully/false if not. 820 */ 821 function set_user_setting( $name, $value ) { 822 823 if ( headers_sent() ) 824 return false; 825 826 $all = get_all_user_settings(); 827 $name = preg_replace( '/[^A-Za-z0-9_]+/', '', $name ); 828 829 if ( empty($name) ) 830 return false; 831 832 $all[$name] = $value; 833 834 return wp_set_all_user_settings($all); 804 835 } 805 836 … … 808 839 * 809 840 * Deleting settings would reset them to the defaults. 841 * This function has to be used before any output has started as it calls setcookie(). 810 842 * 811 843 * @package WordPress … … 814 846 * 815 847 * @param mixed $names The name or array of names of the setting to be deleted. 848 * @return bool true if deleted successfully/false if not. 816 849 */ 817 850 function delete_user_setting( $names ) { 818 global $current_user; 819 820 $arr = get_all_user_settings(); 851 852 if ( headers_sent() ) 853 return false; 854 855 $all = get_all_user_settings(); 821 856 $names = (array) $names; 822 857 823 858 foreach ( $names as $name ) { 824 if ( isset($a rr[$name]) ) {825 unset($a rr[$name]);826 $ settings = '';859 if ( isset($all[$name]) ) { 860 unset($all[$name]); 861 $deleted = true; 827 862 } 828 863 } 829 864 830 if ( isset($settings) ) { 831 foreach ( $arr as $k => $v ) 832 $settings .= $k . '=' . $v . '&'; 833 834 $settings = rtrim($settings, '&'); 835 836 update_user_option( $current_user->ID, 'user-settings', $settings ); 837 setcookie('wp-settings-' . $current_user->ID, $settings, time() + 31536000, SITECOOKIEPATH); 838 } 865 if ( isset($deleted) ) 866 return wp_set_all_user_settings($all); 867 868 return false; 839 869 } 840 870 … … 849 879 */ 850 880 function get_all_user_settings() { 881 global $_updated_user_settings; 882 851 883 if ( ! $user = wp_get_current_user() ) 852 884 return array(); 853 885 854 $arr = array(); 886 if ( isset($_updated_user_settings) && is_array($_updated_user_settings) ) 887 return $_updated_user_settings; 888 889 $all = array(); 855 890 if ( isset($_COOKIE['wp-settings-' . $user->ID]) ) { 856 891 $cookie = preg_replace( '/[^A-Za-z0-9=&_]/', '', $_COOKIE['wp-settings-' . $user->ID] ); 857 892 858 893 if ( $cookie && strpos($cookie, '=') ) // the '=' cannot be 1st char 859 parse_str($cookie, $arr); 860 861 } elseif ( isset($user->wp_usersettings) && is_string($user->wp_usersettings) ) { 862 parse_str( $user->wp_usersettings, $arr ); 863 } 864 865 return $arr; 894 parse_str($cookie, $all); 895 896 } else { 897 $option = get_user_option('user-settings', $user->ID); 898 if ( $option && is_string($option) ) 899 parse_str( $option, $all ); 900 } 901 902 return $all; 903 } 904 905 /** 906 * Private. Set all user interface settings. 907 * 908 * @package WordPress 909 * @subpackage Option 910 * @since 2.8.0 911 * 912 */ 913 function wp_set_all_user_settings($all) { 914 global $_updated_user_settings; 915 916 if ( ! $user = wp_get_current_user() ) 917 return false; 918 919 $_updated_user_settings = $all; 920 $settings = ''; 921 foreach ( $all as $k => $v ) { 922 $v = preg_replace( '/[^A-Za-z0-9_]+/', '', $v ); 923 $settings .= $k . '=' . $v . '&'; 924 } 925 926 $settings = rtrim($settings, '&'); 927 928 update_user_option( $user->ID, 'user-settings', $settings, false ); 929 update_user_option( $user->ID, 'user-settings-time', time(), false ); 930 931 return true; 866 932 } 867 933 … … 877 943 return; 878 944 879 delete_usermeta( $user->ID, 'user-settings');880 setcookie('wp-settings-' .$user->ID, ' ', time() - 31536000, SITECOOKIEPATH);945 update_user_option( $user->ID, 'user-settings', '', false ); 946 setcookie('wp-settings-' . $user->ID, ' ', time() - 31536000, SITECOOKIEPATH); 881 947 } 882 948 -
trunk/wp-includes/script-loader.php
r11498 r11503 333 333 $scripts->add_data( 'media-upload', 'group', 1 ); 334 334 335 $scripts->add( 'admin-widgets', "/wp-admin/js/widgets$suffix.js", array( 'jquery-ui-sortable', 'jquery-ui-draggable', 'jquery-ui-droppable' ), '20090 530' );335 $scripts->add( 'admin-widgets', "/wp-admin/js/widgets$suffix.js", array( 'jquery-ui-sortable', 'jquery-ui-draggable', 'jquery-ui-droppable' ), '20090601' ); 336 336 $scripts->add_data( 'admin-widgets', 'group', 1 ); 337 337 … … 439 439 $styles->add( 'global', '/wp-admin/css/global.css', array(), '20090514' ); 440 440 $styles->add( 'media', '/wp-admin/css/media.css', array(), '20090516' ); 441 $styles->add( 'widgets', '/wp-admin/css/widgets.css', array(), '20090 530' );441 $styles->add( 'widgets', '/wp-admin/css/widgets.css', array(), '20090601' ); 442 442 $styles->add( 'dashboard', '/wp-admin/css/dashboard.css', array(), '20090514' ); 443 443 $styles->add( 'install', '/wp-admin/css/install.css', array(), '20090514' );
Note: See TracChangeset
for help on using the changeset viewer.