Statify - Version 1.3.0

Version Description

  • Sourcecode-Optimierung fr die Plugin-Finalisierung
Download this release

Release Info

Developer sergej.mueller
Plugin Icon 128x128 Statify
Version 1.3.0
Comparing to
See all releases

Code changes from version 1.2.8 to 1.3.0

css/dashboard.css CHANGED
@@ -1,4 +1,4 @@
1
- /* @group Vorderseite */
2
 
3
  #statify_chart {
4
  color: #aaa;
@@ -52,7 +52,7 @@
52
  /* @end group */
53
 
54
 
55
- /* @group Hinterseite */
56
 
57
  #statify_dashboard .dashboard-widget-control-form {
58
  padding: 0 0 18px;
1
+ /* @group Front page */
2
 
3
  #statify_chart {
4
  color: #aaa;
52
  /* @end group */
53
 
54
 
55
+ /* @group Back stage */
56
 
57
  #statify_dashboard .dashboard-widget-control-form {
58
  padding: 0 0 18px;
inc/statify.class.php CHANGED
@@ -8,7 +8,7 @@ defined('ABSPATH') OR exit;
8
  /**
9
  * Statify
10
  *
11
- * @since 0.1
12
  */
13
 
14
  class Statify
@@ -25,8 +25,8 @@ class Statify
25
  /**
26
  * Pseudo-Konstruktor der Klasse
27
  *
28
- * @since 0.1
29
- * @change 0.1
30
  */
31
 
32
  public static function instance()
@@ -38,8 +38,8 @@ class Statify
38
  /**
39
  * Konstruktor der Klasse
40
  *
41
- * @since 0.1
42
- * @change 1.1
43
  */
44
 
45
  public function __construct()
@@ -132,8 +132,8 @@ class Statify
132
  /**
133
  * Hinzufügen der Meta-Links
134
  *
135
- * @since 0.1
136
- * @change 1.1
137
  *
138
  * @param array $input Array mit Links
139
  * @param string $file Name des Plugins
@@ -160,8 +160,8 @@ class Statify
160
  /**
161
  * Hinzufügen des Action-Links
162
  *
163
- * @since 0.1
164
- * @change 1.1
165
  */
166
 
167
  public static function add_action_link($input)
@@ -193,8 +193,8 @@ class Statify
193
  /**
194
  * Speicherung der Plugin-Optionen
195
  *
196
- * @since 1.1
197
- * @change 1.1
198
  *
199
  * @param array $options Array mit Optionen
200
  */
@@ -218,8 +218,8 @@ class Statify
218
  /**
219
  * Rückgabe der Plugin-Optionen
220
  *
221
- * @since 1.1
222
- * @change 1.1
223
  *
224
  * @return array $options Array mit Optionen
225
  */
@@ -255,8 +255,8 @@ class Statify
255
  /**
256
  * Rückgabe einer bestimmten Plugin-Option
257
  *
258
- * @since 1.1
259
- * @change 1.1
260
  *
261
  * @param string $key Array-Key für Optionen
262
  * @return mixed Wert der angeforderten Option
@@ -274,8 +274,8 @@ class Statify
274
  /**
275
  * Speicherung des Aufrufes in der DB
276
  *
277
- * @since 0.1
278
- * @change 1.2.6
279
  */
280
 
281
  public static function track_visit()
@@ -288,7 +288,7 @@ class Statify
288
  if ( $is_snippet ) {
289
  $target = urldecode( get_query_var('statify_target') );
290
  $referrer = urldecode( get_query_var('statify_referrer') );
291
- } else if ( !$use_snippet) {
292
  $target = ( empty($_SERVER['REQUEST_URI']) ? '/' : $_SERVER['REQUEST_URI'] );
293
  $referrer = ( empty($_SERVER['HTTP_REFERER']) ? '' : $_SERVER['HTTP_REFERER'] );
294
  } else {
@@ -301,7 +301,7 @@ class Statify
301
  }
302
 
303
  /* Bot? */
