Visitors Traffic Real Time Statistics - Version 4.3

Version Description

  1. Security bug fixes
Download this release

Release Info

Developer osamaesh
Plugin Icon 128x128 Visitors Traffic Real Time Statistics
Version 4.3
Comparing to
See all releases

Code changes from version 4.2 to 4.3

Visitors-Traffic-Real-Time-Statistics.php CHANGED
@@ -4,7 +4,7 @@ Plugin Name: Visitor Traffic Real Time Statistics
4
  Description: Hits counter that shows analytical numbers of your WordPress site visitors and hits.
5
  Author: wp-buy
6
  Author URI: https://www.wp-buy.com/
7
- Version: 4.2
8
  Text Domain: visitors-traffic-real-time-statistics
9
  Domain Path: /languages
10
  */
@@ -21,9 +21,6 @@ if( !function_exists('get_plugin_data') or !function_exists('wp_get_current_user
21
  }
22
 
23
 
24
- include_once("notifications.php");
25
-
26
-
27
 
28
  if ( function_exists('get_plugin_data') ) {
29
  $woodhl_detail = get_plugin_data( __FILE__ );
@@ -34,13 +31,14 @@ if ( function_exists('get_plugin_data') ) {
34
  update_option( 'visitors-traffic-real-time-statistics-pro-version', $woodhl_detail['Version'] );
35
  }
36
  }
 
 
37
 
38
- if(ahcfree_GetWPTimezoneString() !='')
39
  {
40
- date_default_timezone_set('UTC');
41
- //date_default_timezone_set(ahcfree_GetWPTimezoneString());
42
  }
43
-
44
 
45
  function ahcfree_HideMessageAjaxFunction()
46
  {
4
  Description: Hits counter that shows analytical numbers of your WordPress site visitors and hits.
5
  Author: wp-buy
6
  Author URI: https://www.wp-buy.com/
7
+ Version: 4.3
8
  Text Domain: visitors-traffic-real-time-statistics
9
  Domain Path: /languages
10
  */
21
  }
22
 
23
 
 
 
 
24
 
25
  if ( function_exists('get_plugin_data') ) {
26
  $woodhl_detail = get_plugin_data( __FILE__ );
31
  update_option( 'visitors-traffic-real-time-statistics-pro-version', $woodhl_detail['Version'] );
32
  }
33
  }
34
+ /*
35
+ $ahcfree_GetWPTimezoneString = isset(ahcfree_GetWPTimezoneString()) ? ahcfree_GetWPTimezoneString() : get_option( 'timezone_string' );
36
 
37
+ if(empty($ahcfree_GetWPTimezoneString))
38
  {
39
+ date_default_timezone_set(ahcfree_GetWPTimezoneString());
 
40
  }
41
+ */
42
 
43
  function ahcfree_HideMessageAjaxFunction()
