Failed Conditions
Push — newinternal ( b66232...216d62 )
by Simon
16:33 queued 06:35
created

config.inc.php ➔ wfDebugLog()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 2
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
/******************************************************************************
3
 * Wikipedia Account Creation Assistance tool                                 *
4
 *                                                                            *
5
 * All code in this file is released into the public domain by the ACC        *
6
 * Development Team. Please see team.json for a list of contributors.         *
7
 ******************************************************************************/
8
9
/**************************************************************************
10
 **********                   IMPORTANT NOTICE                    **********
11
 ***************************************************************************
12
 ** YOU MUST OVERRIDE THE CONFIGURATION IN THIS FILE WITH A LOCAL COPY!!! **
13
 ** IT IS VERY IMPORTANT THAT THAT FILE IS CALLED config.local.inc.php    **
14
 ***************************************************************************/
15
16
/*********************************
17
 * Databases and stuff
18
 */
19
20
// Main database location and access details.
21
$toolserver_username = "";
22
$toolserver_password = "";
23
$toolserver_host = "";
24
$toolserver_database = "";
25
26
$toolserver_notification_database = "notifications";
27
$toolserver_notification_dbhost = "dbmaster.srv.stwalkerster.net";
28
$notifications_username = "";
29
$notifications_password = "";
30
31
// The antispoof configuration.
32
$antispoof_equivset = "equivset.php";
33
$antispoof_host = "sql-s1";
34
$antispoof_db = "enwiki_p";
35
$antispoof_table = "spoofuser";
36
37
/**********************************
38
 * File paths etc
39
 */
40
41
$mediawikiWebServiceEndpoint = "https://en.wikipedia.org/w/api.php";
42
$mediawikiScriptPath = "https://en.wikipedia.org/w/index.php";
43
$metaWikimediaWebServiceEndpoint = "https://meta.wikimedia.org/w/api.php";
44
45
// URL of the current copy of the tool.
46
$baseurl = "https://accounts.wmflabs.org";
47
48
// Pathname to the local installation of Peachy.
49
$peachyPath = "";
50
51
// Location outside web directory to place temporary files.
52
$varfilepath = "/projects/acc/";
53
54
// Set up cookies and session information.
55
$cookiepath = '/acc/';
56
$sessionname = 'ACC';
57
58
$xff_trusted_hosts_file = '../TrustedXFF/trusted-hosts.txt';
59
/************************************
60
 * Tool downtime
61
 */
62
63
$dontUseDb = 0; // Disable the tool completely.
64
$dontUseWikiDb = 0; // Disable access to the Wiki database.
65
$dontUseDbReason = ""; // Reason for disabling the tool.
66
$dontUseDbCulprit = ""; // Your name, or the person who broke the tool.
67
68
/**************************************
69
 * ACCBot IRC bot
70
 */
71
72
$ircBotDaemonise = true; // Run the IRC bot as a daemon, detached from the terminal.
73
74
$ircBotNickServPassword = ""; // Password for ACCBot's Nickserv account.
75
$ircBotCommunicationKey = ""; // Key used to communicate with the ACCBot.
76
$ircBotNetworkHost = "chat.freenode.net"; // The host to use for connecting.
77
$ircBotNetworkPort = 6667; // The port on the particular host.
78
$ircBotChannel = "#wikipedia-en-accounts"; // The channel in which the discussions are.
79
$ircBotNickname = "ACCBot"; // The nickname of the ACCBot.
80
$ircBotCommandTrigger = '!'; // The ACCBot's command trigger.
81
82
$ircBotNotificationType = 1; // Helpmebot's notification type ID.
83
$ircBotNotificationsEnabled = 1; // Enable Helpmebot's notifications.
84
// Name of this instance of the tool.
85
// This name would be used by the bot as reference point.	
86
$whichami = 'Live';
87
88
/***************************************
89
 * Email confirmation
90
 */
