web/wp-content/themes/selecta/ocmx/widgets/ocmx-latest-comments.php
author ymh <ymh.work@gmail.com>
Mon, 22 Mar 2010 16:36:28 +0100
changeset 5 ac511f1ccc8e
parent 1 0d28b7c10758
permissions -rw-r--r--
add hgignore
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
0d28b7c10758 First commit
ymh
parents:
diff changeset
     1
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
     2
class ocmx_comment_widget extends WP_Widget {
0d28b7c10758 First commit
ymh
parents:
diff changeset
     3
    /** constructor */
0d28b7c10758 First commit
ymh
parents:
diff changeset
     4
    function ocmx_comment_widget() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
     5
        parent::WP_Widget(false, $name = "OCMX Latest Comments", array("description" => "Display the Latest Comments"));	
0d28b7c10758 First commit
ymh
parents:
diff changeset
     6
    }
0d28b7c10758 First commit
ymh
parents:
diff changeset
     7
0d28b7c10758 First commit
ymh
parents:
diff changeset
     8
    /** @see WP_Widget::widget */
0d28b7c10758 First commit
ymh
parents:
diff changeset
     9
    function widget($args, $instance) {		
0d28b7c10758 First commit
ymh
parents:
diff changeset
    10
        extract( $args );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    11
		global $wpdb;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    12
        $comment_count = esc_attr($instance["comment_count"]);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    13
		$latest_comments = $wpdb->get_results($wpdb->prepare( "SELECT * FROM $wpdb->comments WHERE comment_approved = 1 ORDER BY comment_date DESC LIMIT ".$comment_count, "ARRAY_A") );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    14
?>      
0d28b7c10758 First commit
ymh
parents:
diff changeset
    15
		<li class="widget recent-comments">
0d28b7c10758 First commit
ymh
parents:
diff changeset
    16
			<div class="container-header-dark-normal"><span></span></div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
    17
			<ul class="container-dark">
0d28b7c10758 First commit
ymh
parents:
diff changeset
    18
				<?php foreach($latest_comments as $latest_comment) : 
0d28b7c10758 First commit
ymh
parents:
diff changeset
    19
					$this_comment = get_comment($latest_comment->comment_ID);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    20
					$use_id = $this_comment->comment_post_ID;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    21
					$this_post = get_post($use_id); 
0d28b7c10758 First commit
ymh
parents:
diff changeset
    22
					$post_title = $this_post->post_title;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    23
					$post_link = get_permalink($post->ID);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    24
				?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
    25
					<li class="clearfix">
0d28b7c10758 First commit
ymh
parents:
diff changeset
    26
						<a href="<?php echo get_comment_link($latest_comment->comment_ID); ?>" class="detail-image"><?php echo get_avatar($this_comment, 40 ); ?></a>
0d28b7c10758 First commit
ymh
parents:
diff changeset
    27
						<a href="<?php echo get_comment_link($latest_comment->comment_ID); ?>" class="detail-link">
0d28b7c10758 First commit
ymh
parents:
diff changeset
    28
							<span class="date"><?php echo date('F d Y', strtotime($latest_comment->comment_date)); ?> <?php echo date("H\:i a", strtotime($latest_comment->comment_date)); ?></span>
0d28b7c10758 First commit
ymh
parents:
diff changeset
    29
							<?php echo $post_title; ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
    30
						</a>
0d28b7c10758 First commit
ymh
parents:
diff changeset
    31
					</li>
0d28b7c10758 First commit
ymh
parents:
diff changeset
    32
				<?php endforeach; ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
    33
			</ul>
0d28b7c10758 First commit
ymh
parents:
diff changeset
    34
			<div class="container-footer-dark-normal"><span></span></div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
    35
        </li>
0d28b7c10758 First commit
ymh
parents:
diff changeset
    36
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
    37
    }
0d28b7c10758 First commit
ymh
parents:
diff changeset
    38
0d28b7c10758 First commit
ymh
parents:
diff changeset
    39
    /** @see WP_Widget::update */
0d28b7c10758 First commit
ymh
parents:
diff changeset
    40
    function update($new_instance, $old_instance) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    41
        return $new_instance;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    42
    }
0d28b7c10758 First commit
ymh
parents:
diff changeset
    43
0d28b7c10758 First commit
ymh
parents:
diff changeset
    44
    /** @see WP_Widget::form */
0d28b7c10758 First commit
ymh
parents:
diff changeset
    45
    function form($instance) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    46
        $comment_count = 		esc_attr($instance["comment_count"]);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    47
		
0d28b7c10758 First commit
ymh
parents:
diff changeset
    48
        ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
    49
            <p>
0d28b7c10758 First commit
ymh
parents:
diff changeset
    50
            	<label for="<?php echo $this->get_field_id('comment_count'); ?>">Comment Count</label>
0d28b7c10758 First commit
ymh
parents:
diff changeset
    51
                <select size="1" class="widefat" id="<?php echo $this->get_field_id('comment_count'); ?>" name="<?php echo $this->get_field_name('comment_count'); ?>">
0d28b7c10758 First commit
ymh
parents:
diff changeset
    52
                	<?php for($i = 1; $i < 10; $i++) : ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
    53
	                    <option <?php if($comment_count == $i) : ?>selected="selected"<?php endif; ?> value="<?php echo $i; ?>"><?php echo $i; ?></option>
0d28b7c10758 First commit
ymh
parents:
diff changeset
    54
                    <?php endfor; ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
    55
                </select>
0d28b7c10758 First commit
ymh
parents:
diff changeset
    56
			</p>
0d28b7c10758 First commit
ymh
parents:
diff changeset
    57
<?php 
0d28b7c10758 First commit
ymh
parents:
diff changeset
    58
	} // form
0d28b7c10758 First commit
ymh
parents:
diff changeset
    59
0d28b7c10758 First commit
ymh
parents:
diff changeset
    60
}// class
0d28b7c10758 First commit
ymh
parents:
diff changeset
    61
0d28b7c10758 First commit
ymh
parents:
diff changeset
    62
//This sample widget can then be registered in the widgets_init hook:
0d28b7c10758 First commit
ymh
parents:
diff changeset
    63
0d28b7c10758 First commit
ymh
parents:
diff changeset
    64
// register FooWidget widget
0d28b7c10758 First commit
ymh
parents:
diff changeset
    65
add_action('widgets_init', create_function('', 'return register_widget("ocmx_comment_widget");'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
    66
0d28b7c10758 First commit
ymh
parents:
diff changeset
    67
?>