Failed Conditions
Push — psr2 ( 749c00...b8c09b )
by Andreas
06:21 queued 06:13
created

Subscription::notifyaddresses()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 1
dl 0
loc 5
rs 10
c 0
b 0
f 0
1
<?php
2
// phpcs:ignoreFile -- this file violates PSR2 by definition
3
/**
4
 * These classes and functions are deprecated and will be removed in future releases
5
 */
6
7
use dokuwiki\Debug\DebugHelper;
8
use dokuwiki\Subscriptions\BulkSubscriptionSender;
9
use dokuwiki\Subscriptions\MediaSubscriptionSender;
10
use dokuwiki\Subscriptions\PageSubscriptionSender;
11
use dokuwiki\Subscriptions\RegistrationSubscriptionSender;
12
use dokuwiki\Subscriptions\SubscriberManager;
13
14
/**
15
 * @inheritdoc
16
 * @deprecated 2018-05-07
17
 */
18
class RemoteAccessDeniedException extends \dokuwiki\Remote\AccessDeniedException
19
{
20
    /** @inheritdoc */
21
    public function __construct($message = "", $code = 0, Throwable $previous = null)
22
    {
23
        dbg_deprecated(\dokuwiki\Remote\AccessDeniedException::class);
24
        parent::__construct($message, $code, $previous);
25
    }
26
27
}
28
29
/**
30
 * @inheritdoc
31
 * @deprecated 2018-05-07
32
 */
33
class RemoteException extends \dokuwiki\Remote\RemoteException
34
{
35
    /** @inheritdoc */
36
    public function __construct($message = "", $code = 0, Throwable $previous = null)
37
    {
38
        dbg_deprecated(\dokuwiki\Remote\RemoteException::class);
39
        parent::__construct($message, $code, $previous);
40
    }
41
42
}
43
44
/**
45
 * Escapes regex characters other than (, ) and /
46
 *
47
 * @param string $str
48
 * @return string
49
 * @deprecated 2018-05-04
50
 */
51
function Doku_Lexer_Escape($str)
52
{
53
    dbg_deprecated('\\dokuwiki\\Parsing\\Lexer\\Lexer::escape()');
54
    return \dokuwiki\Parsing\Lexer\Lexer::escape($str);
55
}
56
57
/**
58
 * @inheritdoc
59
 * @deprecated 2018-06-01
60
 */
61
class setting extends \dokuwiki\plugin\config\core\Setting\Setting
62
{
63
    /** @inheritdoc */
64
    public function __construct($key, array $params = null)
65
    {
66
        dbg_deprecated(\dokuwiki\plugin\config\core\Setting\Setting::class);
67
        parent::__construct($key, $params);
68
    }
69
}
70
71
/**
72
 * @inheritdoc
73
 * @deprecated 2018-06-01
74
 */
75
class setting_authtype extends \dokuwiki\plugin\config\core\Setting\SettingAuthtype
76
{
77
    /** @inheritdoc */
78
    public function __construct($key, array $params = null)
79
    {
80
        dbg_deprecated(\dokuwiki\plugin\config\core\Setting\SettingAuthtype::class);
81
        parent::__construct($key, $params);
82
    }
83
}
84
85
/**
86
 * @inheritdoc
87
 * @deprecated 2018-06-01
88
 */
89
class setting_string extends \dokuwiki\plugin\config\core\Setting\SettingString
90
{
91
    /** @inheritdoc */
92
    public function __construct($key, array $params = null)
93
    {
94
        dbg_deprecated(\dokuwiki\plugin\config\core\Setting\SettingString::class);
95
        parent::__construct($key, $params);
96
    }
97
}
98
99
/**
100
 * @inheritdoc
101
 * @deprecated 2018-06-15
102
 */
103
class PageChangelog extends \dokuwiki\ChangeLog\PageChangeLog
104
{
105
    /** @inheritdoc */
106
    public function __construct($id, $chunk_size = 8192)
107
    {
108
        dbg_deprecated(\dokuwiki\ChangeLog\PageChangeLog::class);
109
        parent::__construct($id, $chunk_size);
110
    }
111
}
112
113
/**
114
 * @inheritdoc
115
 * @deprecated 2018-06-15
116
 */