304
- if ( empty($_SERVER['HTTP_USER_AGENT']) or !preg_match('/(?:Windows|Macintosh|Linux|iPhone|iPad)/', $_SERVER['HTTP_USER_AGENT']) ) {
305
  return self::_jump_out($is_snippet);
306
  }
307
 
@@ -314,8 +314,11 @@ class Statify
314
  global $wpdb, $wp_rewrite;
315
 
316
  /* Init */
317
- $data = array();
318
- $home = home_url();
 
 
 
319
 
320
  /* Timestamp */
321
  $data['created'] = strftime(
@@ -324,16 +327,16 @@ class Statify
324
  );
325
 
326
  /* Referrer */
327
- if ( !empty($referrer) && strpos($referrer, $home) === false ) {
328
  $data['referrer'] = esc_url_raw($referrer);
329
  }
330
 
331
  /* Ziel */
332
- $data['target'] = str_replace( $home, '', home_url($target) );
333
 
334
  /* Parameter entfernen */
335
- if ( $wp_rewrite->permalink_structure && !is_search() ) {
336
- $data['target'] = preg_replace('/\?.*/', '', $data['target']);
337
  }
338
 
339
  /* Absichern */
@@ -358,7 +361,7 @@ class Statify
358
  *
359
  * @hook boolean statify_skip_tracking
360
  *
361
- * @return boolean $skip_hook TRUE, wenn KEIN Tracking des Aufrufes erfolgen soll
362
  */
363
 
