PluginProbe
Statify / 1.4.1
Statify v1.4.1
2.0.2 2.0.1 trunk 0.7 0.8 0.9 1.0 1.2.8 1.3.0 1.4.0 1.4.1 1.4.2 1.4.3 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.6.0 1.6.1 1.6.2 1.6.3 1.7.0 1.7.1 1.7.2 All 32 releases
statify / inc / statify_xmlrpc.class.php

statify_xmlrpc.class.php in Statify 1.4.1, at inc/statify_xmlrpc.class.php

74 lines 1.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3
4 /* Quit */
5 defined('ABSPATH') OR exit;
6
7
8 /**
9 * Statify_XMLRPC
10 *
11 * @since 1.1
12 */
13
14 class Statify_XMLRPC
15 {
16
17
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
26 */
27
28 public static function xmlrpc_methods($methods) {
29 $methods['statify.getStats'] = array(
30 __CLASS__,
31 'xmlrpc_callback'
32 );
33
34 return $methods;
35 }
36
37
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)
45 * @return string String mit Ergebnissen
46 */
47
48 public static function xmlrpc_callback($args) {
49 /* Keine Zugangsdaten? */
50 if ( empty($args[0]) OR empty($args[1]) ) {
51 return '{"error": "Empty login data"}';
52 }
53
54 /* Nutzer einloggen */
55 $user = wp_authenticate($args[0], $args[1]);
56
57 /* Falsche Zugangsdaten */
58 if ( ! $user OR is_wp_error($user) ) {
59 return '{"error": "Incorrect login"}';
60 }
61
62 /* Berechtigung prüfen */
63 if ( ! user_can($user, 'edit_dashboard') ) {
64 return '{"error": "User can check failed"}';
65 }
66
67 /* Leer? */
68 if ( ! $data = Statify_Dashboard::get_stats() ) {
69 return '{"error": "No data"}';
70 }
71
72 return json_encode($data['visits']);
73 }
74 }