CaffGeek/MBACNationals

View on GitHub
Web.Admin/2014/wordpress/wp-content/plugins/akismet/class.akismet-widget.php

Summary

Maintainability
A
1 hr
Test Coverage
<?php
/**
 * @package Akismet
 */
class Akismet_Widget extends WP_Widget {

    function __construct() {
        load_plugin_textdomain( 'akismet' );
        
        parent::__construct(
            'akismet_widget',
            __( 'Akismet Widget' , 'akismet'),
            array( 'description' => __( 'Display the number of spam comments Akismet has caught' , 'akismet') )
        );

        if ( is_active_widget( false, false, $this->id_base ) ) {
            add_action( 'wp_head', array( $this, 'css' ) );
        }
    }

    function css() {
?>

<style type="text/css">
.a-stats {
    width: auto;
}
.a-stats a {
    background: #7CA821;
    background-image:-moz-linear-gradient(0% 100% 90deg,#5F8E14,#7CA821);
    background-image:-webkit-gradient(linear,0% 0,0% 100%,from(#7CA821),to(#5F8E14));
    border: 1px solid #5F8E14;
    border-radius:3px;
    color: #CFEA93;
    cursor: pointer;
    display: block;
    font-weight: normal;
    height: 100%;
    -moz-border-radius:3px;
    padding: 7px 0 8px;
    text-align: center;
    text-decoration: none;
    -webkit-border-radius:3px;
    width: 100%;
}
.a-stats a:hover {
    text-decoration: none;
    background-image:-moz-linear-gradient(0% 100% 90deg,#6F9C1B,#659417);
    background-image:-webkit-gradient(linear,0% 0,0% 100%,from(#659417),to(#6F9C1B));
}
.a-stats .count {
    color: #FFF;
    display: block;
    font-size: 15px;
    line-height: 16px;
    padding: 0 13px;
    white-space: nowrap;
}
</style>

<?php
    }

    function form( $instance ) {
        if ( $instance ) {
            $title = $instance['title'];
        }
        else {
            $title = __( 'Spam Blocked' , 'akismet');
        }
?>

        <p>
        <label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php esc_html_e( 'Title:' , 'akismet'); ?></label>
        <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />
        </p>

<?php
    }

    function update( $new_instance, $old_instance ) {
        $instance['title'] = strip_tags( $new_instance['title'] );
        return $instance;
    }

    function widget( $args, $instance ) {
        $count = get_option( 'akismet_spam_count' );

        echo $args['before_widget'];
        if ( ! empty( $instance['title'] ) ) {
            echo $args['before_title'];
            echo esc_html( $instance['title'] );
            echo $args['after_title'];
        }
?>

    <div class="a-stats">
        <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 , 'akismet'), number_format_i18n( $count ) ); ?></a>
    </div>

<?php
        echo $args['after_widget'];
    }
}

function akismet_register_widgets() {
    register_widget( 'Akismet_Widget' );
}

add_action( 'widgets_init', 'akismet_register_widgets' );