364
  private static function _skip_tracking() {
@@ -373,8 +376,8 @@ class Statify
373
  /**
374
  * JavaScript-Header oder return
375
  *
376
- * @since 1.1
377
- * @change 1.2.2
378
  *
379
  * @param boolean $is_snippet JavaScript-Snippte als Aufruf?
380
  * @return mixed Exit oder return je nach Snippet
@@ -383,8 +386,7 @@ class Statify
383
  private static function _jump_out($is_snippet) {
384
  if ( $is_snippet ) {
385
  nocache_headers();
386
- status_header(204);
387
- header('Content-type: text/javascript');
388
  exit;
389
  }
390
 
@@ -395,8 +397,8 @@ class Statify
395
  /**
396
  * Deklariert GET-Variablen für die Weiternutzung
397
  *
398
- * @since 1.1
399
- * @change 1.1
400
  *
401
  * @param array $vars Array mit existierenden Variablen
402
  * @return array $vars Array mit Plugin-Variablen
@@ -413,7 +415,7 @@ class Statify
413
  /**
414
  * Ausgabe des JS-Snippets
415
  *
416
- * @since 1.1
417
  * @change 1.2.8
418
  */
419
 
8
  /**
9
  * Statify
10
  *
11
+ * @since 0.1.0
12
  */
13
 
14
  class Statify
25
  /**
26
  * Pseudo-Konstruktor der Klasse
27
  *
28
+ * @since 0.1.0
29
+ * @change 0.1.0
30
  */
31
 
32
  public static function instance()
38
  /**
39
  * Konstruktor der Klasse
40
  *
41
+ * @since 0.1.0
42
+ * @change 1.1.0
43
  */
44
 
45
  public function __construct()
132
  /**
133
  * Hinzufügen der Meta-Links
134
  *
135
+ * @since 0.1.0
136
+ * @change 1.1.0
137
  *
138
  * @param array $input Array mit Links
139
  * @param string $file Name des Plugins
160
  /**
161
  * Hinzufügen des Action-Links
162
  *
163
+ * @since 0.1.0
164
+ * @change 1.1.0
165
  */
166
 
167
  public static function add_action_link($input)
193
  /**
194
  * Speicherung der Plugin-Optionen
195
  *
196
+ * @since 1.1.0
197
+ * @change 1.1.0
198
  *
199
  * @param array $options Array mit Optionen
200
  */
218
  /**
219
  * Rückgabe der Plugin-Optionen
220
  *
221
+ * @since 1.1.0
222
+ * @change 1.1.0
223
  *
224
  * @return array $options Array mit Optionen
225
  */
255
  /**
256
  * Rückgabe einer bestimmten Plugin-Option
257
  *
258
+ * @since 1.1.0
259
+ * @change 1.1.0
260
  *
261
  * @param string $key Array-Key für Optionen
262
  * @return mixed Wert der angeforderten Option
274
  /**
275
  * Speicherung des Aufrufes in der DB
276
  *
277
+ * @since 0.1.0
278
+ * @change 1.3.0
279
  */
280
 
281
  public static function track_visit()
288
  if ( $is_snippet ) {
289
  $target = urldecode( get_query_var('statify_target') );
290
  $referrer = urldecode( get_query_var('statify_referrer') );
291
+ } else if ( ! $use_snippet) {
292
  $target = ( empty($_SERVER['REQUEST_URI']) ? '/' : $_SERVER['REQUEST_URI'] );
293
  $referrer = ( empty($_SERVER['HTTP_REFERER']) ? '' : $_SERVER['HTTP_REFERER'] );
294
  } else {
301
  }
302
 
303
  /* Bot? */
304
+ if ( empty($_SERVER['HTTP_USER_AGENT']) OR ! preg_match('/(?:Windows|Macintosh|Linux|iPhone|iPad)/', $_SERVER['HTTP_USER_AGENT']) ) {
305
  return self::_jump_out($is_snippet);
306
  }
307
 
314
  global $wpdb, $wp_rewrite;
315
 
316
  /* Init */
317
+ $data = array(
318
+ 'created' => '',
319
+ 'referrer' => '',
320
+ 'target' => ''
321
+ );
322
 
323
  /* Timestamp */
324
  $data['created'] = strftime(
327
  );
328
 
329
  /* Referrer */
330
+ if ( ! empty($referrer) && strpos( $referrer, home_url() ) === false ) {
331
  $data['referrer'] = esc_url_raw($referrer);
332
  }
333
 
334
  /* Ziel */
335
+ $data['target'] = home_url($target, 'relative');
336
 
337
  /* Parameter entfernen */
338
+ if ( $wp_rewrite->permalink_structure && ! is_search() ) {
339
+ $data['target'] = parse_url($data['target'], PHP_URL_PATH);
340
  }
341
 
342
  /* Absichern */
361
  *
362
  * @hook boolean statify_skip_tracking
363
  *
364
+ * @return boolean $skip_hook TRUE, wenn KEIN Tracking des Seitenaufrufes erfolgen soll
365
  */
366
 
367
  private static function _skip_tracking() {
376
  /**
377
  * JavaScript-Header oder return
378
  *
379
+ * @since 1.1.0
380
+ * @change 1.3.0
381
  *
382
  * @param boolean $is_snippet JavaScript-Snippte als Aufruf?
383
  * @return mixed Exit oder return je nach Snippet
386
  private static function _jump_out($is_snippet) {
387
  if ( $is_snippet ) {
388
  nocache_headers();
389
+ header('Content-type: text/javascript', true, 204);
 
390
  exit;
391
  }
392
 
397
  /**
398
  * Deklariert GET-Variablen für die Weiternutzung
399
  *
400
+ * @since 1.1.0
401
+ * @change 1.1.0
402
  *
403
  * @param array $vars Array mit existierenden Variablen
404
  * @return array $vars Array mit Plugin-Variablen
415
  /**
416
  * Ausgabe des JS-Snippets
417
  *
418
+ * @since 1.1.0
419
  * @change 1.2.8
420
  */
421
 
inc/statify_dashboard.class.php CHANGED
@@ -18,7 +18,7 @@ class Statify_Dashboard
18
  /**
19
  * Anzeige des Dashboard-Widgets
20
  *
21
- * @since 0.1
22
  * @change 1.2.3
23
  */
24
 
@@ -69,8 +69,8 @@ class Statify_Dashboard
69
  /**
70
  * Ausgabe der Stylesheets
71
  *
72
- * @since 0.1
73
- * @change 1.1
74
  */
75
 
76
  public static function add_style()
@@ -91,7 +91,7 @@ class Statify_Dashboard
91
  /**
92
  * Ausgabe von JavaScript
93
  *
94
- * @since 0.1
95
  * @change 1.2.5
96
  */
97
 
@@ -139,8 +139,8 @@ class Statify_Dashboard
139
  /**
140
  * Ausgabe der Frontseite
141
  *
142
- * @since 0.1
143
- * @change 1.2.7
144
  */
145
 
146
  public static function print_frontview()
@@ -167,15 +167,15 @@ class Statify_Dashboard
167
 
168
  /* Timestamp table */
169
  $html .= "<tfoot><tr>\n";
170
- foreach($visits as $item) {
171
- $html .= "<th>" .$item['date']. "</th>\n";
172
  }
173
  $html .= "</tr></tfoot>\n";
174
 
175
  /* Counter table */
176
  $html .= "<tbody><tr>\n";
177
  foreach($visits as $item) {
178
- $html .= "<td>" .(int) $item['count']. "</td>\n";
179
  }
180
  $html .= "</tr></tbody>\n";
181
 
@@ -233,7 +233,7 @@ class Statify_Dashboard
233
  /**
234
  * Ausgabe der Backseite
235
  *
236
- * @since 0.4
237
  * @change 1.2.3
238
  */
239
 
@@ -260,7 +260,7 @@ class Statify_Dashboard
260
  );
261
 
262
  /* Internen Cache Leeren */
263
- delete_transient('statify');
264
 
265
  /* Cachify Cache leeren */
266
  if ( has_action('cachify_flush_cache') ) {
@@ -342,7 +342,7 @@ class Statify_Dashboard
342
  </table>
343
 
344
  <p class="meta-links">
345
- <a href="http://playground.ebiene.de/statify-wordpress-statistik/" target="_blank">Handbuch</a> &bull; <a href="http://playground.ebiene.de/statify-wordpress-statistik/#chrome_app" target="_blank">Chrome App</a> &bull; <a href="https://flattr.com/t/1733733" target="_blank">Flattr</a> &bull; <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&amp;hosted_button_id=5RDDW9FEHGLG6" target="_blank">PayPal</a>
346
  </p>
347
  <?php }
348
 
@@ -350,8 +350,8 @@ class Statify_Dashboard
350
  /**
351
  * Rückgabe der Statistiken
352
  *
353
- * @since 0.1
354
- * @change 1.2.5
355
  *
356
  * @return array $data Array mit Statistiken
357
  */
@@ -359,7 +359,7 @@ class Statify_Dashboard
359
  public static function get_stats()
360
  {
361
  /* Auf Cache zugreifen */
362
- if ( $data = get_transient('statify') ) {
363
  return $data;
364
  }
365
 
@@ -376,9 +376,9 @@ class Statify_Dashboard
376
 
377
  /* Merken */
378
  set_transient(
379
- 'statify',
380
  $data,
381
- 60 * 4 // = 4 Minuten
382
  );
383
 
384
  return $data;
@@ -388,7 +388,7 @@ class Statify_Dashboard
388
  /**
389
  * Statistiken aus der DB
390
  *
391
- * @since 0.1
392
  * @change 1.2.5
393
  *
394
  * @return array Array mit ausgelesenen Daten
@@ -431,8 +431,8 @@ class Statify_Dashboard
431
  /**
432
  * Bereinigung der veralteten Werte in der DB
433
  *
434
- * @since 0.3
435
- * @change 1.2.3
436
  */
437
 
438
  private static function _clean_data()
@@ -465,7 +465,7 @@ class Statify_Dashboard
465
  set_transient(
466
  'statify_cron',
467
  'ilovesweta',
468
- 60 * 60 * 12
469
  );
470
  }
471
 
@@ -473,8 +473,8 @@ class Statify_Dashboard
473
  /**
474
  * Plugin-Version als Konstante
475
  *
476
- * @since 1.1
477
- * @change 1.1
478
  */
479
 
480
  private static function _define_version()
18
  /**
19
  * Anzeige des Dashboard-Widgets
20
  *
21
+ * @since 0.1.0
22
  * @change 1.2.3
23
  */
24
 
69
  /**
70
  * Ausgabe der Stylesheets
71
  *
72
+ * @since 0.1.0
73
+ * @change 1.1.0
74
  */
75
 
76
  public static function add_style()
91
  /**
92
  * Ausgabe von JavaScript
93
  *
94
+ * @since 0.1.0
95
  * @change 1.2.5
96
  */
97
 
139
  /**
140
  * Ausgabe der Frontseite
141
  *
142
+ * @since 0.1.0
143
+ * @change 1.3.0
144
  */
145
 
146
  public static function print_frontview()
167
 
168
  /* Timestamp table */
169
  $html .= "<tfoot><tr>\n";
170
+ foreach ($visits as $item) {
171
+ $html .= "<th>" .esc_html($item['date']). "</th>\n";
172
  }
173
  $html .= "</tr></tfoot>\n";
174
 
175
  /* Counter table */
176
  $html .= "<tbody><tr>\n";
177
  foreach($visits as $item) {
178
+ $html .= "<td>" .intval($item['count']). "</td>\n";
179
  }
180
  $html .= "</tr></tbody>\n";
181
 
233
  /**
234
  * Ausgabe der Backseite
235
  *
236
+ * @since 0.4.0
237
  * @change 1.2.3
238
  */
239
 
260
  );