91
92
// Enable request email confirmation.
93
$enableEmailConfirm = 1;
94
// Number of days that are given for a requestor to confirm their email address.
95
$emailConfirmationExpiryDays = 7;
96
97
/**************************************
98
 * Interface registration, interface users, etc.
99
 */
100
101
// Parameters for performing a newbie check on tool registration.
102
$onRegistrationNewbieCheck = true; // Enable the newbie checking.
103
$onRegistrationNewbieCheckEditCount = 20; // Minimum amount of edits on Wikipedia.
104
$onRegistrationNewbieCheckAge = 5184000; // Account age on Wikipedia in seconds.
105
106
// Force identification to the foundation
107
$forceIdentification = true;
108
109
// Time to cache positive automatic identification results, as a MySQL time interval
110
$identificationCacheExpiry = "1 DAY";
111
112
// minimum password version
113
//   0 = hashed
114
//   1 = hashed, salted
115
$minimumPasswordVersion = 0;
116
117
$communityUsername = "[Community]";
118
119
/***********************************
120
 * Reservations
121
 */
122
123
// Reserve requests to a specific user by default.
124
// Adapted from livehack by st - use the userid, zero for unreserved.
125
$defaultReserver = 0;
126
127
/************************************
128
 * Backup Configuration
129
 */
130
131
$BUbasefile = "backup"; // The basefile's name.
132
$BUdir = "/home/project/a/c/c/acc/backups"; // The directory where backups should be stored.
133
$BUmonthdir = $BUdir . "/monthly"; // The directory where monthly backups should be stored.
134
$BUdumper = "/opt/ts/mysql/5.1/bin/mysqldump --defaults-file=~/.my.cnf p_acc_live"; // Add parameters here if they are needed.
135
$BUgzip = "/usr/bin/gzip"; // Add the gzip parameters here if needed.
136
$BUtar = "/bin/tar -cvf"; // Add the tar parameters here if needed.
137
138
/************************************
139
 * OAuth Configuration
140
 */
141
142
$oauthConsumerToken = "";
143
$oauthSecretToken = "";
144
145
// path to Special:OAuth on target wiki.
146
// don't use pretty urls, see [[bugzilla:57500]]
147
$oauthBaseUrl = "https://en.wikipedia.org/w/index.php?title=Special:OAuth";
148
// use this for requests from the server, if some special url is needed.
149
$oauthBaseUrlInternal = "https://en.wikipedia.org/w/index.php?title=Special:OAuth";
150
151
$oauthMediaWikiCanonicalServer = "http://en.wikipedia.org";
152
153
$useOauthSignup = true;
154
$enforceOAuth = false;
155
156
// Password for the creation bot when this is used in place of OAuth
157
$creationBotUsername = '';
158
$creationBotPassword = '';
159
160
/************************************
161
 * Providers Configuration
162
 */
163
164
// IP GeoLocation
165
// ------------------------
166
// To set this up, change the class to "IpLocationProvider", and put *your* ipinfodb API key in.
167
// You'll need to sign up at IpInfoDb.com to get an API key - it's free.
168
$locationProviderClass = "FakeLocationProvider";
169
$locationProviderApiKey = "super secret"; // ipinfodb api key
170
171
// RDNS Provider ( RDnsLookupProvider / CachedRDnsLookupProvider / FakeRDnsLookupProvider)
172
$rdnsProviderClass = "CachedRDnsLookupProvider";
173
174
$antispoofProviderClass = "FakeAntiSpoofProvider";
175
$xffTrustProviderClass = "XffTrustProvider";
176
177
/***********************************
178
 * Data clear script
179
 */
180
181
$dataclear_interval = '15 DAY';
182
183
/***********************************
184
 * Other stuff that doesn't fit in.
185
 */
