--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/web/wp-content/themes/selecta/ocmx/widgets/four-block-widget.php Fri Mar 12 13:29:04 2010 +0000
@@ -0,0 +1,162 @@
+<?php
+class four_block_widget extends WP_Widget {
+ /** constructor */
+ function four_block_widget() {
+ parent::WP_Widget(false, $name = "OCMX Thumbnail Widget", array("description" => "Four block thumbnail widget for the Home Page. Place in the 'Index Header Panel'."));
+ }
+
+ /** @see WP_Widget::widget */
+ function widget($args, $instance) {
+ extract( $args );
+ $widget_title = esc_attr($instance["widget_title"]);
+
+ if(!($instance["post_category"])) :
+ $use_catId = 0;
+ $cat_query = "";
+ else :
+ $use_category = $instance["post_category"];
+ $use_catId = get_category_by_slug($use_category);
+ $cat_query = "&category_name=".$use_catId->cat_name;
+ endif;
+ //Fetch the category for the widget
+ if(!($instance["post_offset"])) :
+ $use_offset = 0;
+ else :
+ $use_offset = $instance["post_offset"];
+ endif;
+
+ //Fetch the count for the widget
+ if(!($instance["post_count"])) :
+ $post_count = 4;
+ else :
+ $post_count = $instance["post_count"];
+ endif;
+
+ $ocmx_featured = new WP_Query("showposts=$post_count&post_type=post".$cat_query);
+
+ //Set the post Aguments and Query accordingly
+ $count = 0;
+?>
+ <div class="post-slider clearfix">
+ <h2><?php echo $widget_title; ?></h2>
+ <ul>
+ <?php while ($ocmx_featured->have_posts()) : $ocmx_featured->the_post();
+ setup_postdata($post);
+ $count++;
+ if ($count == 5) :
+ $count = 1; ?>
+ </ul>
+ </div>
+ <div class="post-slider clearfix">
+ <ul>
+ <?php endif;
+ // Fetch the PermaLink, Thumbnail and Video Metas
+ $this_post = get_post($ocmx_featured->ID);
+ $get_post_video = get_post_meta($this_post->ID, "main_video", true);
+ $get_thumbnail = get_post_meta($this_post->ID, "other_media", true);
+ $get_video_thumbnail = get_post_meta($this_post->ID, "video_thumbnail", true);
+ $link = get_permalink($this_post->ID);
+ // Set our category
+ $category = get_the_category();
+ // If we haven't used our custom image input, search for the first image in the post
+ $post_image = "";
+ if($get_thumbnail == "" && (get_option("ocmx_auto_home_images") && get_option("ocmx_auto_home_images") !== "no")) :
+ $post_image = fetch_post_image($ocmx_featured->ID, "300", "600");
+ endif;
+ ?>
+ <li<?php if($count == 4) : echo " class=\"last\""; endif;?>>
+ <div class="container-header-light-normal"><span></span></div>
+ <div class="container-light">
+ <div class="thumbnail">
+ <?php if ($get_video_thumbnail !== "") :
+ /* Display Custom Video Image */
+ ?>
+ <img src="<?php bloginfo('template_directory'); ?>/functions/timthumb.php?src=<?php echo $get_video_thumbnail ?>&h=&w=300&zc=1" alt="<?php the_title(); ?>" />
+ <?php elseif ($post_image !== "") :
+ /* Display Post Image */
+ echo $post_image;
+ elseif ($get_thumbnail !== "") :
+ /* Display Custom Post Image */
+ ?>
+ <img src="<?php bloginfo('template_directory'); ?>/functions/timthumb.php?src=<?php echo $get_thumbnail ?>&h=&w=300&zc=1" alt="<?php the_title(); ?>" />
+ <?php endif; ?>
+ </div>
+ </div>
+ <div class="container-footer-light-normal"><span></span></div>
+ <h3><a href="<?php echo $link; ?>"><?php echo $this_post->post_title; ?></a></h3>
+ </li>
+ <?php endwhile; ?>
+ </ul>
+ </div>
+<?php
+ }
+
+ /** @see WP_Widget::update */
+ function update($new_instance, $old_instance) {
+ return $new_instance;
+ }
+
+ /** @see WP_Widget::form */
+ function form($instance) {
+ $widget_title = esc_attr($instance["widget_title"]);
+ $post_category = esc_attr($instance["post_category"]);
+ $post_count = esc_attr($instance["post_count"]);
+ $post_offset = esc_attr($instance["post_offset"]);
+
+ ?>
+ <p>
+ <label for="<?php echo $this->get_field_id('widget_title'); ?>">Title
+ <input type="text" class="widefat" id="<?php echo $this->get_field_id('widget_title'); ?>" name="<?php echo $this->get_field_name('widget_title'); ?>" value="<?php echo $widget_title; ?>">
+ </p>
+ <p>
+ <label for="<?php echo $this->get_field_id('post_count'); ?>">Post Count
+ <select size="1" class="widefat" id="<?php echo $this->get_field_id('post_count'); ?>" name="<?php echo $this->get_field_name('post_count'); ?>">
+ <?php for($i = 4; $i < 25; $i=$i+4) : ?>
+ <option <?php if($post_count == $i) : ?>selected="selected"<?php endif; ?> value="<?php echo $i; ?>"><?php echo $i; ?></option>
+ <?php endfor; ?>
+ </select>
+ </p>
+ <p>
+ <label for="<?php echo $this->get_field_id('post_offset'); ?>">Post Offset
+ <select size="1" class="widefat" id="<?php echo $this->get_field_id('post_offset'); ?>" name="<?php echo $this->get_field_name('post_offset'); ?>">
+ <option <?php if($post_offset == 0) : ?>selected="selected"<?php endif; ?> value="0">Latest Post</option>
+ <?php for($i = 1; $i <= 8; $i++) : ?>
+ <option <?php if($post_offset == $i) : ?>selected="selected"<?php endif; ?> value="<?php echo $i; ?>"><?php echo $i; ?> Posts Old</option>
+ <?php endfor; ?>
+ </select>
+ </p>
+
+ <p><label for="<?php echo $this->get_field_id('post_category'); ?>">Category
+ <select size="1" class="widefat" id="<?php echo $this->get_field_id("post_category"); ?>" name="<?php echo $this->get_field_name("post_category"); ?>">
+ <option <?php if($post_count == 0){echo "selected=\"selected\"";} ?> value="0">All</option>
+ <?php
+ $category_args = array('hide_empty' => false);
+ $option_loop = get_categories($category_args);
+ foreach($option_loop as $option_label => $value)
+ {
+ // Set the $value and $label for the options
+ $use_value = $value->slug;
+ $label = $value->cat_name;
+ //If this option == the value we set above, select it
+ if($use_value == $post_category)
+ {$selected = " selected='selected' ";}
+ else
+ {$selected = " ";}
+ ?>
+ <option <?php echo $selected; ?> value="<?php echo $use_value; ?>"><?php echo $label; ?></option>
+ <?php
+ }
+ ?>
+ </select>
+ </p>
+<?php
+ } // form
+
+}// class
+
+//This sample widget can then be registered in the widgets_init hook:
+
+// register FooWidget widget
+add_action('widgets_init', create_function('', 'return register_widget("four_block_widget");'));
+
+?>
\ No newline at end of file