261
 
262
  /* Internen Cache Leeren */
263
+ delete_transient('statify_chart');
264
 
265
  /* Cachify Cache leeren */
266
  if ( has_action('cachify_flush_cache') ) {
342
  </table>
343
 
344
  <p class="meta-links">
345
+ <a href="http://playground.ebiene.de/statify-wordpress-statistik/" target="_blank">Handbuch</a> &bull; <a href="https://flattr.com/t/1733733" target="_blank">Flattr</a> &bull; <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&amp;hosted_button_id=5RDDW9FEHGLG6" target="_blank">PayPal</a>
346
  </p>
347
  <?php }
348
 
350
  /**
351
  * Rückgabe der Statistiken
352
  *
353
+ * @since 0.1.0
354
+ * @change 1.3.0
355
  *
356
  * @return array $data Array mit Statistiken
357
  */
359
  public static function get_stats()
360
  {
361
  /* Auf Cache zugreifen */
362
+ if ( $data = get_transient('statify_chart') ) {
363
  return $data;
364
  }
365
 
376
 
377
  /* Merken */
378
  set_transient(
379
+ 'statify_chart',
380
  $data,
381
+ MINUTE_IN_SECONDS * 4
382
  );
383
 
384
  return $data;
388
  /**
389
  * Statistiken aus der DB
390
  *
391
+ * @since 0.1.0
392
  * @change 1.2.5
393
  *
394
  * @return array Array mit ausgelesenen Daten
431
  /**
432
  * Bereinigung der veralteten Werte in der DB
433
  *
434
+ * @since 0.3.0
435
+ * @change 1.3.0
436
  */
437
 
438
  private static function _clean_data()
465
  set_transient(
466
  'statify_cron',
467
  'ilovesweta',
468
+ HOUR_IN_SECONDS * 12
469
  );
470
  }
