-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathSpecialGlobalConfigWiki.php
More file actions
69 lines (60 loc) · 1.95 KB
/
SpecialGlobalConfigWiki.php
File metadata and controls
69 lines (60 loc) · 1.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?php
/**
* Copyright (C) 2013 Orain, Kudu and contributors
*
* This file is part of ConfigWiki.
*
* ConfigWiki is free software: you can redistribute it and/or modify it under
* the terms of the GNU Affero General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option)
* any later version.
*
* ConfigWiki is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
* for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with ConfigWiki. If not, see <http://www.gnu.org/licenses/>.
*/
class SpecialGlobalConfigWiki extends SpecialPage {
function __construct() {
parent::__construct( 'GlobalConfigWiki' );
}
function userCanEdit() {
return $this->getUser()->isAllowed( 'configwiki-global' );
}
function execute( $par ) {
$this->setHeaders();
$this->getOutput()->setPageTitle( $this->msg( 'globalconfigwiki' ) );
$dbr = wfGetDB( DB_SLAVE );
$res = $dbr->select(
array( 'globalconfigwiki' ), // Table
array( 'name', 'description', 'locked', 'default_value' ), // Fields
);
$formDescriptor = array();
foreach ( $res as $row ) {
$formDescriptor[$row->name . '-desc'] = array(
'section' => $row->name,
'type' => 'text',
'label' => 'Description',
'default' => $row->description,
);
$formDescriptor[$row->name . '-locked'] = array(
'section' => $row->name,
'type' => 'check',
'label' => 'Lock',
'default' => $row->locked,
);
$formDescriptor[$row->name . '-custom'] = array(
'section' => $row->name,
'type' => 'text',
'label' => 'Default value',
'default' => $row->default_value,
);
}
$htmlForm = new HTMLForm( $formDescriptor, $this->getContext() );
$htmlForm->setSubmitText( 'Submit' );
$htmlForm->show();
}
}