117
class MediaChangelog extends \dokuwiki\ChangeLog\MediaChangeLog
118
{
119
    /** @inheritdoc */
120
    public function __construct($id, $chunk_size = 8192)
121
    {
122
        dbg_deprecated(\dokuwiki\ChangeLog\MediaChangeLog::class);
123
        parent::__construct($id, $chunk_size);
124
    }
125
}
126
127
/** Behavior switch for JSON::decode() */
128
define('JSON_LOOSE_TYPE', 16);
129
130
/** Behavior switch for JSON::decode() */
131
define('JSON_STRICT_TYPE', 0);
132
133
/**
134
 * Encode/Decode JSON
135
 * @deprecated 2018-07-27
136
 */
137
class JSON
138
{
139
    protected $use = 0;
140
141
    /**
142
     * @param int $use JSON_*_TYPE flag
143
     * @deprecated  2018-07-27
144
     */
145
    public function __construct($use = JSON_STRICT_TYPE)
146
    {
147
        $this->use = $use;
148
    }
149
150
    /**
151
     * Encode given structure to JSON
152
     *
153
     * @param mixed $var
154
     * @return string
155
     * @deprecated  2018-07-27
156
     */
157
    public function encode($var)
158
    {
159
        dbg_deprecated('json_encode');
160
        return json_encode($var);
161
    }
162
163
    /**
164
     * Alias for encode()
165
     * @param $var
166
     * @return string
167
     * @deprecated  2018-07-27
168
     */
169
    public function enc($var) {
170
        return $this->encode($var);
0 ignored issues
show
Deprecated Code introduced by
The method JSON::encode() has been deprecated with message: 2018-07-27

This method has been deprecated. The supplier of the class has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the method will be removed from the class and what other method or class to use instead.

Loading history...
171
    }
172
173
    /**
174
     * Decode given string from JSON
175
     *
176
     * @param string $str
177
     * @return mixed
178
     * @deprecated  2018-07-27
179
     */
180
    public function decode($str)
181
    {
182
        dbg_deprecated('json_encode');
183
        return json_decode($str, ($this->use == JSON_LOOSE_TYPE));
184
    }
185
186
    /**
187
     * Alias for decode
188
     *
189
     * @param $str
190
     * @return mixed
191
     * @deprecated  2018-07-27
192
     */
193
    public function dec($str) {
194
        return $this->decode($str);
0 ignored issues
show
Deprecated Code introduced by
The method JSON::decode() has been deprecated with message: 2018-07-27

This method has been deprecated. The supplier of the class has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the method will be removed from the class and what other method or class to use instead.

Loading history...
195
    }
196
}
197
198
/**
199
 * @inheritdoc
200
 * @deprecated 2019-02-19
201
 */
202
class Input extends \dokuwiki\Input\Input {
203
    /**
204
     * @inheritdoc
205
     * @deprecated 2019-02-19
206
     */
207
    public function __construct()
208
    {
209
        dbg_deprecated(\dokuwiki\Input\Input::class);
210
        parent::__construct();
211
    }
212
}
213
214
/**
215
 * @inheritdoc
216
 * @deprecated 2019-02-19
217
 */
218
class PostInput extends \dokuwiki\Input\Post {
219
    /**
220
     * @inheritdoc
221
     * @deprecated 2019-02-19
222
     */
223
    public function __construct()
224
    {
225
        dbg_deprecated(\dokuwiki\Input\Post::class);
226
        parent::__construct();
227
    }
228
}
229
230
/**
231
 * @inheritdoc
232
 * @deprecated 2019-02-19
233
 */