471
 
473
  /**
474
  * Plugin-Version als Konstante
475
  *
476
+ * @since 1.1.0
477
+ * @change 1.1.0
478
  */
479
 
480
  private static function _define_version()
inc/statify_install.class.php CHANGED
@@ -18,8 +18,8 @@ class Statify_Install
18
  /**
19
  * Installation auch für MU-Blog
20
  *
21
- * @since 0.1
22
- * @change 0.1
23
  *
24
  * @param integer ID des Blogs [optional]
25
  */
@@ -75,8 +75,8 @@ class Statify_Install
75
  /**
76
  * Anlegen der Daten
77
  *
78
- * @since 0.1
79
- * @change 0.1
80
  */
81
 
82
  private static function _apply()
@@ -89,8 +89,9 @@ class Statify_Install
89
  'no'
90
  );
91
 
92
- /* Reset */
93
- delete_transient('statify');
 
94
 
95
  /* Tabelle setzen */
96
  Statify_Table::init();
18
  /**
19
  * Installation auch für MU-Blog
20
  *
21
+ * @since 0.1.0
22
+ * @change 0.1.0
23
  *
24
  * @param integer ID des Blogs [optional]
25
  */
75
  /**
76
  * Anlegen der Daten
77
  *
78
+ * @since 0.1.0
79
+ * @change 1.3.0
80
  */