44
  {
ahc_settings.php CHANGED
@@ -259,7 +259,9 @@ jQuery(document).ready(function() {
259
  <?php
260
  if($saved_suc)
261
  {
262
- echo '<br /><b style="color:green; margin-left:30px; float:left">settings saved successfully</b><br /><b style=" margin-left:30px; float:left"><a href="admin.php?page=ahc_hits_counter_settings">back to settings</a> | <a href="admin.php?page=ahc_hits_counter_menu_free">back to dashboard</a></b>';
 
 
263
  }
264
 
265
 
259
  <?php
260
  if($saved_suc)
261
  {
262
+ ?>
263
+ <br /><b style="color:green; margin-left:30px; float:left">settings saved successfully</b><br /><b style=" margin-left:30px; float:left"><a href="admin.php?page=ahc_hits_counter_settings">back to settings</a> | <a href="admin.php?page=ahc_hits_counter_menu_free">back to dashboard</a></b>
264
+ <?php
265
  }
266
 
267
 
functions.php CHANGED
@@ -2,13 +2,15 @@
2
 
3
  function vtrts_free_top_bar_enqueue_style() {
4
 
5
- echo '<style>
 
6
  #wpadminbar #wp-admin-bar-vtrts_free_top_button .ab-icon:before {
7
  content: "\f185";
8
  color: #1DAE22;
9
  top: 3px;
10
  }
11
- </style>';
 
12
 
13
  }
14
 
@@ -1677,7 +1679,7 @@ function ahcfree_get_top_countries( $limit = 0,$start='',$pagelimit='' ,$all='',
1677
  foreach ($results as $ctr) {
1678
  $response['data'][$c]['rank'] = $rank;
1679
  $furl = plugins_url('/images/flags/' . strtolower( $ctr->ctr_internet_code) . '.png', AHCFREE_PLUGIN_MAIN_FILE);
1680
- $flag ='<img src="'.$furl.'" border="0" alt="'.$ctr->ctr_name.'" width="30" height="20" onerror="imgFlagError(this)" />';
1681
  $response['data'][$c]['flag'] = $flag;
1682
  $response['data'][$c]['ctr_name'] = $ctr->ctr_name;
1683
  //$response['data'][$c]['ctr_internet_code'] = $ctr->ctr_internet_code;
@@ -1813,7 +1815,7 @@ function ahcfree_get_vsitors_by_country($all,$cnt=true,$start='',$limit='',$fdt=
1813
  $k = count($arr);
1814
  $arr[$k]['no'] =$no;
1815
  $imgurl = plugins_url('/images/flags/xx.png', AHCFREE_PLUGIN_MAIN_FILE);
1816
- $arr[$k]['country'] = '<img src="'.$imgurl.'" border="0" alt="'.$ctr->ctr_name.'" width="30" height="20" onerror="imgFlagError(this)" />';
1817
  $arr[$k]['ctr_name'] = 'others';
1818
  $arr[$k]['ctr_internet_code'] = 'XX';
1819
  $arr[$k]['total'] = $sum;
@@ -1946,13 +1948,13 @@ function ahcfree_get_recent_visitors($all,$cnt=true,$start='',$limit='',$fdt='',
1946
 
1947
  $arr[$c]['hit_id'] = $hit->vtr_id;
1948
  $hit_referer = (parse_url($hit->vtr_referer, PHP_URL_HOST) == $_SERVER['SERVER_NAME']) ? '' : rawurldecode($hit->vtr_referer);
1949
- $hitip = (!empty($hit->hit_referer) ? '<a href="'.$hit_referer.'" target="_blank"><img src="'.plugins_url('/images/openW.jpg', AHCFREE_PLUGIN_MAIN_FILE).'" title="'.ahc_view_referer.'"></a>' : '');
1950
  $arr[$c]['hit_ip_address'] = (get_option('ahcfree_ahcfree_haships') != '1') ? $hit->vtr_ip_address ."&nbsp;". $hitip : ahcfree_haship($hit->vtr_ip_address) ."&nbsp;". $hitip;
1951
  $img="";
1952
  if ( $hit->ctr_internet_code != '')
1953
  {
1954
  $imgurl = plugins_url('/images/flags/' . strtolower($hit->ctr_internet_code) . '.png', AHCFREE_PLUGIN_MAIN_FILE);
1955
- $img = "<img src='".$imgurl."' border='0' width='22' height='18' title='".$hit->ctr_name."' onerror='imgFlagError(this)' />&nbsp;";
1956
  }
1957
 
1958
  // $bimgurl = plugins_url('/images/browsers/' . $hit->bsr_icon, AHCFREE_PLUGIN_MAIN_FILE);
@@ -2087,9 +2089,9 @@ function ahcfree_get_latest_search_key_words_used($all,$cnt=true,$start='',$limi
2087
  $img='<span>';
2088
  if ($re->ctr_internet_code != '') {
2089
  $imgurl = plugins_url('/images/flags/' . strtolower( $re->ctr_internet_code) . '.png', AHCFREE_PLUGIN_MAIN_FILE);
2090
- $img .= '<img src="'.$imgurl.'" border="0" width="22" height="18" title="'.$re->ctr_name.'" onerror="imgFlagError(this)" />';
2091
  }
2092
- $img.= '&nbsp;'.$re->ctr_name.'</span>';
2093
  /*$eurl=plugins_url('/images/search_engines/' . $re->srh_icon, AHCFREE_PLUGIN_MAIN_FILE);
2094
  $img.='<span><img src="'.$eurl.'" border="0" width="22" height="22" title="'.$re->srh_name.'" /></span>';
2095
 
@@ -2099,7 +2101,7 @@ function ahcfree_get_latest_search_key_words_used($all,$cnt=true,$start='',$limi
2099
  $arr[$c]['img']=$img;
2100
  $arr[$c]['csb']=$re->ctr_name."/".$re->srh_name."/".$re->bsr_name;
2101
 
2102
- $arr[$c]['keyword'] = '<span class="searchKeyWords"><a href="'.rawurldecode($re->kwd_referer).'" target="_blank">'.$re->kwd_keywords.'</a></span>';
2103
 
2104
  $visitDate = new DateTime($re->kwd_date);
2105
  $visitDate->setTimezone($custom_timezone);
@@ -2700,7 +2702,7 @@ WHERE $cond GROUP BY $groupby";
2700
  $cls= 'visitorsGraph';
2701
  }
2702
  $css = (!empty($per)) ? 'style="width: ' . ceil($per) . '%;"' : '';
2703
- $arr[$j]['graph'] = '<div class="visitorsGraphContainer"><div class="'.$cls.'" '.$css.'>&nbsp;</div><div class="cleaner"></div></div><div class="visitorsPercent">('. ceil($per).')%</div>';
2704
  $j++;
2705
  $cls = '';
2706
  $per = 0;
2
 
3
  function vtrts_free_top_bar_enqueue_style() {
4
 
5
+ ?>
6
+ <style>
7
  #wpadminbar #wp-admin-bar-vtrts_free_top_button .ab-icon:before {
8
  content: "\f185";
9
  color: #1DAE22;
10
  top: 3px;
11
  }
12
+ </style>
13
+ <?php
14
 
15
  }
16
 
1679
  foreach ($results as $ctr) {
1680
  $response['data'][$c]['rank'] = $rank;
1681
  $furl = plugins_url('/images/flags/' . strtolower( $ctr->ctr_internet_code) . '.png', AHCFREE_PLUGIN_MAIN_FILE);
1682
+ $flag ='<img src="'.esc_url($furl).'" border="0" alt="'.esc_attr($ctr->ctr_name).'" width="30" height="20" onerror="imgFlagError(this)" />';
1683
  $response['data'][$c]['flag'] = $flag;
1684
  $response['data'][$c]['ctr_name'] = $ctr->ctr_name;
1685
  //$response['data'][$c]['ctr_internet_code'] = $ctr->ctr_internet_code;
1815
  $k = count($arr);
1816
  $arr[$k]['no'] =$no;
1817
  $imgurl = plugins_url('/images/flags/xx.png', AHCFREE_PLUGIN_MAIN_FILE);
1818
+ $arr[$k]['country'] = '<img src="'.esc_url($imgurl).'" border="0" alt="'.esc_url($ctr->ctr_name).'" width="30" height="20" onerror="imgFlagError(this)" />';
1819
  $arr[$k]['ctr_name'] = 'others';
1820
  $arr[$k]['ctr_internet_code'] = 'XX';
1821
  $arr[$k]['total'] = $sum;
1948
 
1949
  $arr[$c]['hit_id'] = $hit->vtr_id;
1950
  $hit_referer = (parse_url($hit->vtr_referer, PHP_URL_HOST) == $_SERVER['SERVER_NAME']) ? '' : rawurldecode($hit->vtr_referer);
1951
+ $hitip = (!empty($hit->hit_referer) ? '<a href="'.esc_url($hit_referer).'" target="_blank"><img src="'.esc_url(plugins_url('/images/openW.jpg', AHCFREE_PLUGIN_MAIN_FILE)).'" title="'.esc_attr(ahc_view_referer).'"></a>' : '');
1952
  $arr[$c]['hit_ip_address'] = (get_option('ahcfree_ahcfree_haships') != '1') ? $hit->vtr_ip_address ."&nbsp;". $hitip : ahcfree_haship($hit->vtr_ip_address) ."&nbsp;". $hitip;
1953
  $img="";
1954
  if ( $hit->ctr_internet_code != '')
1955
  {
1956
  $imgurl = plugins_url('/images/flags/' . strtolower($hit->ctr_internet_code) . '.png', AHCFREE_PLUGIN_MAIN_FILE);
1957
+ $img = "<img src='".esc_url($imgurl)."' border='0' width='22' height='18' title='".esc_attr($hit->ctr_name)."' onerror='imgFlagError(this)' />&nbsp;";
1958
  }
1959
 
1960
  // $bimgurl = plugins_url('/images/browsers/' . $hit->bsr_icon, AHCFREE_PLUGIN_MAIN_FILE);
2089
  $img='<span>';
2090
  if ($re->ctr_internet_code != '') {
2091
  $imgurl = plugins_url('/images/flags/' . strtolower( $re->ctr_internet_code) . '.png', AHCFREE_PLUGIN_MAIN_FILE);
2092
+ $img .= '<img src="'.esc_url($imgurl).'" border="0" width="22" height="18" title="'.esc_attr($re->ctr_name).'" onerror="imgFlagError(this)" />';
2093
  }
2094
+ $img.= '&nbsp;'.esc_html($re->ctr_name).'</span>';
2095
  /*$eurl=plugins_url('/images/search_engines/' . $re->srh_icon, AHCFREE_PLUGIN_MAIN_FILE);
2096
  $img.='<span><img src="'.$eurl.'" border="0" width="22" height="22" title="'.$re->srh_name.'" /></span>';
2097
 
2101
  $arr[$c]['img']=$img;
2102
  $arr[$c]['csb']=$re->ctr_name."/".$re->srh_name."/".$re->bsr_name;
2103
 
2104
+ $arr[$c]['keyword'] = '<span class="searchKeyWords"><a href="'.esc_url($re->kwd_referer).'" target="_blank">'.esc_html($re->kwd_keywords).'</a></span>';
2105
 
2106
  $visitDate = new DateTime($re->kwd_date);
2107
  $visitDate->setTimezone($custom_timezone);
2702
  $cls= 'visitorsGraph';
2703
  }
2704
  $css = (!empty($per)) ? 'style="width: ' . ceil($per) . '%;"' : '';
2705
+ $arr[$j]['graph'] = '<div class="visitorsGraphContainer"><div class="'.esc_attr($cls).'" '.$css.'>&nbsp;</div><div class="cleaner"></div></div><div class="visitorsPercent">('. ceil($per).')%</div>';
2706
  $j++;
2707
  $cls = '';
2708
  $per = 0;
notifications.php DELETED
@@ -1,156 +0,0 @@
1
- <?php
2
- if ( ! defined( 'ABSPATH' ) ) {
3
- // Exit if accessed directly.
4
- exit;
5
- }
6
-
7
- //////////CLASS NAME MUST BE UNIQUE RELATED TO PLUGIN NAME//////////
8
- if ( ! class_exists( 'wp_visitors_traffic_statistics' ) ) :
9
-
10
- class wp_visitors_traffic_statistics {//////////USE YOUR OWN CLASS NAME//////////
11
-
12
- public $notify_array_data = array();
13
- public $development_mode = false;// Put yes to allow development mode, you will see the rating notice without timers
14
- public $file_version = 3.3;//
15
- /* * * * * * * * * *
16
- * Class constructor
17
- * * * * * * * * * */
18
- public function __construct() {
19
- ///////////////////THIS MUST BE CHANGED FOR EACH PLUGIN BEGIN////////////////
20
- $this->notify_array_data["plugin_real_slug"] = "visitors-traffic-real-time-statistics";
21
- $this->notify_array_data["variable_slug"] = "wp_visitors_traffic_statistics_";// Use your own prefix
22
- $this->notify_array_data["message_header"] = __( 'Leave A Review?', $this->notify_array_data["plugin_real_slug"]);// Use your own prefix
23
- $this->notify_array_data["message_body"] = __( 'We hope you\'ve enjoyed using visitor traffic real time statistics plugin :), Would you mind taking a few minutes to write a review on WordPress.org?<br>Just writing simple "thank you" will make us happy!', $this->notify_array_data["plugin_real_slug"]);// Use your own prefix
24
- ///////////////////THIS MUST BE CHANGED FOR EACH PLUGIN END////////////////
25
-
26
- $this->notify_array_data["icon_path"] = plugins_url( '/notifications/icon-128x128.png' , __FILE__);
27
- $this->notify_array_data["rating_url"] = "https://wordpress.org/support/plugin/".$this->notify_array_data["plugin_real_slug"]."/reviews/#new-post";
28
- $this->notify_array_data["activation_period"] = 604800; // 7 DAYS IN SECONDS
29
- if ($this->development_mode)
30
- {
31
- delete_site_option( $this->notify_array_data["variable_slug"] . 'notification_bar_active_time' );
32
- delete_site_option( $this->notify_array_data["variable_slug"] . 'notification_bar_review_dismiss' );
33
- }
34
- $this->_hooks();
35
- }
36
-
37
- /**
38
- * Hook into actions and filters
39
- * @since 1.0.0
40
- * @version 1.2.1
41
- */
42
- private function _hooks() {
43
- add_action( 'admin_init', array( $this, "notification_bar_review_notice3" ) );
44
- }
45
-
46
- /**
47
- * Ask users to review our plugin on wordpress.org
48
- *
49
- * @since 1.0.11
50
- * @return boolean false
51
- * @version 1.1.3
52
- */
53
-
54
- public function notification_bar_review_notice3() {
55
-
56
- $this->notification_bar_review_dismissal();
57
-
58
- $this->notification_bar_review_pending();
59
-
60
- $activation_time = get_site_option( $this->notify_array_data["variable_slug"] . 'notification_bar_active_time' );
61
-
62
- $review_dismissal = get_site_option( $this->notify_array_data["variable_slug"] . 'notification_bar_review_dismiss' );
63
-
64
- if ($review_dismissal == 'yes' && !$this->development_mode) return;
65
-
66
- if ( !$activation_time && !$this->development_mode ) :
67
-
68
- $activation_time = time(); // Reset Time to current time.
69
- add_site_option( $this->notify_array_data["variable_slug"] . 'notification_bar_active_time', $activation_time );
70
-
71
- endif;
72
- if ($this->development_mode) $this->notify_array_data["activation_period"] = 0; //This variable used to show the message always for testing purposes only
73
-
74
- if ( time() - $activation_time > $this->notify_array_data["activation_period"] ) :
75
-
76
- wp_enqueue_style( $this->notify_array_data["variable_slug"] . 'notification_bar_review_stlye', plugins_url( '/notifications/style-review.css', __FILE__ ), array(), $this->file_version );
77
- add_action( 'admin_notices' , array( $this, 'notification_bar_review_notice_message' ) );
78
-
79
- endif;
80
- }
81
-
82
- /**
83
- * Check and Dismiss review message.
84
- *
85
- * @since 1.9
86
- */
87
- private function notification_bar_review_dismissal() {
88
- if ( ! is_admin() ||
89
- ! current_user_can( 'manage_options' ) ||
90
- ! isset( $_GET['_wpnonce'] ) ||
91
- ! wp_verify_nonce( sanitize_key( wp_unslash( $_GET['_wpnonce'] ) ), "notification_bar_review_nonce" ) ||
92
- ! isset( $_GET[$this->notify_array_data["variable_slug"].'notification_bar_review_dismiss'] ) ) :
93
-
94
- return;
95
- endif;
96
-
97
- add_site_option( $this->notify_array_data["variable_slug"] . 'notification_bar_review_dismiss', 'yes' );
98
- }
99
-
100
- /**
101
- * Set time to current so review notice will popup after 14 days
102
- *
103
- * @since 1.9
104
- */
105
- private function notification_bar_review_pending() {
106
- if ( ! is_admin() ||
107
- ! current_user_can( 'manage_options' ) ||
108
- ! isset( $_GET['_wpnonce'] ) ||
109
- ! wp_verify_nonce( sanitize_key( wp_unslash( $_GET['_wpnonce'] ) ), "notification_bar_review_nonce" ) ||
110
- ! isset( $_GET[$this->notify_array_data["variable_slug"] . 'notification_bar_review_later'] ) ) :
111
-
112
- return;
113
- endif;
114
-
115
- // Reset Time to current time.
116
- update_site_option( $this->notify_array_data["variable_slug"] . 'notification_bar_active_time', time() );
117
- }
118
-
119
- /**
120
- * Review notice message
121
- *
122
- * @since 1.0.11
123
- */
124
- public function notification_bar_review_notice_message() {
125
-
126
- $scheme = ( wp_parse_url( $_SERVER['REQUEST_URI'], PHP_URL_QUERY ) ) ? '&' : '?';
127
- $url = $_SERVER['REQUEST_URI'] . $scheme . $this->notify_array_data["variable_slug"] . 'notification_bar_review_dismiss=yes';
128
- $dismiss_url = wp_nonce_url( $url, "notification_bar_review_nonce" );
129
-
130
- $_later_link = $_SERVER['REQUEST_URI'] . $scheme . $this->notify_array_data["variable_slug"] . 'notification_bar_review_later=yes';
131
- $later_url = wp_nonce_url( $_later_link, "notification_bar_review_nonce" );
132
- ?>
133
-
134
- <div class="notification_bar_review-notice">
135
- <div class="notification_bar_review-thumbnail">
136
- <img src="<?php echo esc_url($this->notify_array_data["icon_path"]); ?>" alt="">
137
- </div>
138
- <div class="notification_bar_review-text">
139
- <h3><?php echo $this->notify_array_data["message_header"]; ?></h3>
140
- <p><?php echo $this->notify_array_data["message_body"]; ?></p>
141
- <ul class="notification_bar_review-ul">
142
- <li><a href="<?php echo esc_url($this->notify_array_data["rating_url"]); ?>" target="_blank"><span class="dashicons dashicons-external"></span><?php _e( 'Sure! I\'d love to!', $this->notify_array_data["plugin_real_slug"] ) ?></a></li>
143
- <li><a href="<?php echo esc_url($dismiss_url); ?>"><span class="dashicons dashicons-smiley"></span><?php _e( 'I\'ve already left a review', $this->notify_array_data["plugin_real_slug"] ) ?></a></li>
144
- <li><a href="<?php echo esc_url($later_url); ?>"><span class="dashicons dashicons-calendar-alt"></span><?php _e( 'Will Rate Later', $this->notify_array_data["plugin_real_slug"] ) ?></a></li>
145
- <li><a href="<?php echo esc_url($dismiss_url); ?>"><span class="dashicons dashicons-dismiss"></span><?php _e( 'Hide Forever', $this->notify_array_data["plugin_real_slug"] ) ?></a></li></ul>
146
- </div>
147
- </div>
148
- <?php
149
- }
150
- }
151
-
152
- endif;
153
-
154
- //Call all that work
155
- new wp_visitors_traffic_statistics(); //////////MUST BE RIGHT OBJECT SAME AS CLASS NAME//////////
156
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
overview.php CHANGED
@@ -80,15 +80,13 @@ var dateTime = day+' '+monthNames[d.getMonth()]+' '+year+', '+hour+':'+minute+':
80
 
81
  <div class="row" >
82
  <div class="col-lg-12">
83
- <?php
84
-
85
- echo '<br />
86
  <div id="vtrts_subscribe" class="alert alert-success is-dismissible alert alert-info is-dismissible" role="alert" style="font-size:12px" >
87
 
88
- <input type="text" width="400px" name="ahc_admin_email" id="ahc_admin_email" value="'.get_bloginfo("admin_email").'">
89
- <button type="button" class="btn btn-primary" onclick="vtrts_open_subscribe_page(\''.get_bloginfo("admin_email").'\')" >'.__("Subscribe", "vtrts-free").'</button><br /><br />'.__(" Subscribe now to get latest news and updates, plugin recommendations and configuration help, promotional email with", "vtrts-free").' <b style="color:red">'.__("discount codes :)" , "vtrts-free").'</b><br/><div style="float:right; font-size:12px; display:inline"><a href="#" style="cursor: pointer; !important;" onclick="vtrts_dismiss_notice()">'.__('Dismiss this notice', "vtrts-free").'</a></div>
90
- </div>';
91
- ?>
92
  <script>
93
  function vtrts_dismiss_notice()
94
  {
@@ -482,7 +480,7 @@ var dateTime = day+' '+monthNames[d.getMonth()]+' '+year+', '+hour+':'+minute+':
482
  <tbody>
483
  <?php
484
  $googlehits = 0;
485
- $rets = '';
486
  $norecord="";
487
  $referingSites = ahcfree_get_top_refering_sites();
488
  if (is_array($referingSites) && count($referingSites) > 0) {
@@ -493,16 +491,17 @@ var dateTime = day+' '+monthNames[d.getMonth()]+' '+year+', '+hour+':'+minute+':
493
  */
494
 
495
  str_replace('https://', '', $site['site_name']);
496
- $rets .= '<tr>
497
- <td class="values">' . $site['site_name'] . '&nbsp;<a href="https://' . str_replace('http://', '', $site['site_name']) . '" target="_blank"><img src="' . plugins_url('/images/openW.jpg', AHCFREE_PLUGIN_MAIN_FILE) . '" title="' . ahc_view_referer . '"></a></td>
498
- <td class="values">' . $site['total_hits'] . '</td>
499
- </tr>';
 
 
 
500
  //}
501
  }
502
- if ($googlehits > 0) {
503
-
504
- }
505
- echo $rets;
506
  }
507
  else
508
  {
@@ -577,7 +576,7 @@ var dateTime = day+' '+monthNames[d.getMonth()]+' '+year+', '+hour+':'+minute+':
577
  } else {
578
  echo 'visitorsGraph';
579
  }
580
- ?>" <?php echo (!empty($t['percent']) ? 'style="width: ' . ceil($t['percent']) . '%;"' : '') ?>>&nbsp;</div>
581
  <div class="cleaner"></div>
582
  </div>
583
  <div class="visitorsPercent">(<?php echo ceil($t['percent']) ?>)%..</div>
@@ -958,4 +957,4 @@ var dateTime = day+' '+monthNames[d.getMonth()]+' '+year+', '+hour+':'+minute+':
958
  //document.getElementById('today_visitors_detail_cnt').innerHTML = (document.getElementById('today_visitors').innerHTML);
959
  document.getElementById('today_visits_box').innerHTML = (document.getElementById('today_visits').innerHTML);
960
  document.getElementById('today_search_box').innerHTML = (document.getElementById('today_search').innerHTML);
961
- </script>
80
 
81
  <div class="row" >
82
  <div class="col-lg-12">
83
+ <br />
 
 
84
  <div id="vtrts_subscribe" class="alert alert-success is-dismissible alert alert-info is-dismissible" role="alert" style="font-size:12px" >
85
 
86
+ <input type="text" width="400px" name="ahc_admin_email" id="ahc_admin_email" value="<?php echo get_bloginfo("admin_email"); ?>">
87
+ <button type="button" class="btn btn-primary" onclick="vtrts_open_subscribe_page('<?php echo get_bloginfo("admin_email")?>')" >Subscribe</button><br /><br />Subscribe now to get latest news and updates, plugin recommendations and configuration help, promotional email with<b style="color:red"> discount codes :) </b><br/><div style="float:right; font-size:12px; display:inline"><a href="#" style="cursor: pointer; !important;" onclick="vtrts_dismiss_notice()">Dismiss this notice</a></div>
88
+ </div>
89
+
90
  <script>
91
  function vtrts_dismiss_notice()
92
  {
480
  <tbody>
481
  <?php
482
  $googlehits = 0;
483
+
484
  $norecord="";
485
  $referingSites = ahcfree_get_top_refering_sites();
486
  if (is_array($referingSites) && count($referingSites) > 0) {
491
  */
492
 
493
  str_replace('https://', '', $site['site_name']);
494
+ ?>
495
+ <tr>
496
+ <td class="values"><?php echo esc_html($site['site_name']);?>&nbsp;<a href="https://<?php echo str_replace('http://', '', esc_url($site['site_name'])) ?>" target="_blank"><img src="<?php echo esc_url(plugins_url('/images/openW.jpg', AHCFREE_PLUGIN_MAIN_FILE)) ?>" title="<?php echo esc_attr(ahc_view_referer)?>"></a></td>
497
+ <td class="values"><?php echo intval($site['total_hits']);?></td>
498
+ </tr>
499
+
500
+ <?php
501
  //}
502
  }
503
+
504
+
 
 
505
  }
506
  else
507
  {
576
  } else {
577
  echo 'visitorsGraph';
578
  }
579
+ ?>" <?php echo (!empty($t['percent']) ? ' ** style="width: ' . ceil($t['percent']) . '%;"' : '') ?>>&nbsp;</div>
580
  <div class="cleaner"></div>
581
  </div>
582
  <div class="visitorsPercent">(<?php echo ceil($t['percent']) ?>)%..</div>
957
  //document.getElementById('today_visitors_detail_cnt').innerHTML = (document.getElementById('today_visitors').innerHTML);
958
  document.getElementById('today_visits_box').innerHTML = (document.getElementById('today_visits').innerHTML);
959
  document.getElementById('today_search_box').innerHTML = (document.getElementById('today_search').innerHTML);
960
+ </script>
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: wp-buy, osamaesh
3
  Tags: visitor, traffic, statistics, analytics, stats, online, Visit, WordPress analytics ,visitors online, count visitor, google analytics, analytics, GeoIP, Geo locations, analytics dashboard, visits, chart, browser, blog, today, yesterday, week, month, wp Statistics, year, post, page, sidebar, summary, feedburner, hits, pagerank, google, histats, alexa, live visit, counter, diagram, graph
4
  Requires at least: 3.0.1
5
  Tested up to: 5.8.2
6
- Stable tag: 4.2
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
@@ -150,6 +150,9 @@ This plugin supports IPv6; however, PHP must be compiled with IPv6 support enabl
150
 
151
  == Changelog ==
152
 
 
 
 
153
 
154
  = 4.2 =
155
  1. Bug fixes & sanitizating
3
  Tags: visitor, traffic, statistics, analytics, stats, online, Visit, WordPress analytics ,visitors online, count visitor, google analytics, analytics, GeoIP, Geo locations, analytics dashboard, visits, chart, browser, blog, today, yesterday, week, month, wp Statistics, year, post, page, sidebar, summary, feedburner, hits, pagerank, google, histats, alexa, live visit, counter, diagram, graph
4
  Requires at least: 3.0.1
5
  Tested up to: 5.8.2
6
+ Stable tag: 4.3
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
150
 
151
  == Changelog ==
152
 
153
+ = 4.3 =
154
+ 1. Security bug fixes
155
+
156
 
157
  = 4.2 =
158
  1. Bug fixes & sanitizating