234
class GetInput extends \dokuwiki\Input\Get {
235
    /**
236
     * @inheritdoc
237
     * @deprecated 2019-02-19
238
     */
239
    public function __construct()
240
    {
241
        dbg_deprecated(\dokuwiki\Input\Get::class);
242
        parent::__construct();
243
    }
244
}
245
246
/**
247
 * @inheritdoc
248
 * @deprecated 2019-02-19
249
 */
250
class ServerInput extends \dokuwiki\Input\Server {
251
    /**
252
     * @inheritdoc
253
     * @deprecated 2019-02-19
254
     */
255
    public function __construct()
256
    {
257
        dbg_deprecated(\dokuwiki\Input\Server::class);
258
        parent::__construct();
259
    }
260
}
261
262
/**
263
 * @inheritdoc
264
 * @deprecated 2019-03-06
265
 */
266
class PassHash extends \dokuwiki\PassHash {
267
    /**
268
     * @inheritdoc
269
     * @deprecated 2019-03-06
270
     */
271
    public function __construct()
272
    {
273
        dbg_deprecated(\dokuwiki\PassHash::class);
274
    }
275
}
276
277
/**
278
 * @deprecated since 2019-03-17 use \dokuwiki\HTTP\HTTPClientException instead!
279
 */
280
class HTTPClientException extends \dokuwiki\HTTP\HTTPClientException {
281
282
    /**
283
     * @inheritdoc
284
     * @deprecated 2019-03-17
285
     */
286
    public function __construct($message = '', $code = 0, $previous = null)
287
    {
288
        DebugHelper::dbgDeprecatedFunction(dokuwiki\HTTP\HTTPClientException::class);
289
        parent::__construct($message, $code, $previous);
290
    }
291
}
292
293
/**
294
 * @deprecated since 2019-03-17 use \dokuwiki\HTTP\HTTPClient instead!
295
 */
296
class HTTPClient extends \dokuwiki\HTTP\HTTPClient {
297
298
    /**
299
     * @inheritdoc
300
     * @deprecated 2019-03-17
301
     */
302
    public function __construct()
303
    {
304
        DebugHelper::dbgDeprecatedFunction(dokuwiki\HTTP\HTTPClient::class);
305
        parent::__construct();
306
    }
307
}
308
309
/**
310
 * @deprecated since 2019-03-17 use \dokuwiki\HTTP\DokuHTTPClient instead!
311
 */
312
class DokuHTTPClient extends \dokuwiki\HTTP\DokuHTTPClient {
313
314
    /**
315
     * @inheritdoc
316
     * @deprecated 2019-03-17
317
     */
318
    public function __construct()
319
    {
320
        DebugHelper::dbgDeprecatedFunction(dokuwiki\HTTP\DokuHTTPClient::class);
321
        parent::__construct();
322
    }
323
324
}
325
326
327
/**
328
 * Class for handling (email) subscriptions
329
 *
330
 * @author  Adrian Lang <[email protected]>
331
 * @author  Andreas Gohr <[email protected]>
332
 * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
333
 *
334
 * @deprecated 2019-04-22 Use the classes in the \dokuwiki\Subscriptions namespace instead!
335
 */