81
 
82
  private static function _apply()
89
  'no'
90
  );
91
 
92
+ /* Transients */
93
+ delete_transient('statify_chart');
94
+ delete_transient('statify_cron');
95
 
96
  /* Tabelle setzen */
97
  Statify_Table::init();
inc/statify_uninstall.class.php CHANGED
@@ -18,8 +18,8 @@ class Statify_Uninstall
18
  /**
19
  * Uninstallation auch für MU-Blog
20
  *
21
- * @since 0.1
22
- * @change 0.1
23
  *
24
  * @param integer ID des Blogs
25
  */
@@ -78,8 +78,8 @@ class Statify_Uninstall
78
  /**
79
  * Löschung der Daten
80
  *
81
- * @since 0.1
82
- * @change 0.1
83
  */
84
 
85
  private static function _apply()
@@ -87,8 +87,9 @@ class Statify_Uninstall
87
  /* Option */
88
  delete_option('statify');
89
 
90
- /* Transient */
91
- delete_transient('statify');
 
92
 
93
  /* Tabelle setzen */
94
  Statify_Table::init();
18
  /**
19
  * Uninstallation auch für MU-Blog
20
  *
21
+ * @since 0.1.0
22
+ * @change 0.1.0
23
  *
24
  * @param integer ID des Blogs
25
  */
78
  /**
79
  * Löschung der Daten
80
  *
81
+ * @since 0.1.0
82
+ * @change 1.3.0
83
  */
84
 
85
  private static function _apply()
87
  /* Option */
88
  delete_option('statify');
89
 
90
+ /* Transients */
91
+ delete_transient('statify_chart');
92
+ delete_transient('statify_cron');
93
 
94
  /* Tabelle setzen */
95
  Statify_Table::init();
