Changeset 5675
- Timestamp:
- 06/09/2007 12:59:14 AM (18 years ago)
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.2/wp-includes/widgets.php
r5673 r5675 610 610 } 611 611 612 function wp_widget_categories($args , $number = 1) {612 function wp_widget_categories($args) { 613 613 extract($args); 614 614 $options = get_option('widget_categories'); 615 616 $c = $options[$number]['count'] ? '1' : '0'; 617 $h = $options[$number]['hierarchical'] ? '1' : '0'; 618 $d = $options[$number]['dropdown'] ? '1' : '0'; 619 620 $title = empty($options[$number]['title']) ? __('Categories') : $options[$number]['title']; 615 $c = $options['count'] ? '1' : '0'; 616 $h = $options['hierarchical'] ? '1' : '0'; 617 $d = $options['dropdown'] ? '1' : '0'; 618 $title = empty($options['title']) ? __('Categories') : $options['title']; 621 619 622 620 echo $before_widget; … … 625 623 $cat_args = "orderby=name&show_count={$c}&hierarchical={$h}"; 626 624 627 if ( $d) {625 if($d) { 628 626 wp_dropdown_categories($cat_args . '&show_option_none= ' . __('Select Category')); 629 627 ?> … … 651 649 } 652 650 653 function wp_widget_categories_control( $number) {651 function wp_widget_categories_control() { 654 652 $options = $newoptions = get_option('widget_categories'); 655 656 if ( !is_array( $options ) ) { 657 $options = $newoptions = get_option( 'widget_categories' ); 658 } 659 660 if ( $_POST['categories-submit-' . $number] ) { 661 $newoptions[$number]['count'] = isset($_POST['categories-count-' . $number]); 662 $newoptions[$number]['hierarchical'] = isset($_POST['categories-hierarchical-' . $number]); 663 $newoptions[$number]['dropdown'] = isset($_POST['categories-dropdown-' . $number]); 664 $newoptions[$number]['title'] = strip_tags(stripslashes($_POST['categories-title-' . $number])); 665 } 666 653 if ( $_POST['categories-submit'] ) { 654 $newoptions['count'] = isset($_POST['categories-count']); 655 $newoptions['hierarchical'] = isset($_POST['categories-hierarchical']); 656 $newoptions['dropdown'] = isset($_POST['categories-dropdown']); 657 $newoptions['title'] = strip_tags(stripslashes($_POST['categories-title'])); 658 } 667 659 if ( $options != $newoptions ) { 668 660 $options = $newoptions; 669 661 update_option('widget_categories', $options); 670 662 } 671 672 $title = attribute_escape( $options[$number]['title'] ); 673 ?> 674 <p><label for="categories-title-<?php echo $number; ?>"> 675 <?php _e( 'Title:' ); ?> <input style="width:300px" id="categories-title-<?php echo $number; ?>" name="categories-title-<?php echo $number; ?>" type="text" value="<?php echo $title; ?>" /> 676 </label></p> 677 678 <p><label for="categories-dropdown-<?php echo $number; ?>"> 679 <input type="checkbox" class="checkbox" id="categories-dropdown-<?php echo $number; ?>" name="categories-dropdown-<?php echo $number; ?>"<?php echo $options[$number]['dropdown'] ? ' checked="checked"' : ''; ?> /> <?php _e( 'Show as dropdown' ); ?> 680 </label></p> 681 682 <p><label for="categories-count-<?php echo $number; ?>"> 683 <input type="checkbox" class="checkbox" id="categories-count-<?php echo $number; ?>" name="categories-count-<?php echo $number; ?>"<?php echo $options[$number]['count'] ? ' checked="checked"' : ''; ?> /> <?php _e( 'Show post counts' ); ?> 684 </label></p> 685 686 <p><label for="categories-hierarchical-<?php echo $number; ?>"> 687 <input type="checkbox" class="checkbox" id="categories-hierarchical-<?php echo $number; ?>" name="categories-hierarchical-<?php echo $number; ?>"<?php echo $options[$number]['count'] ? ' checked="checked"' : ''; ?> /> <?php _e( 'Show hierarchy' ); ?> 688 </label></p> 689 690 <input type="hidden" id="categories-submit-<?php echo $number; ?>" name="categories-submit-<?php echo $number; ?>" /> 691 <?php 692 } 693 694 function wp_widget_categories_setup() { 695 $options = $newoptions = get_option( 'widget_categories' ); 696 697 if ( isset( $_POST['categories-number-submit'] ) ) { 698 $number = (int) $_POST['categories-number']; 699 700 if ( $number > 9 ) { 701 $number = 9; 702 } elseif ( $number < 1 ) { 703 $number = 1; 704 } 705 706 $newoptions['number'] = $number; 707 } 708 709 if ( $newoptions != $options ) { 710 $options = $newoptions; 711 update_option( 'widget_categories', $options ); 712 wp_widget_categories_register( $options['number'] ); 713 } 714 } 715 716 function wp_widget_categories_page() { 717 $options = get_option( 'widget_categories' ); 718 ?> 719 <div class="wrap"> 720 <form method="post"> 721 <h2><?php _e( 'Categories Widgets' ); ?></h2> 722 <p style="line-height: 30px;"><?php _e( 'How many categories widgets would you like?' ); ?> 723 <select id="categories-number" name="categories-number" value="<?php echo attribute_escape( $options['number'] ); ?>"> 724 <?php 725 for ( $i = 1; $i < 10; $i++ ) { 726 echo '<option value="' . $i . '"' . ( $i == $options['number'] ? ' selected="selected"' : '' ) . '>' . $i . "</option>\n"; 727 } 728 ?> 729 </select> 730 <span class="submit"> 731 <input type="submit" value="<?php echo attribute_escape( __( 'Save' ) ); ?>" id="categories-number-submit" name="categories-number-submit" /> 732 </span> 733 </p> 734 </form> 735 </div> 736 <?php 737 } 738 739 function wp_widget_categories_register() { 740 $options = get_option( 'widget_categories' ); 741 $number = (int) $options['number']; 742 743 if ( $number > 9 ) { 744 $number = 9; 745 } elseif ( $number < 1 ) { 746 $number = 1; 747 } 748 749 $dims = array( 'width' => 460, 'height' => 350 ); 750 $class = array( 'classname' => 'widget_catgories' ); 751 752 for ( $i = 1; $i <= 9; $i++ ) { 753 $name = sprintf( __( 'Categories %d' ), $i ); 754 $id = 'categories-' . $i; 755 756 $widget_callback = ( $i <= $number ) ? 'wp_widget_categories' : ''; 757 $control_callback = ( $i <= $number ) ? 'wp_widget_categories_control' : ''; 758 759 wp_register_sidebar_widget( $id, $name, $widget_callback, $class, $i ); 760 wp_register_widget_control( $id, $name, $control_callback, $dims, $i ); 761 } 762 763 add_action( 'sidebar_admin_setup', 'wp_widget_categories_setup' ); 764 add_action( 'sidebar_admin_page', 'wp_widget_categories_page' ); 663 $count = $options['count'] ? 'checked="checked"' : ''; 664 $hierarchical = $options['hierarchical'] ? 'checked="checked"' : ''; 665 $dropdown = $options['dropdown'] ? 'checked="checked"' : ''; 666 $title = attribute_escape($options['title']); 667 ?> 668 <p><label for="categories-title"><?php _e('Title:'); ?> <input style="width: 250px;" id="categories-title" name="categories-title" type="text" value="<?php echo $title; ?>" /></label></p> 669 <p style="text-align:right;margin-right:40px;"><label for="categories-count"><?php _e('Show post counts'); ?> <input class="checkbox" type="checkbox" <?php echo $count; ?> id="categories-count" name="categories-count" /></label></p> 670 <p style="text-align:right;margin-right:40px;"><label for="categories-hierarchical" style="text-align:right;"><?php _e('Show hierarchy'); ?> <input class="checkbox" type="checkbox" <?php echo $hierarchical; ?> id="categories-hierarchical" name="categories-hierarchical" /></label></p> 671 <p style="text-align:right;margin-right:40px;"><label for="categories-dropdown" style="text-align:right;"><?php _e('Display as a drop down'); ?> <input class="checkbox" type="checkbox" <?php echo $dropdown; ?> id="categories-dropdown" name="categories-dropdown" /></label></p> 672 <input type="hidden" id="categories-submit" name="categories-submit" value="1" /> 673 <?php 765 674 } 766 675 … … 1046 955 1047 956 function wp_widgets_init() { 1048 $GLOBALS['wp_register_widget_defaults'] = true;1049 1050 $ dims90 = array( 'height' => 90, 'width' => 300 );1051 $dims 100 = array( 'height' => 100, 'width' => 300);1052 $dims1 50 = array( 'height' => 150, 'width' => 300);1053 957 global $wp_register_widget_defaults; 958 959 $wp_register_widget_defaults = true; 960 $dims90 = array('height' => 90, 'width' => 300); 961 $dims100 = array('height' => 100, 'width' => 300); 962 $dims150 = array('height' => 150, 'width' => 300); 1054 963 $class = array('classname' => 'widget_pages'); 1055 964 wp_register_sidebar_widget('pages', __('Pages'), 'wp_widget_pages', $class); 1056 965 wp_register_widget_control('pages', __('Pages'), 'wp_widget_pages_control', $dims150); 1057 1058 966 $class['classname'] = 'widget_calendar'; 1059 967 wp_register_sidebar_widget('calendar', __('Calendar'), 'wp_widget_calendar', $class); 1060 968 wp_register_widget_control('calendar', __('Calendar'), 'wp_widget_calendar_control', $dims90); 1061 1062 969 $class['classname'] = 'widget_archives'; 1063 970 wp_register_sidebar_widget('archives', __('Archives'), 'wp_widget_archives', $class); 1064 971 wp_register_widget_control('archives', __('Archives'), 'wp_widget_archives_control', $dims100); 1065 1066 972 $class['classname'] = 'widget_links'; 1067 973 wp_register_sidebar_widget('links', __('Links'), 'wp_widget_links', $class); 1068 1069 974 $class['classname'] = 'widget_meta'; 1070 975 wp_register_sidebar_widget('meta', __('Meta'), 'wp_widget_meta', $class); 1071 976 wp_register_widget_control('meta', __('Meta'), 'wp_widget_meta_control', $dims90); 1072 1073 977 $class['classname'] = 'widget_search'; 1074 978 wp_register_sidebar_widget('search', __('Search'), 'wp_widget_search', $class); 1075 979 $class['classname'] = 'widget_categories'; 980 wp_register_sidebar_widget('categories', __('Categories'), 'wp_widget_categories', $class); 981 wp_register_widget_control('categories', __('Categories'), 'wp_widget_categories_control', $dims150); 1076 982 $class['classname'] = 'widget_recent_entries'; 1077 983 wp_register_sidebar_widget('recent-posts', __('Recent Posts'), 'wp_widget_recent_entries', $class); 1078 984 wp_register_widget_control('recent-posts', __('Recent Posts'), 'wp_widget_recent_entries_control', $dims90); 1079 1080 985 wp_widget_text_register(); 1081 986 wp_widget_rss_register(); 1082 987 wp_widget_recent_comments_register(); 1083 wp_widget_categories_register();1084 988 1085 989 $wp_register_widget_defaults = false; -
trunk/wp-includes/widgets.php
r5673 r5675 610 610 } 611 611 612 function wp_widget_categories($args , $number = 1) {612 function wp_widget_categories($args) { 613 613 extract($args); 614 614 $options = get_option('widget_categories'); 615 616 $c = $options[$number]['count'] ? '1' : '0'; 617 $h = $options[$number]['hierarchical'] ? '1' : '0'; 618 $d = $options[$number]['dropdown'] ? '1' : '0'; 619 620 $title = empty($options[$number]['title']) ? __('Categories') : $options[$number]['title']; 615 $c = $options['count'] ? '1' : '0'; 616 $h = $options['hierarchical'] ? '1' : '0'; 617 $d = $options['dropdown'] ? '1' : '0'; 618 $title = empty($options['title']) ? __('Categories') : $options['title']; 621 619 622 620 echo $before_widget; … … 625 623 $cat_args = "orderby=name&show_count={$c}&hierarchical={$h}"; 626 624 627 if ( $d) {625 if($d) { 628 626 wp_dropdown_categories($cat_args . '&show_option_none= ' . __('Select Category')); 629 627 ?> … … 651 649 } 652 650 653 function wp_widget_categories_control( $number) {651 function wp_widget_categories_control() { 654 652 $options = $newoptions = get_option('widget_categories'); 655 656 if ( !is_array( $options ) ) { 657 $options = $newoptions = get_option( 'widget_categories' ); 658 } 659 660 if ( $_POST['categories-submit-' . $number] ) { 661 $newoptions[$number]['count'] = isset($_POST['categories-count-' . $number]); 662 $newoptions[$number]['hierarchical'] = isset($_POST['categories-hierarchical-' . $number]); 663 $newoptions[$number]['dropdown'] = isset($_POST['categories-dropdown-' . $number]); 664 $newoptions[$number]['title'] = strip_tags(stripslashes($_POST['categories-title-' . $number])); 665 } 666 653 if ( $_POST['categories-submit'] ) { 654 $newoptions['count'] = isset($_POST['categories-count']); 655 $newoptions['hierarchical'] = isset($_POST['categories-hierarchical']); 656 $newoptions['dropdown'] = isset($_POST['categories-dropdown']); 657 $newoptions['title'] = strip_tags(stripslashes($_POST['categories-title'])); 658 } 667 659 if ( $options != $newoptions ) { 668 660 $options = $newoptions; 669 661 update_option('widget_categories', $options); 670 662 } 671 672 $title = attribute_escape( $options[$number]['title'] ); 673 ?> 674 <p><label for="categories-title-<?php echo $number; ?>"> 675 <?php _e( 'Title:' ); ?> <input style="width:300px" id="categories-title-<?php echo $number; ?>" name="categories-title-<?php echo $number; ?>" type="text" value="<?php echo $title; ?>" /> 676 </label></p> 677 678 <p><label for="categories-dropdown-<?php echo $number; ?>"> 679 <input type="checkbox" class="checkbox" id="categories-dropdown-<?php echo $number; ?>" name="categories-dropdown-<?php echo $number; ?>"<?php echo $options[$number]['dropdown'] ? ' checked="checked"' : ''; ?> /> <?php _e( 'Show as dropdown' ); ?> 680 </label></p> 681 682 <p><label for="categories-count-<?php echo $number; ?>"> 683 <input type="checkbox" class="checkbox" id="categories-count-<?php echo $number; ?>" name="categories-count-<?php echo $number; ?>"<?php echo $options[$number]['count'] ? ' checked="checked"' : ''; ?> /> <?php _e( 'Show post counts' ); ?> 684 </label></p> 685 686 <p><label for="categories-hierarchical-<?php echo $number; ?>"> 687 <input type="checkbox" class="checkbox" id="categories-hierarchical-<?php echo $number; ?>" name="categories-hierarchical-<?php echo $number; ?>"<?php echo $options[$number]['count'] ? ' checked="checked"' : ''; ?> /> <?php _e( 'Show hierarchy' ); ?> 688 </label></p> 689 690 <input type="hidden" id="categories-submit-<?php echo $number; ?>" name="categories-submit-<?php echo $number; ?>" /> 691 <?php 692 } 693 694 function wp_widget_categories_setup() { 695 $options = $newoptions = get_option( 'widget_categories' ); 696 697 if ( isset( $_POST['categories-number-submit'] ) ) { 698 $number = (int) $_POST['categories-number']; 699 700 if ( $number > 9 ) { 701 $number = 9; 702 } elseif ( $number < 1 ) { 703 $number = 1; 704 } 705 706 $newoptions['number'] = $number; 707 } 708 709 if ( $newoptions != $options ) { 710 $options = $newoptions; 711 update_option( 'widget_categories', $options ); 712 wp_widget_categories_register( $options['number'] ); 713 } 714 } 715 716 function wp_widget_categories_page() { 717 $options = get_option( 'widget_categories' ); 718 ?> 719 <div class="wrap"> 720 <form method="post"> 721 <h2><?php _e( 'Categories Widgets' ); ?></h2> 722 <p style="line-height: 30px;"><?php _e( 'How many categories widgets would you like?' ); ?> 723 <select id="categories-number" name="categories-number" value="<?php echo attribute_escape( $options['number'] ); ?>"> 724 <?php 725 for ( $i = 1; $i < 10; $i++ ) { 726 echo '<option value="' . $i . '"' . ( $i == $options['number'] ? ' selected="selected"' : '' ) . '>' . $i . "</option>\n"; 727 } 728 ?> 729 </select> 730 <span class="submit"> 731 <input type="submit" value="<?php echo attribute_escape( __( 'Save' ) ); ?>" id="categories-number-submit" name="categories-number-submit" /> 732 </span> 733 </p> 734 </form> 735 </div> 736 <?php 737 } 738 739 function wp_widget_categories_register() { 740 $options = get_option( 'widget_categories' ); 741 $number = (int) $options['number']; 742 743 if ( $number > 9 ) { 744 $number = 9; 745 } elseif ( $number < 1 ) { 746 $number = 1; 747 } 748 749 $dims = array( 'width' => 460, 'height' => 350 ); 750 $class = array( 'classname' => 'widget_catgories' ); 751 752 for ( $i = 1; $i <= 9; $i++ ) { 753 $name = sprintf( __( 'Categories %d' ), $i ); 754 $id = 'categories-' . $i; 755 756 $widget_callback = ( $i <= $number ) ? 'wp_widget_categories' : ''; 757 $control_callback = ( $i <= $number ) ? 'wp_widget_categories_control' : ''; 758 759 wp_register_sidebar_widget( $id, $name, $widget_callback, $class, $i ); 760 wp_register_widget_control( $id, $name, $control_callback, $dims, $i ); 761 } 762 763 add_action( 'sidebar_admin_setup', 'wp_widget_categories_setup' ); 764 add_action( 'sidebar_admin_page', 'wp_widget_categories_page' ); 663 $count = $options['count'] ? 'checked="checked"' : ''; 664 $hierarchical = $options['hierarchical'] ? 'checked="checked"' : ''; 665 $dropdown = $options['dropdown'] ? 'checked="checked"' : ''; 666 $title = attribute_escape($options['title']); 667 ?> 668 <p><label for="categories-title"><?php _e('Title:'); ?> <input style="width: 250px;" id="categories-title" name="categories-title" type="text" value="<?php echo $title; ?>" /></label></p> 669 <p style="text-align:right;margin-right:40px;"><label for="categories-count"><?php _e('Show post counts'); ?> <input class="checkbox" type="checkbox" <?php echo $count; ?> id="categories-count" name="categories-count" /></label></p> 670 <p style="text-align:right;margin-right:40px;"><label for="categories-hierarchical" style="text-align:right;"><?php _e('Show hierarchy'); ?> <input class="checkbox" type="checkbox" <?php echo $hierarchical; ?> id="categories-hierarchical" name="categories-hierarchical" /></label></p> 671 <p style="text-align:right;margin-right:40px;"><label for="categories-dropdown" style="text-align:right;"><?php _e('Display as a drop down'); ?> <input class="checkbox" type="checkbox" <?php echo $dropdown; ?> id="categories-dropdown" name="categories-dropdown" /></label></p> 672 <input type="hidden" id="categories-submit" name="categories-submit" value="1" /> 673 <?php 765 674 } 766 675 … … 1046 955 1047 956 function wp_widgets_init() { 1048 $GLOBALS['wp_register_widget_defaults'] = true;1049 1050 $ dims90 = array( 'height' => 90, 'width' => 300 );1051 $dims 100 = array( 'height' => 100, 'width' => 300);1052 $dims1 50 = array( 'height' => 150, 'width' => 300);1053 957 global $wp_register_widget_defaults; 958 959 $wp_register_widget_defaults = true; 960 $dims90 = array('height' => 90, 'width' => 300); 961 $dims100 = array('height' => 100, 'width' => 300); 962 $dims150 = array('height' => 150, 'width' => 300); 1054 963 $class = array('classname' => 'widget_pages'); 1055 964 wp_register_sidebar_widget('pages', __('Pages'), 'wp_widget_pages', $class); 1056 965 wp_register_widget_control('pages', __('Pages'), 'wp_widget_pages_control', $dims150); 1057 1058 966 $class['classname'] = 'widget_calendar'; 1059 967 wp_register_sidebar_widget('calendar', __('Calendar'), 'wp_widget_calendar', $class); 1060 968 wp_register_widget_control('calendar', __('Calendar'), 'wp_widget_calendar_control', $dims90); 1061 1062 969 $class['classname'] = 'widget_archives'; 1063 970 wp_register_sidebar_widget('archives', __('Archives'), 'wp_widget_archives', $class); 1064 971 wp_register_widget_control('archives', __('Archives'), 'wp_widget_archives_control', $dims100); 1065 1066 972 $class['classname'] = 'widget_links'; 1067 973 wp_register_sidebar_widget('links', __('Links'), 'wp_widget_links', $class); 1068 1069 974 $class['classname'] = 'widget_meta'; 1070 975 wp_register_sidebar_widget('meta', __('Meta'), 'wp_widget_meta', $class); 1071 976 wp_register_widget_control('meta', __('Meta'), 'wp_widget_meta_control', $dims90); 1072 1073 977 $class['classname'] = 'widget_search'; 1074 978 wp_register_sidebar_widget('search', __('Search'), 'wp_widget_search', $class); 1075 979 $class['classname'] = 'widget_categories'; 980 wp_register_sidebar_widget('categories', __('Categories'), 'wp_widget_categories', $class); 981 wp_register_widget_control('categories', __('Categories'), 'wp_widget_categories_control', $dims150); 1076 982 $class['classname'] = 'widget_recent_entries'; 1077 983 wp_register_sidebar_widget('recent-posts', __('Recent Posts'), 'wp_widget_recent_entries', $class); 1078 984 wp_register_widget_control('recent-posts', __('Recent Posts'), 'wp_widget_recent_entries_control', $dims90); 1079 1080 985 wp_widget_text_register(); 1081 986 wp_widget_rss_register(); 1082 987 wp_widget_recent_comments_register(); 1083 wp_widget_categories_register();1084 988 1085 989 $wp_register_widget_defaults = false;
Note: See TracChangeset
for help on using the changeset viewer.