__('Count the page hit from each ip and display a counter into widget or page.', ADS_TEXT_DOMAIN ), ) // Widget description ); } // Creating widget front-end // This is where the action happens public function widget( $args, $instance ) { $instance['bosize'] = empty($instance['bosize']) ? '' : $instance['bosize']; $instance['botype'] = empty($instance['botype']) ? '' : $instance['botype']; $instance['bocolor'] = empty($instance['bocolor']) ? '' : $instance['bocolor']; $instance['boradius'] = empty($instance['boradius']) ? '' : $instance['boradius']; $options = array(); $options['title'] = apply_filters( 'widget_title', $instance['title'] ); $options['before'] = apply_filters( 'widget_before', $instance['before'] ); $options['after'] = apply_filters( 'widget_after', $instance['after'] ); $options['width'] = apply_filters( 'widget_width', $instance['width'] ); $options['height'] = apply_filters( 'widget_height', $instance['height'] ); $options['whunit'] = apply_filters( 'widget_whunit', $instance['whunit'] ); $options['image'] = apply_filters( 'widget_image', $instance['image'] ); $options['align'] = apply_filters( 'widget_align', $instance['align'] ); $options['length'] = apply_filters( 'widget_length', $instance['length'] ); $options['fill'] = apply_filters( 'widget_fill', $instance['fill'] ); $options['text'] = apply_filters( 'widget_text', $instance['text'] ); $options['block'] = apply_filters( 'widget_block', $instance['block'] ); $options['randimg'] = apply_filters( 'widget_randimg', $instance['randimg'] ); $options['imgmaxw'] = apply_filters( 'widget_imgmaxw', $instance['imgmaxw'] ); $options['bosize'] = apply_filters( 'widget_bosize', $instance['bosize'] ); $options['botype'] = apply_filters( 'widget_botype', $instance['botype'] ); $options['bocolor'] = apply_filters( 'widget_bocolor', $instance['bocolor'] ); $options['boradius'] = apply_filters( 'widget_boradius', $instance['boradius'] ); switch ($options['randimg']) { case 1: // hour $rand = adswsc_GetOptions( ADS_OPTIONS_RANDOM ); if ($rand['time'] != date('h')) { $rand['image'] = $this->get_randomImage(); $rand['time'] = date('h'); update_option(ADS_OPTIONS_RANDOM , $rand ); } $options['image'] = $rand['image']; break; case 2: //day $rand = adswsc_GetOptions( ADS_OPTIONS_RANDOM ); if ($rand['time'] != date('d')) { $rand['image'] = $this->get_randomImage(); $rand['time'] = date('d'); update_option(ADS_OPTIONS_RANDOM , $rand ); } $options['image'] = $rand['image']; break; case 3: // week $rand = adswsc_GetOptions( ADS_OPTIONS_RANDOM ); if ($rand['time'] != date('w')) { $rand['image'] = $this->get_randomImage(); $rand['time'] = date('w'); update_option(ADS_OPTIONS_RANDOM , $rand ); } $options['image'] = $rand['image']; break; case 4: // month $rand = adswsc_GetOptions( ADS_OPTIONS_RANDOM ); if ($rand['time'] != date('m')) { $rand['image'] = $this->get_randomImage(); $rand['time'] = date('m'); update_option(ADS_OPTIONS_RANDOM , $rand ); } $options['image'] = $rand['image']; break; case 5: // minutes $rand = adswsc_GetOptions( ADS_OPTIONS_RANDOM ); if ($rand['time'] != date('i')) { $rand['image'] = $this->get_randomImage(); $rand['time'] = date('i'); update_option(ADS_OPTIONS_RANDOM , $rand ); } $options['image'] = $rand['image']; break; default: break; } echo $args['before_widget']; if ( ! empty( $options['title'] ) ) echo $args['before_title'] . $options['title'] . $args['after_title']; echo adswsc_GetViewCounter(null, $options); echo $args['after_widget']; } private function get_randomImage() { $Directory = ADS_COUNTER_DIR.'*.jpg'; $FILES = glob($Directory); return basename($FILES[rand(0, sizeof($FILES)-1)]); } // Widget Backend public function form( $instance ) { $Directory = ADS_COUNTER_DIR.'*.jpg'; $FILES = glob($Directory); if (sizeof($FILES) > 0) $default_file = basename($FILES[0]); $title = isset( $instance[ 'title' ] ) ? $instance[ 'title' ] : __('Visitor counter', ADS_TEXT_DOMAIN); $before = isset( $instance[ 'before' ] ) ? $instance[ 'before' ] : __('Visits since 2014', ADS_TEXT_DOMAIN); $after = isset( $instance[ 'after' ] ) ? $instance[ 'after' ] : '%['.__('Welcome %dname', ADS_TEXT_DOMAIN).'\n]%'. __('Your IP: %ip', ADS_TEXT_DOMAIN); $width = isset( $instance[ 'width' ] ) ? $instance[ 'width' ] : 180; $height = isset( $instance[ 'height' ] ) ? $instance[ 'height' ] : ''; $whunit = isset( $instance[ 'whunit' ] ) ? $instance[ 'whunit' ] : 'px'; $image = isset( $instance[ 'image' ] ) ? $instance[ 'image' ] : $default_file; $align = isset( $instance[ 'align' ] ) ? $instance[ 'align' ] : 'center'; $length = isset( $instance[ 'length' ] ) ? $instance[ 'length' ] : 7; $fill = isset( $instance[ 'fill' ] ) ? $instance[ 'fill' ] : ''; $text = isset( $instance[ 'text' ] ) ? $instance[ 'text' ] : ''; $block = isset( $instance[ 'block' ] ) ? $instance[ 'block' ] : 'p'; $imgmaxw = isset( $instance[ 'imgmaxw' ] ) ? $instance[ 'imgmaxw' ] : 350; $randimg = isset( $instance[ 'randimg' ] ) ? $instance[ 'randimg' ] : 'on'; $bosize = isset( $instance[ 'bosize' ] ) ? $instance[ 'bosize' ] : 3; $botype = isset( $instance[ 'botype' ] ) ? $instance[ 'botype' ] : 'inset'; $bocolor = isset( $instance[ 'bocolor' ] ) ? $instance[ 'bocolor' ] : 'white'; $boradius = isset( $instance[ 'boradius' ] ) ? $instance[ 'boradius' ] : 3; $options = array ( 'title' => $title, 'before' => $before, 'after' => $after, 'width' => $width, 'height' => $height, 'whunit' => $whunit, 'image' => $image, 'align' => $align, 'length' => $length, 'fill' => $fill, 'text' => $text, 'block' => $block, 'imgmaxw' => $imgmaxw, 'randimg' => $randimg, 'bosize' => $bosize, 'botype' => $botype, 'bocolor' => $bocolor, 'boradius' => $boradius, ); // Widget admin form // title echo '
';
echo '
';
echo '';
echo '
';
echo '
';
echo '';
echo '
';
echo '
';
echo '';
echo '
';
echo '
';
echo '';
echo ' ';
echo ' ';
echo '';
echo '';
echo '
';
echo '
';
echo ' px';
echo '
';
echo '
';
echo '';
echo ' ';
echo '';
echo ' ';
echo ' ';
echo '';
echo '
'; echo ''; echo '
'; //Align and Length and Block echo '';
echo '
';
echo ''.__('fill with zerro', ADS_TEXT_DOMAIN).'
';
//text
echo ''.__('display as text', ADS_TEXT_DOMAIN).'
';
echo '
';
echo '
';
echo '';
echo '
'; echo adswsc_GetViewCounter(null, $options); echo '
'; } // Updating widget replacing old instances with new public function update( $new_instance, $old_instance ) { $instance = array(); $instance['title'] = ( ! empty( $new_instance['title'] ) ) ? strip_tags( $new_instance['title'] ) : ''; $instance['before'] = ( ! empty( $new_instance['before'] ) ) ? strip_tags( $new_instance['before'] ) : ''; $instance['after'] = ( ! empty( $new_instance['after'] ) ) ? strip_tags( $new_instance['after'] ) : ''; $instance['width'] = ( ! empty( $new_instance['width'] ) ) ? strip_tags( $new_instance['width'] ) : ''; $instance['height'] = ( ! empty( $new_instance['height'] ) ) ? strip_tags( $new_instance['height'] ) : ''; $instance['whunit'] = ( ! empty( $new_instance['whunit'] ) ) ? strip_tags( $new_instance['whunit'] ) : ''; $instance['image'] = ( ! empty( $new_instance['image'] ) ) ? strip_tags( $new_instance['image'] ) : ''; $instance['align'] = ( ! empty( $new_instance['align'] ) ) ? strip_tags( $new_instance['align'] ) : ''; $instance['length'] = ( ! empty( $new_instance['length'] ) ) ? strip_tags( $new_instance['length'] ) : ''; $instance['fill'] = ( ! empty( $new_instance['fill'] ) ) ? strip_tags( $new_instance['fill'] ) : ''; $instance['text'] = ( ! empty( $new_instance['text'] ) ) ? strip_tags( $new_instance['text'] ) : ''; $instance['block'] = ( ! empty( $new_instance['block'] ) ) ? strip_tags( $new_instance['block'] ) : ''; $instance['randimg'] = ( ! empty( $new_instance['randimg'] ) ) ? strip_tags( $new_instance['randimg'] ) : ''; $instance['imgmaxw'] = ( ! empty( $new_instance['imgmaxw'] ) ) ? strip_tags( $new_instance['imgmaxw'] ) : ''; $instance['bosize'] = ( ! empty( $new_instance['bosize'] ) ) ? strip_tags(min(9,max(0, absint( $new_instance['bosize'] ) ))) : ''; $instance['botype'] = ( ! empty( $new_instance['botype'] ) ) ? strip_tags( $new_instance['botype'] ) : ''; $instance['bocolor'] = ( ! empty( $new_instance['bocolor'] ) ) ? strip_tags( $new_instance['bocolor'] ) : ''; $instance['boradius'] = ( ! empty( $new_instance['boradius'] ) ) ? strip_tags( min(9,max(0, absint( $new_instance['boradius'] ) ))) : ''; return $instance; } }