336
class Subscription {
337
338
    /**
339
     * Check if subscription system is enabled
340
     *
341
     * @return bool
342
     *
343
     * @deprecated 2019-04-20 \dokuwiki\Subscriptions\SubscriberManager::isenabled
344
     */
345
    public function isenabled() {
346
        DebugHelper::dbgDeprecatedFunction('\dokuwiki\Subscriptions\SubscriberManager::isenabled');
347
        $subscriberManager = new SubscriberManager();
348
        return $subscriberManager->isenabled();
349
    }
350
351
    /**
352
     * Recursively search for matching subscriptions
353
     *
354
     * This function searches all relevant subscription files for a page or
355
     * namespace.
356
     *
357
     * @author Adrian Lang <[email protected]>
358
     *
359
     * @param string         $page The target object’s (namespace or page) id
360
     * @param string|array   $user
361
     * @param string|array   $style
362
     * @param string|array   $data
363
     * @return array
364
     *
365
     * @deprecated 2019-04-20 \dokuwiki\Subscriptions\SubscriberManager::subscribers
366
     */
367
    public function subscribers($page, $user = null, $style = null, $data = null) {
368
        DebugHelper::dbgDeprecatedFunction('\dokuwiki\Subscriptions\SubscriberManager::subscribers');
369
        $manager = new SubscriberManager();
370
        return $manager->subscribers($page, $user, $style, $data);
371
    }
372
373
    /**
374
     * Adds a new subscription for the given page or namespace
375
     *
376
     * This will automatically overwrite any existent subscription for the given user on this
377
     * *exact* page or namespace. It will *not* modify any subscription that may exist in higher namespaces.
378
     *
379
     * @param string $id The target page or namespace, specified by id; Namespaces
380
     *                   are identified by appending a colon.
381
     * @param string $user
382
     * @param string $style
383
     * @param string $data
384
     * @throws Exception when user or style is empty
385
     * @return bool
386
     *
387
     * @deprecated 2019-04-20 \dokuwiki\Subscriptions\SubscriberManager::add
388
     */
389
    public function add($id, $user, $style, $data = '') {
390
        DebugHelper::dbgDeprecatedFunction('\dokuwiki\Subscriptions\SubscriberManager::add');
391
        $manager = new SubscriberManager();
392
        return $manager->add($id, $user, $style, $data);
393
    }
394
395
    /**
396
     * Removes a subscription for the given page or namespace
397
     *
398
     * This removes all subscriptions matching the given criteria on the given page or
399
     * namespace. It will *not* modify any subscriptions that may exist in higher
400
     * namespaces.
401
     *
402
     * @param string         $id   The target object’s (namespace or page) id
403
     * @param string|array   $user
404
     * @param string|array   $style
405
     * @param string|array   $data
406
     * @return bool
407
     *
408
     * @deprecated 2019-04-20 \dokuwiki\Subscriptions\SubscriberManager::remove
409
     */
410
    public function remove($id, $user = null, $style = null, $data = null) {
411
        DebugHelper::dbgDeprecatedFunction('\dokuwiki\Subscriptions\SubscriberManager::remove');
412
        $manager = new SubscriberManager();
413
        return $manager->remove($id, $user, $style, $data);
414
    }
415
416
    /**
417
     * Get data for $INFO['subscribed']
418
     *
419
     * $INFO['subscribed'] is either false if no subscription for the current page
420
     * and user is in effect. Else it contains an array of arrays with the fields
421
     * “target”, “style”, and optionally “data”.
422
     *
423
     * @param string $id  Page ID, defaults to global $ID
424
     * @param string $user User, defaults to $_SERVER['REMOTE_USER']
425
     * @return array|false
426
     * @author Adrian Lang <[email protected]>
427
     *
428
     * @deprecated 2019-04-20 \dokuwiki\Subscriptions\SubscriberManager::userSubscription
429
     */
430
    public function user_subscription($id = '', $user = '') {
431
        DebugHelper::dbgDeprecatedFunction('\dokuwiki\Subscriptions\SubscriberManager::userSubscription');
432
        $manager = new SubscriberManager();
433
        return $manager->userSubscription($id, $user);
434
    }
435
436
    /**
437
     * Send digest and list subscriptions
438
     *
439
     * This sends mails to all subscribers that have a subscription for namespaces above
440
     * the given page if the needed $conf['subscribe_time'] has passed already.
441
     *
442
     * This function is called form lib/exe/indexer.php
443
     *
444
     * @param string $page
445
     * @return int number of sent mails
446
     *
447
     * @deprecated 2019-04-20 \dokuwiki\Subscriptions\BulkSubscriptionSender::sendBulk
448
     */
449
    public function send_bulk($page) {
450
        DebugHelper::dbgDeprecatedFunction('\dokuwiki\Subscriptions\BulkSubscriptionSender::sendBulk');
451
        $subscriptionSender = new BulkSubscriptionSender();
452
        return $subscriptionSender->sendBulk($page);
453
    }
454
455
    /**
456
     * Send the diff for some page change
457
     *
458
     * @param string   $subscriber_mail The target mail address
459
     * @param string   $template        Mail template ('subscr_digest', 'subscr_single', 'mailtext', ...)
460
     * @param string   $id              Page for which the notification is
461
     * @param int|null $rev             Old revision if any
462
     * @param string   $summary         Change summary if any
463
     * @return bool                     true if successfully sent
464
     *
465
     * @deprecated 2019-04-20 \dokuwiki\Subscriptions\PageSubscriptionSender::sendPageDiff
466
     */
467
    public function send_diff($subscriber_mail, $template, $id, $rev = null, $summary = '') {
468
        DebugHelper::dbgDeprecatedFunction('\dokuwiki\Subscriptions\PageSubscriptionSender::sendPageDiff');
469
        $subscriptionSender = new PageSubscriptionSender();
470
        return $subscriptionSender->sendPageDiff($subscriber_mail, $template, $id, $rev, $summary);
471
    }
472
473
    /**
474
     * Send the diff for some media change
475
     *
476
     * @fixme this should embed thumbnails of images in HTML version
477
     *
478
     * @param string   $subscriber_mail The target mail address
479
     * @param string   $template        Mail template ('uploadmail', ...)
480
     * @param string   $id              Media file for which the notification is
481
     * @param int|bool $rev             Old revision if any
482
     *
483
     * @deprecated 2019-04-20 \dokuwiki\Subscriptions\MediaSubscriptionSender::sendMediaDiff
484
     */
485
    public function send_media_diff($subscriber_mail, $template, $id, $rev = false) {
486
        DebugHelper::dbgDeprecatedFunction('\dokuwiki\Subscriptions\MediaSubscriptionSender::sendMediaDiff');
487
        $subscriptionSender = new MediaSubscriptionSender();
488
        return $subscriptionSender->sendMediaDiff($subscriber_mail, $template, $id, $rev);
489
    }
490
491
    /**
492
     * Send a notify mail on new registration
493
     *
494
     * @author Andreas Gohr <[email protected]>
495
     *
496
     * @param string $login    login name of the new user
497
     * @param string $fullname full name of the new user
498
     * @param string $email    email address of the new user
499
     * @return bool true if a mail was sent
500
     *
501
     * @deprecated 2019-04-20 \dokuwiki\Subscriptions\RegistrationSubscriptionSender::sendRegister
502
     */
503
    public function send_register($login, $fullname, $email) {
504
        DebugHelper::dbgDeprecatedFunction('\dokuwiki\Subscriptions\RegistrationSubscriptionSender::sendRegister');
505
        $subscriptionSender = new RegistrationSubscriptionSender();
506
        return $subscriptionSender->sendRegister($login, $fullname, $email);
507
    }
508
509
510
    /**
511
     * Default callback for COMMON_NOTIFY_ADDRESSLIST
512
     *
513
     * Aggregates all email addresses of user who have subscribed the given page with 'every' style
514
     *
515
     * @author Steven Danz <[email protected]>
516
     * @author Adrian Lang <[email protected]>
517
     *
518
     * @todo move the whole functionality into this class, trigger SUBSCRIPTION_NOTIFY_ADDRESSLIST instead,
519
     *       use an array for the addresses within it
520
     *
521
     * @param array &$data Containing the entries:
522
     *    - $id (the page id),
523
     *    - $self (whether the author should be notified,
524
     *    - $addresslist (current email address list)
525
     *    - $replacements (array of additional string substitutions, @KEY@ to be replaced by value)
526
     *
527
     * @deprecated 2019-04-20 \dokuwiki\Subscriptions\SubscriberManager::notifyAddresses
528
     */
529
    public function notifyaddresses(&$data) {
530
        DebugHelper::dbgDeprecatedFunction('\dokuwiki\Subscriptions\SubscriberManager::notifyAddresses');
531
        $manager = new SubscriberManager();
532
        $manager->notifyAddresses($data);
533
    }
534
}
535