186
187
$enableSQLError = 0; // Enable the display of SQL errors.
188
$enableTitleblacklist = 0; // Enable Title Blacklist checks.
189
190
// Enable the use of PATH_INFO for request parameters to prettify URLs.
191
$usePathInfo = true;
192
193
// user agent of the tool.
194
$toolUserAgent = "Wikipedia-ACC Tool/0.1 (+https://accounts.wmflabs.org/internal.php/team)";
195
196
// list of squid proxies requests go through.
197
$squidIpList = array();
198
199
$apiDeployPassword = "super secret update password";
200
201
// request states
202
$availableRequestStates = array(
203
    'Open'          => array(
204
        'defertolog' => 'users', // don't change or you'll break old logs
205
        'deferto'    => 'users',
206
        'header'     => 'Open requests',
207
        'api'        => "open",
208
    ),
209
    'Flagged users' => array(
210
        'defertolog' => 'flagged users', // don't change or you'll break old logs
211
        'deferto'    => 'flagged users',
212
        'header'     => 'Flagged user needed',
213
        'api'        => "admin",
214
    ),
215
    'Checkuser'     => array(
216
        'defertolog' => 'checkusers', // don't change or you'll break old logs
217
        'deferto'    => 'checkusers',
218
        'header'     => 'Checkuser needed',
219
        'api'        => "checkuser",
220
    ),
221
);
222
223
$defaultRequestStateKey = 'Open';
224
225
$providerCacheExpiry = $dataclear_interval;
226
227
// miser mode
228
$requestLimitShowOnly = 25;
229
230
// Enables the Smarty debugging console. This should only be used for development and even then
231
// be left false when you don't need it, since this will open a popup window on every page load.
232
$smartydebug = false;
233
234
// ID of the Email template used for the main "Created!" close reason.
235
$createdid = 1;
236
237
// HSTS expiry - use false to disable header.
238
$strictTransportSecurityExpiry = false;
239
240
// Must be disabled in production.
241
$enableErrorTrace = false;
242
243
// Dangerous.
244
// Don't set this.
245
// Definitely don't set this if there's sensitive data stored here you care about such as OAuth credentials.
246
$curlDisableSSLVerifyPeer = false;
247
248
// Change this to be outside the web directory.
249
$curlCookieJar = __DIR__ . '/../cookies.txt';
250
251
$yubicoApiId = 0;
252
$yubicoApiKey = "";
253
254
$totpEncryptionKey = "1234";
255
256
/**************************************************************************
257
 **********                   IMPORTANT NOTICE                    **********
258
 ***************************************************************************
259
 **     DON'T ADD ANY NEW CONFIGURATION OPTIONS BELOW THIS LINE!!!        **
260
 **     THEY WILL NOT BE CHANGABLE BY THE LOCAL CONFIGURATION FILE.       **
261
 ***************************************************************************/
262
263
// Retriving the local configuration file.
264
require_once('config.local.inc.php');
265
266
$cDatabaseConfig = array(
267
    "acc"           => array(
268
        "dsrcname" => "mysql:host=" . $toolserver_host . ";dbname=" . $toolserver_database,
269
        "username" => $toolserver_username,
270
        "password" => $toolserver_password,
271
    ),
272
    "wikipedia"     => array(
273
        "dsrcname" => "mysql:host=" . $antispoof_host . ";dbname=" . $antispoof_db,
274
        "username" => $toolserver_username,
275
        "password" => $toolserver_password,
276
    ),
277
    "notifications" => array(
278
        "dsrcname" => "mysql:host=" . $toolserver_notification_dbhost . ";dbname=" . $toolserver_notification_database,
279
        "username" => $notifications_username,
280
        "password" => $notifications_password,
281
    ),
282
);
283
284
// //Keep the included files from being executed.
285
define("ACC", 1);
286
287
// Sets the values of the cookie configuration options.
288
ini_set('session.cookie_path', $cookiepath);
289
ini_set('session.name', $sessionname);
290
ini_set('user_agent', $toolUserAgent);
291
292
foreach (array(
293
    "mbstring", // unicode and stuff
294
    "pdo",
295
    "pdo_mysql", // new database module
296
    "session",
297
    "date",
298
    "pcre", // core stuff
299
    "curl", // mediawiki api access etc
300
    "openssl", // token generation
301
) as $x) {
302
    if (!extension_loaded($x)) {
303
        die("extension $x is required.");
304
    }
305
}
306
307
// Set up the AutoLoader
308
require_once(__DIR__ . "/includes/AutoLoader.php");
309
spl_autoload_register('Waca\\AutoLoader::load');
310
require_once(__DIR__ . '/vendor/autoload.php');
311
312
// Extra includes which are just plain awkward wherever they are.
313
require_once(__DIR__ . '/lib/mediawiki-extensions-OAuth/lib/OAuth.php');
314
require_once(__DIR__ . '/lib/mediawiki-extensions-OAuth/lib/JWT.php');
315
316
// Crap that's needed for libraries. >:(
317
/**
318
 * Don't use me. I'm only here because the MediaWiki OAuth library we're using requires it.
319
 *
320
 * @param $section
321
 * @param $message
322
 */
