wp/wp-content/plugins/akismet/widget.php
author ymh <ymh.work@gmail.com>
Wed, 06 Nov 2013 03:21:17 +0000
changeset 0 d970ebf37754
permissions -rw-r--r--
first import
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
<?php
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
 * @package Akismet
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
class Akismet_Widget extends WP_Widget {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
	function __construct() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
		parent::__construct(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
			'akismet_widget',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
			__( 'Akismet Widget' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
			array( 'description' => __( 'Display the number of spam comments Akismet has caught' ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
		);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
		if ( is_active_widget( false, false, $this->id_base ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
			add_action( 'wp_head', array( $this, 'css' ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
	function css() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
<style type="text/css">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
.a-stats {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
	width: auto;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
.a-stats a { 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
	background: #7CA821;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
	background-image:-moz-linear-gradient(0% 100% 90deg,#5F8E14,#7CA821);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
	background-image:-webkit-gradient(linear,0% 0,0% 100%,from(#7CA821),to(#5F8E14));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
	border: 1px solid #5F8E14;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
	border-radius:3px;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
	color: #CFEA93;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
	cursor: pointer;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
	display: block;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
	font-weight: normal;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
	height: 100%;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
	-moz-border-radius:3px;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
	padding: 7px 0 8px;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
	text-align: center;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
	text-decoration: none;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
	-webkit-border-radius:3px;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
	width: 100%;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
.a-stats a:hover { 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
	text-decoration: none;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
	background-image:-moz-linear-gradient(0% 100% 90deg,#6F9C1B,#659417);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
	background-image:-webkit-gradient(linear,0% 0,0% 100%,from(#659417),to(#6F9C1B));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
.a-stats .count {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
	color: #FFF;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
	display: block;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
	font-size: 15px;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
	line-height: 16px;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
	padding: 0 13px;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
	white-space: nowrap;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
</style>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
<?php
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
	function form( $instance ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
		if ( $instance ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
			$title = esc_attr( $instance['title'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
		else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
			$title = __( 'Spam Blocked' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
		<p>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
		<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:' ); ?></label> 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
		<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo $title; ?>" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
		</p>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
<?php 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
	function update( $new_instance, $old_instance ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
		$instance['title'] = strip_tags( $new_instance['title'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
		return $instance;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    84
	function widget( $args, $instance ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
		$count = get_option( 'akismet_spam_count' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
		echo $args['before_widget'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
		if ( ! empty( $instance['title'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
			echo $args['before_title'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
			echo esc_html( $instance['title'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
			echo $args['after_title'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
	<div class="a-stats">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
		<a href="http://akismet.com" target="_blank" title=""><?php printf( _n( '<strong class="count">%1$s spam</strong> blocked by <strong>Akismet</strong>', '<strong class="count">%1$s spam</strong> blocked by <strong>Akismet</strong>', $count ), number_format_i18n( $count ) ); ?></a>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
	</div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
<?php
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   100
		echo $args['after_widget'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   101
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   102
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   103
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   104
function akismet_register_widgets() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   105
	register_widget( 'Akismet_Widget' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   106
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   107
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   108
add_action( 'widgets_init', 'akismet_register_widgets' );