Projet

Général

Profil

Paste
Télécharger au format
Statistiques
| Branche: | Révision:

root / plugins / wiki / mediawiki_api @ 91ad0c21

Historique | Voir | Annoter | Télécharger (2,7 ko)

1
#!/usr/bin/php
2

    
3
<?php
4

    
5
#######################################################################
6
#API URL
7
#http://localhost/mediawiki/api.php?action=query&meta=siteinfo&siprop=statistics&format=json
8

    
9
#JSON OUTPUT
10
#{"query":{"statistics":{"pages":1695,"articles":42,"views":91812,"edits":2958,"images":170,"users":25,"activeusers":6,"admins":1,"jobs":0}}}
11

    
12
#USAGE
13
#ln -s /usr/share/munin/plugins/mediawiki /etc/munin/plugins/mediawiki_views
14
#######################################################################
15

    
16
$server = "http://localhost/mediawiki";
17
$wikiname = "Wiki";
18
//$suffix = "views";
19

    
20
$basename = preg_replace( '/^.+[\\\\\\/]/', '', $_SERVER['PHP_SELF'] );
21
$suffix = explode("_",$basename);
22
$suffix = $suffix[1];
23

    
24
$param = "";
25
if(sizeof($argv)>1)
26
  $param = $argv[1];
27

    
28
switch ($param) {
29
case "config":
30

    
31
print <<<CONFIG
32
graph_title $wikiname $suffix
33
graph_vlabel number
34
graph_category wiki
35
graph_scale no
36
graph_info Reads the total number of $suffix from $wikiname\n
37
CONFIG;
38

    
39
switch ($suffix) {
40

    
41
case "views":
42
print <<<VIEWS
43
views.info Total number of page views
44
views.label views
45
views.type COUNTER\n
46
VIEWS;
47
break;
48

    
49
case "edits":
50
print <<<EDITS
51
edits.info Total number of page edits
52
edits.label edits
53
edits.type COUNTER\n
54
EDITS;
55
break;
56

    
57
case "articles":
58
print <<<ARTICLES
59
articles.info Total number of 'good' pages (articles)
60
articles.label articles
61
articles.type GAUGE\n
62
ARTICLES;
63
break;
64

    
65
case "pages":
66
print <<<PAGES
67
pages.info Total number of all pages
68
pages.label pages
69
pages.type GAUGE\n
70
PAGES;
71
break;
72

    
73
case "users":
74
print <<<USERS
75
users.info Total number of user accounts
76
users.label users
77
users.type GAUGE\n
78
USERS;
79
break;
80

    
81
case "images":
82
print <<<IMAGES
83
images.info Total number of uploaded images
84
images.label images
85
images.type GAUGE\n
86
IMAGES;
87
break;
88

    
89
case "admins":
90
print <<<ADMINS
91
admins.info Total number of admins (sysops)
92
admins.label admins
93
admins.type GAUGE\n
94
ADMINS;
95
break;
96

    
97
default:
98
print <<<ERROR
99
Error: link me as mediawiki_<type>, where type can be one of: views, edits, articles, pages, users, images or admins.\n
100
ERROR;
101
}
102

    
103
}
104

    
105

    
106
$s = file_get_contents($server."/api.php?action=query&meta=siteinfo&siprop=statistics&format=json");
107
$json = json_decode($s);
108
$value = $json->{'query'}->{'statistics'}->{$suffix};
109

    
110
switch ($suffix) {
111

    
112
case "views":
113
print "views.value $value\n";
114
break;
115

    
116
case "edits":
117
print "edits.value $value\n";
118
break;
119

    
120
case "articles":
121
print "articles.value $value\n";
122
break;
123

    
124
case "pages":
125
print "pages.value $value\n";
126
break;
127

    
128
case "users":
129
print "users.value $value\n";
130
break;
131

    
132
case "images":
133
print "images.value $value\n";
134
break;
135

    
136
case "admins":
137
print "admins.value $admins\n";
138

    
139
default:
140
print "link me as mediawiki_<type>, where type can be one of: views, edits, articles, pages, users, images or admins. \n";
141
}
142

    
143
?>