323
function wfDebugLog($section, $message)
0 ignored issues
show
Unused Code introduced by
The parameter $section is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
Unused Code introduced by
The parameter $message is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
324
{
325
}
326
327
// Initialise the site configuration object
328
$siteConfiguration = new \Waca\SiteConfiguration();
329
330
$siteConfiguration->setBaseUrl($baseurl)
331
    ->setFilePath(__DIR__)
332
    ->setDebuggingTraceEnabled($enableErrorTrace)
333
    ->setForceIdentification($forceIdentification)
334
    ->setIdentificationCacheExpiry($identificationCacheExpiry)
335
    ->setMediawikiScriptPath($mediawikiScriptPath)
336
    ->setMediawikiWebServiceEndpoint($mediawikiWebServiceEndpoint)
337
    ->setMetaWikimediaWebServiceEndpoint($metaWikimediaWebServiceEndpoint)
338
    ->setEnforceOAuth($enforceOAuth)
339
    ->setEmailConfirmationEnabled($enableEmailConfirm == 1)
340
    ->setEmailConfirmationExpiryDays($emailConfirmationExpiryDays)
341
    ->setMiserModeLimit($requestLimitShowOnly)
342
    ->setRequestStates($availableRequestStates)
343
    ->setSquidList($squidIpList)
344
    ->setDefaultCreatedTemplateId($createdid)
345
    ->setDefaultRequestStateKey($defaultRequestStateKey)
346
    ->setUseStrictTransportSecurity($strictTransportSecurityExpiry)
347
    ->setUserAgent($toolUserAgent)
348
    ->setCurlDisableVerifyPeer($curlDisableSSLVerifyPeer)
349
    ->setUseOAuthSignup($useOauthSignup)
350
    ->setOAuthBaseUrl($oauthBaseUrl)
351
    ->setOAuthConsumerToken($oauthConsumerToken)
352
    ->setOAuthConsumerSecret($oauthSecretToken)
353
    ->setOauthMediaWikiCanonicalServer($oauthMediaWikiCanonicalServer)
354
    ->setDataClearInterval($dataclear_interval)
355
    ->setXffTrustedHostsFile($xff_trusted_hosts_file)
356
    ->setIrcNotificationsEnabled($ircBotNotificationsEnabled == 1)
357
    ->setIrcNotificationType($ircBotNotificationType)
358
    ->setIrcNotificationsInstance($whichami)
359
    ->setTitleBlacklistEnabled($enableTitleblacklist == 1)
360
    ->setTorExitPaths(array_merge(gethostbynamel('en.wikipedia.org'), gethostbynamel('accounts.wmflabs.org')))
361
    ->setCreationBotUsername($creationBotUsername)
362
    ->setCreationBotPassword($creationBotPassword)
363
    ->setCurlCookieJar($curlCookieJar)
364
    ->setYubicoApiId($yubicoApiId)
365
    ->setYubicoApiKey($yubicoApiKey)
366
    ->setTotpEncryptionKey($totpEncryptionKey);
367