Make WordPress Core


Ignore:
Timestamp:
06/09/2007 12:59:14 AM (19 years ago)
Author:
rob1n
Message:

Revert multiple category stuff. see #4285

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2.2/wp-includes/widgets.php

    r5673 r5675  
    610610}
    611611
    612 function wp_widget_categories($args, $number = 1) {
     612function wp_widget_categories($args) {
    613613        extract($args);
    614614        $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'];
    621619
    622620        echo $before_widget;
     
    625623        $cat_args = "orderby=name&show_count={$c}&hierarchical={$h}";
    626624
    627         if ( $d ) {
     625        if($d) {
    628626                wp_dropdown_categories($cat_args . '&show_option_none= ' . __('Select Category'));
    629627?>
     
    651649}
    652650
    653 function wp_widget_categories_control( $number ) {
     651function wp_widget_categories_control() {
    654652        $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        }
    667659        if ( $options != $newoptions ) {
    668660                $options = $newoptions;
    669661                update_option('widget_categories', $options);
    670662        }
    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
    765674}
    766675
     
    1046955
    1047956function wp_widgets_init() {
    1048         $GLOBALS['wp_register_widget_defaults'] = true;
    1049        
    1050         $dims90 = array( 'height' => 90, 'width' => 300 );
    1051         $dims100 = array( 'height' => 100, 'width' => 300 );
    1052         $dims150 = 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);
    1054963        $class = array('classname' => 'widget_pages');
    1055964        wp_register_sidebar_widget('pages', __('Pages'), 'wp_widget_pages', $class);
    1056965        wp_register_widget_control('pages', __('Pages'), 'wp_widget_pages_control', $dims150);
    1057        
    1058966        $class['classname'] = 'widget_calendar';
    1059967        wp_register_sidebar_widget('calendar', __('Calendar'), 'wp_widget_calendar', $class);
    1060968        wp_register_widget_control('calendar', __('Calendar'), 'wp_widget_calendar_control', $dims90);
    1061        
    1062969        $class['classname'] = 'widget_archives';
    1063970        wp_register_sidebar_widget('archives', __('Archives'), 'wp_widget_archives', $class);
    1064971        wp_register_widget_control('archives', __('Archives'), 'wp_widget_archives_control', $dims100);
    1065        
    1066972        $class['classname'] = 'widget_links';
    1067973        wp_register_sidebar_widget('links', __('Links'), 'wp_widget_links', $class);
    1068        
    1069974        $class['classname'] = 'widget_meta';
    1070975        wp_register_sidebar_widget('meta', __('Meta'), 'wp_widget_meta', $class);
    1071976        wp_register_widget_control('meta', __('Meta'), 'wp_widget_meta_control', $dims90);
    1072        
    1073977        $class['classname'] = 'widget_search';
    1074978        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);
    1076982        $class['classname'] = 'widget_recent_entries';
    1077983        wp_register_sidebar_widget('recent-posts', __('Recent Posts'), 'wp_widget_recent_entries', $class);
    1078984        wp_register_widget_control('recent-posts', __('Recent Posts'), 'wp_widget_recent_entries_control', $dims90);
    1079        
    1080985        wp_widget_text_register();
    1081986        wp_widget_rss_register();
    1082987        wp_widget_recent_comments_register();
    1083         wp_widget_categories_register();
    1084988
    1085989        $wp_register_widget_defaults = false;
Note: See TracChangeset for help on using the changeset viewer.