inc/statify_xmlrpc.class.php CHANGED
@@ -18,8 +18,8 @@ class Statify_XMLRPC
18
  /**
19
  * Erweiterung der XMLRPC-Methode
20
  *
21
- * @since 1.1
22
- * @change 1.1
23
  *
24
  * @return array $methods Array ohne Plugin-Callback
25
  * @return array $methods Array mit Plugin-Callback
@@ -38,7 +38,7 @@ class Statify_XMLRPC
38
  /**
39
  * Ausführung der XMLRPC-Anfrage
40
  *
41
- * @since 1.1
42
  * @change 1.2.5
43
  *
44
  * @param array $args Array mit Parametern (Zugangsdaten)
18
  /**
19
  * Erweiterung der XMLRPC-Methode
20
  *
21
+ * @since 1.1.0
22
+ * @change 1.1.0
23
  *
24
  * @return array $methods Array ohne Plugin-Callback
25
  * @return array $methods Array mit Plugin-Callback
38
  /**
39
  * Ausführung der XMLRPC-Anfrage
40
  *
41
+ * @since 1.1.0
42
  * @change 1.2.5
43
  *
44
  * @param array $args Array mit Parametern (Zugangsdaten)
readme.txt CHANGED
@@ -8,37 +8,37 @@ Stable tag: trunk
8
 
9
 
10
 
11
- Besucherstatistik mit Schwerpunkten Datenschutz, Transparenz und Übersichtlichkeit. Ideal fürs Dashboard.
12
 
13
 
14
 
15
  == Description ==
16
 
17
- *Statify* verfolgt ein simples Ziel: Live-Zugriffszahlen des Blogs blitzschnell und kompakt zugänglich machen. Ohne Schnickschnack.
18
 
19
 
20
  = Dashboard-Widget =
21
- Weniger ist mehr: Das Statistik-Plugin präsentiert auf dem Admin-Dashboard den aktuellen Verlauf der Seitenaufrufe in Form eines interaktiven Diagramms. Der Zeitskala folgt jeweils eine Liste mit den häufigsten Verweisquellen (Referrer) und den meist aufgerufenen Zielseiten im Blog. Praktisch: Der Statistikzeitraum sowie die Listenlänge lassen sich direkt im Dashboard-Widget konfigurieren.
22
 
23
 
24
  = Datenschutz =
25
- Im unmittelbaren Vergleich zu Statistik-Diensten wie *Google Analytics* oder *WordPress.com Stats* verarbeitet und speichert *Statify* keinerlei personenbezogene Daten wie z.B. IP-Adressen. Absolute Datenschutzkonformität gepaart mit transparenter Arbeitsweise: Eine lokal in WordPress angelegte Datenbanktabelle besteht aus nur 4 Feldern (ID, Datum, Quelle, Ziel) und kann vom Administrator jederzeit eingesehen, bereinigt, geleert werden.
26
-
27
-
28
- = Caching-Plugins =
29
- Für die Kompatibilität mit Caching-Plugins wie [Cachify](http://wordpress.org/extend/plugins/cachify/) verfügt *Statify* über ein optional zuschaltbares Tracking via JavaScript-Snippet. Diese Methode erlaubt eine zuverlässige Zählung der gecachten Blogseiten.
30
 
31
 
32
  = Filter =
33
  *Statify* protokolliert jeden Seitenaufruf im WordPress-Frontend. Ausgeschlossen sind Preview-, Feed-, Ressourcen-Ansichten und Zugriffe durch angemeldete Nutzer. Mehr Einzelheiten zu Optionen und Funktionen im [Online-Handbuch](http://playground.ebiene.de/statify-wordpress-statistik/).
34
 
35
 
 
 
 
 
36
  > #### Statify Chrome App
37
  > Speziell für Inhaber und Administratoren mehrerer WordPress-Projekte wurde eine App für Google Chrome entwickelt: [Statify Chrome App](http://playground.ebiene.de/statify-wordpress-statistik/#chrome_app) - *Statify*-Statistiken an einer Stelle im Browser gesammelt dargestellt. Ab sofort kein lästiges Aufrufen der einzelnen Dashboards mehr. Statistikberichte verknüpfter Blogs in einem Fenster.
38
 
39
 
40
  = Support =
41
- Freundlich formulierte Fragen rund um das Plugin werden per E-Mail beantwortet.
42
 
43
 
44
  = Systemanforderungen =
@@ -60,14 +60,17 @@ Freundlich formulierte Fragen rund um das Plugin werden per E-Mail beantwortet.
60
 
61
 
62
  = Autor =
63
- * [Twitter](https://twitter.com/wpSEO)
64
- * [Google+](https://plus.google.com/110569673423509816572 "Google+")
65
- * [Plugins](http://wpcoder.de "Plugins")
66
 
67
 
68
 
69
  == Changelog ==
70
 
 
 
 
71
  = 1.2.8 =
72
  * JavaScript-Snippet: Relativer Pfad für HTTP(S)-Aufrufe
73
 
8
 
9
 
10
 
11
+ Besucherstatistik in WordPress mit Schwerpunkten Datenschutz, Transparenz und Übersichtlichkeit. Ideal für Dashboard.
12
 
13
 
14
 
15
  == Description ==
16
 
17
+ Das kostenlose Plugin *Statify* verfolgt ein simples Ziel: Zugriffszahlen der WordPress-Website blitzschnell und kompakt zugänglich machen. Ohne Schnickschnack. Ohne meterlange Datenschutzerklärungen.
18
 
19
 
20
  = Dashboard-Widget =
21
+ Weniger ist mehr: Den aktuellen Verlauf der Seitenaufrufe präsentiert das Statistik-Plugin in Form eines interaktiven Diagramms, siehe [Screenshots](https://wordpress.org/plugins/statify/screenshots/). Der Zeitskala folgen eine Liste mit den häufigsten Verweisquellen (Referrer) und den meist aufgerufenen Zielseiten (Target) im Blog. Praktisch: Der Statistikzeitraum sowie die Listenlänge lassen sich direkt im Dashboard-Widget konfigurieren.
22
 
23
 
24
  = Datenschutz =
25
+ In unmittelbarem Vergleich zu Statistik-Diensten wie *Google Analytics*, *WordPress.com Stats* und *Piwik* verarbeitet und speichert *Statify* keinerlei personenbezogene Daten wie z.B. IP-Adressen – *Statify* zählt Seitenaufrufe, keine Besucher. Absolute Datenschutzkonformität gepaart mit transparenter Arbeitsweise: Eine lokal in WordPress angelegte Datenbanktabelle besteht aus nur 4 Feldern (ID, Datum, Quelle, Ziel) und kann vom Administrator jederzeit eingesehen, bereinigt und geleert werden.
 
 
 
 
26
 
27
 
28
  = Filter =
29
  *Statify* protokolliert jeden Seitenaufruf im WordPress-Frontend. Ausgeschlossen sind Preview-, Feed-, Ressourcen-Ansichten und Zugriffe durch angemeldete Nutzer. Mehr Einzelheiten zu Optionen und Funktionen im [Online-Handbuch](http://playground.ebiene.de/statify-wordpress-statistik/).
30
 
31
 
32
+ = Caching-Plugins =
33
+ Für die Kompatibilität mit Caching-Plugins wie [Cachify](http://wordpress.org/extend/plugins/cachify/) verfügt *Statify* über ein optional zuschaltbares Tracking via JavaScript-Snippet. Diese Methode erlaubt eine zuverlässige Zählung der gecachten Blogseiten.
34
+
35
+
36
  > #### Statify Chrome App
37
  > Speziell für Inhaber und Administratoren mehrerer WordPress-Projekte wurde eine App für Google Chrome entwickelt: [Statify Chrome App](http://playground.ebiene.de/statify-wordpress-statistik/#chrome_app) - *Statify*-Statistiken an einer Stelle im Browser gesammelt dargestellt. Ab sofort kein lästiges Aufrufen der einzelnen Dashboards mehr. Statistikberichte verknüpfter Blogs in einem Fenster.
38
 
39
 
40
  = Support =
41
+ Freundlich formulierte (An)Fragen rund um das Plugin werden per E-Mail beantwortet.
42
 
43
 
44
  = Systemanforderungen =
60
 
61
 
62
  = Autor =
63
+ * [Twitter](https://twitter.com/wpSEO "Sergej Müller auf Twitter")
64
+ * [Google+](https://plus.google.com/110569673423509816572 "Sergej Müller auf Google+")
65
+ * [Plugins](http://wpcoder.de "WordPress Plugins")
66
 
67
 
68
 
69
  == Changelog ==
70
 
71
+ = 1.3.0 =
72
+ * Sourcecode-Optimierung für die Plugin-Finalisierung
73
+
74
  = 1.2.8 =
75
  * JavaScript-Snippet: Relativer Pfad für HTTP(S)-Aufrufe
76
 
statify.php CHANGED
@@ -5,7 +5,7 @@ Description: Kompakte, begreifliche und datenschutzkonforme Statistik für WordP
5
  Author: Sergej M&uuml;ller
6
  Author URI: http://wpcoder.de
7
  Plugin URI: http://statify.de
8
- Version: 1.2.8
9
  */
10
 
11
 
5
  Author: Sergej M&uuml;ller
6
  Author URI: http://wpcoder.de
7
  Plugin URI: http://statify.de
8
+ Version: 1.3.0
9
  */
10
 
11