diff -r 0d9a58d2c515 -r 0d28b7c10758 web/wp-content/themes/thematic/library/extensions/widgets-extensions.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/web/wp-content/themes/thematic/library/extensions/widgets-extensions.php Fri Mar 12 13:29:04 2010 +0000 @@ -0,0 +1,468 @@ +'; + $search_form .= "\n" . "\t" . "\t"; + $search_form .= '
'; + $search_form .= "\n" . "\t" . "\t". "\t"; + if (is_search()) { + $search_form .= ''; + } else { + $value = __('To search, type and hit enter', 'thematic'); + $value = apply_filters('search_field_value',$value); + $search_form .= ''; + } + $search_form .= "\n" . "\t" . "\t". "\t"; + + $search_submit = ''; + + $search_form .= apply_filters('thematic_search_submit', $search_submit); + + $search_form .= "\n" . "\t" . "\t"; + $search_form .= '
'; + + $search_form .= "\n" . "\t"; + $search_form .= ''; + + echo apply_filters('thematic_search_form', $search_form); + +} + +// Widgets plugin: intializes the plugin after the widgets above have passed snuff + +function thematic_widgets_init() { + + // Define array for the widgetized areas + $thematic_widgetized_areas = array( + 'Primary Aside' => array( + 'admin_menu_order' => 100, + 'args' => array ( + 'name' => 'Primary Aside', + 'id' => 'primary-aside', + 'description' => __('The primary widget area, most often used as a sidebar.', 'thematic'), + 'before_widget' => thematic_before_widget(), + 'after_widget' => thematic_after_widget(), + 'before_title' => thematic_before_title(), + 'after_title' => thematic_after_title(), + ), + 'action_hook' => 'widget_area_primary_aside', + 'function' => 'thematic_primary_aside', + 'priority' => 10, + ), + 'Secondary Aside' => array( + 'admin_menu_order' => 200, + 'args' => array ( + 'name' => 'Secondary Aside', + 'id' => 'secondary-aside', + 'description' => __('The secondary widget area, most often used as a sidebar.', 'thematic'), + 'before_widget' => thematic_before_widget(), + 'after_widget' => thematic_after_widget(), + 'before_title' => thematic_before_title(), + 'after_title' => thematic_after_title(), + ), + 'action_hook' => 'widget_area_secondary_aside', + 'function' => 'thematic_secondary_aside', + 'priority' => 10, + ), + '1st Subsidiary Aside' => array( + 'admin_menu_order' => 300, + 'args' => array ( + 'name' => '1st Subsidiary Aside', + 'id' => '1st-subsidiary-aside', + 'description' => __('The 1st widget area in the footer.', 'thematic'), + 'before_widget' => thematic_before_widget(), + 'after_widget' => thematic_after_widget(), + 'before_title' => thematic_before_title(), + 'after_title' => thematic_after_title(), + ), + 'action_hook' => 'widget_area_subsidiaries', + 'function' => 'thematic_1st_subsidiary_aside', + 'priority' => 30, + ), + '2nd Subsidiary Aside' => array( + 'admin_menu_order' => 400, + 'args' => array ( + 'name' => '2nd Subsidiary Aside', + 'id' => '2nd-subsidiary-aside', + 'description' => __('The 2nd widget area in the footer.', 'thematic'), + 'before_widget' => thematic_before_widget(), + 'after_widget' => thematic_after_widget(), + 'before_title' => thematic_before_title(), + 'after_title' => thematic_after_title(), + ), + 'action_hook' => 'widget_area_subsidiaries', + 'function' => 'thematic_2nd_subsidiary_aside', + 'priority' => 50, + ), + '3rd Subsidiary Aside' => array( + 'admin_menu_order' => 500, + 'args' => array ( + 'name' => '3rd Subsidiary Aside', + 'id' => '3rd-subsidiary-aside', + 'description' => __('The 3rd widget area in the footer.', 'thematic'), + 'before_widget' => thematic_before_widget(), + 'after_widget' => thematic_after_widget(), + 'before_title' => thematic_before_title(), + 'after_title' => thematic_after_title(), + ), + 'action_hook' => 'widget_area_subsidiaries', + 'function' => 'thematic_3rd_subsidiary_aside', + 'priority' => 70, + ), + 'Index Top' => array( + 'admin_menu_order' => 600, + 'args' => array ( + 'name' => 'Index Top', + 'id' => 'index-top', + 'description' => __('The top widget area displayed on the index page.', 'thematic'), + 'before_widget' => thematic_before_widget(), + 'after_widget' => thematic_after_widget(), + 'before_title' => thematic_before_title(), + 'after_title' => thematic_after_title(), + ), + 'action_hook' => 'widget_area_index_top', + 'function' => 'thematic_index_top', + 'priority' => 10, + ), + 'Index Insert' => array( + 'admin_menu_order' => 700, + 'args' => array ( + 'name' => 'Index Insert', + 'id' => 'index-insert', + 'description' => __('The widget area inserted after x posts on the index page.', 'thematic'), + 'before_widget' => thematic_before_widget(), + 'after_widget' => thematic_after_widget(), + 'before_title' => thematic_before_title(), + 'after_title' => thematic_after_title(), + ), + 'action_hook' => 'widget_area_index_insert', + 'function' => 'thematic_index_insert', + 'priority' => 10, + ), + 'Index Bottom' => array( + 'admin_menu_order' => 800, + 'args' => array ( + 'name' => 'Index Bottom', + 'id' => 'index-bottom', + 'description' => __('The bottom widget area displayed on the index page.', 'thematic'), + 'before_widget' => thematic_before_widget(), + 'after_widget' => thematic_after_widget(), + 'before_title' => thematic_before_title(), + 'after_title' => thematic_after_title(), + ), + 'action_hook' => 'widget_area_index_bottom', + 'function' => 'thematic_index_bottom', + 'priority' => 10, + ), + 'Single Top' => array( + 'admin_menu_order' => 900, + 'args' => array ( + 'name' => 'Single Top', + 'id' => 'single-top', + 'description' => __('The top widget area displayed on a single post.', 'thematic'), + 'before_widget' => thematic_before_widget(), + 'after_widget' => thematic_after_widget(), + 'before_title' => thematic_before_title(), + 'after_title' => thematic_after_title(), + ), + 'action_hook' => 'widget_area_single_top', + 'function' => 'thematic_single_top', + 'priority' => 10, + ), + 'Single Insert' => array( + 'admin_menu_order' => 1000, + 'args' => array ( + 'name' => 'Single Insert', + 'id' => 'single-insert', + 'description' => __('The widget area inserted between the post and the comments on a single post.', 'thematic'), + 'before_widget' => thematic_before_widget(), + 'after_widget' => thematic_after_widget(), + 'before_title' => thematic_before_title(), + 'after_title' => thematic_after_title(), + ), + 'action_hook' => 'widget_area_single_insert', + 'function' => 'thematic_single_insert', + 'priority' => 10, + ), + 'Single Bottom' => array( + 'admin_menu_order' => 1100, + 'args' => array ( + 'name' => 'Single Bottom', + 'id' => 'single-bottom', + 'description' => __('The bottom widget area displayed on a single post.', 'thematic'), + 'before_widget' => thematic_before_widget(), + 'after_widget' => thematic_after_widget(), + 'before_title' => thematic_before_title(), + 'after_title' => thematic_after_title(), + ), + 'action_hook' => 'widget_area_single_bottom', + 'function' => 'thematic_single_bottom', + 'priority' => 10, + ), + 'Page Top' => array( + 'admin_menu_order' => 1200, + 'args' => array ( + 'name' => 'Page Top', + 'id' => 'page-top', + 'description' => __('The top widget area displayed on a page.', 'thematic'), + 'before_widget' => thematic_before_widget(), + 'after_widget' => thematic_after_widget(), + 'before_title' => thematic_before_title(), + 'after_title' => thematic_after_title(), + ), + 'action_hook' => 'widget_area_page_top', + 'function' => 'thematic_page_top', + 'priority' => 10, + ), + 'Page Bottom' => array( + 'admin_menu_order' => 1300, + 'args' => array ( + 'name' => 'Page Bottom', + 'id' => 'page-bottom', + 'description' => __('The bottom widget area displayed on a page.', 'thematic'), + 'before_widget' => thematic_before_widget(), + 'after_widget' => thematic_after_widget(), + 'before_title' => thematic_before_title(), + 'after_title' => thematic_after_title(), + ), + 'action_hook' => 'widget_area_page_bottom', + 'function' => 'thematic_page_bottom', + 'priority' => 10, + ), + ); + + $thematic_widgetized_areas = apply_filters('thematic_widgetized_areas', $thematic_widgetized_areas); + + if ( !function_exists('register_sidebars') ) + return; + + foreach ($thematic_widgetized_areas as $key => $value) { + register_sidebar($thematic_widgetized_areas[$key]['args']); + if (!has_action($thematic_widgetized_areas[$key]['action_hook'], $thematic_widgetized_areas[$key]['function'])) { + add_action($thematic_widgetized_areas[$key]['action_hook'], $thematic_widgetized_areas[$key]['function'], $thematic_widgetized_areas[$key]['priority']); + } + } + + // we will check for a Thematic widgets directory and and add and activate additional widgets + // Thanks to Joern Kretzschmar + $widgets_dir = @ dir(ABSPATH . '/wp-content/themes/' . get_template() . '/widgets'); + if ($widgets_dir) { + while(($widgetFile = $widgets_dir->read()) !== false) { + if (!preg_match('|^\.+$|', $widgetFile) && preg_match('|\.php$|', $widgetFile)) + include(ABSPATH . '/wp-content/themes/' . get_template() . '/widgets/' . $widgetFile); + } + } + + // we will check for the child themes widgets directory and add and activate additional widgets + // Thanks to Joern Kretzschmar + $widgets_dir = @ dir(ABSPATH . '/wp-content/themes/' . get_stylesheet() . '/widgets'); + if ((TEMPLATENAME != THEMENAME) && ($widgets_dir)) { + while(($widgetFile = $widgets_dir->read()) !== false) { + if (!preg_match('|^\.+$|', $widgetFile) && preg_match('|\.php$|', $widgetFile)) + include(ABSPATH . '/wp-content/themes/' . get_stylesheet() . '/widgets/' . $widgetFile); + } + } + + // Remove WP default Widgets + // WP 2.8 function using $widget_class + if (function_exists('unregister_widget')) { + unregister_widget('WP_Widget_Meta'); + unregister_widget('WP_Widget_Search'); + unregister_widget(''); + + // pre WP 2.8 function using $id + } else { + unregister_widget_control('meta'); + unregister_widget_control('search'); + } + + // Finished intializing Widgets plugin, now let's load the thematic default widgets + register_sidebar_widget(__('Search', 'thematic'), 'widget_thematic_search', null, 'search'); + unregister_widget_control('search'); + register_sidebar_widget(__('Meta', 'thematic'), 'widget_thematic_meta', null, 'meta'); + unregister_widget_control('meta'); + register_sidebar_widget(array(__('RSS Links', 'thematic'), 'widgets'), 'widget_thematic_rsslinks'); + register_widget_control(array(__('RSS Links', 'thematic'), 'widgets'), 'widget_thematic_rsslinks_control', 300, 90); + + // Pre-set Widgets + $preset_widgets = array ( + 'primary-aside' => array( 'search', 'pages', 'categories', 'archives' ), + 'secondary-aside' => array( 'links', 'rss-links', 'meta' ) + ); + + if ( isset( $_GET['activated'] ) ) { + update_option( 'sidebars_widgets', apply_filters('thematic_preset_widgets',$preset_widgets )); + } + +} + +// Runs our code at the end to check that everything needed has loaded +add_action( 'widgets_init', 'thematic_widgets_init' ); + +// We sort our array of widgetized areas to get a nice list display under wp-admin +function thematic_sort_widgetized_areas($content) { + asort($content); + return $content; +} +add_filter('thematic_widgetized_areas', 'thematic_sort_widgetized_areas', 100); + +// We start our functions for the widgetized areas here + +// Define the Primary Aside +function thematic_primary_aside() { + if (is_sidebar_active('primary-aside')) { + echo thematic_before_widget_area('primary-aside'); + dynamic_sidebar('primary-aside'); + echo thematic_after_widget_area('primary-aside'); + } +} + +// Define the Secondary Aside +function thematic_secondary_aside() { + if (is_sidebar_active('secondary-aside')) { + echo thematic_before_widget_area('secondary-aside'); + dynamic_sidebar('secondary-aside'); + echo thematic_after_widget_area('secondary-aside'); + } +} + +// Define the 1st Subsidiary Aside +function thematic_1st_subsidiary_aside() { + if (is_sidebar_active('1st-subsidiary-aside')) { + echo thematic_before_widget_area('1st-subsidiary-aside'); + dynamic_sidebar('1st-subsidiary-aside'); + echo thematic_after_widget_area('1st-subsidiary-aside'); + } +} + +// Define the 2nd Subsidiary Aside +function thematic_2nd_subsidiary_aside() { + if (is_sidebar_active('2nd-subsidiary-aside')) { + echo thematic_before_widget_area('2nd-subsidiary-aside'); + dynamic_sidebar('2nd-subsidiary-aside'); + echo thematic_after_widget_area('2nd-subsidiary-aside'); + } +} + +// Define the 3rd Subsidiary Aside +function thematic_3rd_subsidiary_aside() { + if (is_sidebar_active('3rd-subsidiary-aside')) { + echo thematic_before_widget_area('3rd-subsidiary-aside'); + dynamic_sidebar('3rd-subsidiary-aside'); + echo thematic_after_widget_area('3rd-subsidiary-aside'); + } +} + +// Define the Index Top +function thematic_index_top() { + if (is_sidebar_active('index-top')) { + echo thematic_before_widget_area('index-top'); + dynamic_sidebar('index-top'); + echo thematic_after_widget_area('index-top'); + } +} + +// Define the Index Insert +function thematic_index_insert() { + if (is_sidebar_active('index-insert')) { + echo thematic_before_widget_area('index-insert'); + dynamic_sidebar('index-insert'); + echo thematic_after_widget_area('index-insert'); + } +} + +// Define the Index Bottom +function thematic_index_bottom() { + if (is_sidebar_active('index-bottom')) { + echo thematic_before_widget_area('index-bottom'); + dynamic_sidebar('index-bottom'); + echo thematic_after_widget_area('index-bottom'); + } +} + +// Define the Single Top +function thematic_single_top() { + if (is_sidebar_active('single-top')) { + echo thematic_before_widget_area('single-top'); + dynamic_sidebar('single-top'); + echo thematic_after_widget_area('single-top'); + } +} + +// Define the Single Insert +function thematic_single_insert() { + if (is_sidebar_active('single-insert')) { + echo thematic_before_widget_area('single-insert'); + dynamic_sidebar('single-insert'); + echo thematic_after_widget_area('single-insert'); + } +} + +// Define the Single Bottom +function thematic_single_bottom() { + if (is_sidebar_active('single-bottom')) { + echo thematic_before_widget_area('single-bottom'); + dynamic_sidebar('single-bottom'); + echo thematic_after_widget_area('single-bottom'); + } +} + +// Define the Page Top +function thematic_page_top() { + if (is_sidebar_active('page-top')) { + echo thematic_before_widget_area('page-top'); + dynamic_sidebar('page-top'); + echo thematic_after_widget_area('page-top'); + } +} + +// Define the Page Bottom +function thematic_page_bottom() { + if (is_sidebar_active('page-bottom')) { + echo thematic_before_widget_area('page-bottom'); + dynamic_sidebar('page-bottom'); + echo thematic_after_widget_area('page-bottom'); + } +} + +// this function returns the opening CSS markup for the widget area +function thematic_before_widget_area($hook) { + $content = "\n"; + if ($hook == 'primary-aside') { + $content .= '
' . "\n"; + } elseif ($hook == 'secondary-aside') { + $content .= '
' . "\n"; + } elseif ($hook == '1st-subsidiary-aside') { + $content .= '
' . "\n"; + } elseif ($hook == '2nd-subsidiary-aside') { + $content .= '
' . "\n"; + } elseif ($hook == '3rd-subsidiary-aside') { + $content .= '
' . "\n"; + } else { + $content .= '
' ."\n"; + } + $content .= "\t" . '
    ' . "\n"; + return apply_filters('thematic_before_widget_area', $content); +} + +// this function returns the clossing CSS markup for the widget area +function thematic_after_widget_area($hook) { + $content = "\n" . "\t" . '
' ."\n"; + if ($hook == 'primary-aside') { + $content .= '
' ."\n"; + } elseif ($hook == 'secondary-aside') { + $content .= '
' ."\n"; + } elseif ($hook == '1st-subsidiary-aside') { + $content .= '
' ."\n"; + } elseif ($hook == '2nd-subsidiary-aside') { + $content .= '
' ."\n"; + } elseif ($hook == '3rd-subsidiary-aside') { + $content .= '
' ."\n"; + } else { + $content .= '
' ."\n"; + } + return apply_filters('thematic_after_widget_area', $content); +} + +?> \ No newline at end of file