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
|
<?php
namespace dokuwiki\Subscriptions;
class MediaSubscriptionSender extends SubscriptionSender
{
/**
* Send the diff for some media change
*
* @fixme this should embed thumbnails of images in HTML version
*
* @param string $subscriber_mail The target mail address
* @param string $template Mail template ('uploadmail', ...)
* @param string $id Media file for which the notification is
* @param int|bool $rev Old revision if any
* @param int|bool $current_rev New revision if any
*/
public function sendMediaDiff($subscriber_mail, $template, $id, $rev = false, $current_rev = false)
{
global $conf;
$file = mediaFN($id);
[$mime, /* ext */] = mimetype($id);
$trep = [
'MIME' => $mime,
'MEDIA' => ml($id, $current_rev ? ('rev=' . $current_rev) : '', true, '&', true),
'SIZE' => filesize_h(filesize($file)),
];
if ($rev && $conf['mediarevisions']) {
$trep['OLD'] = ml($id, "rev=$rev", true, '&', true);
} else {
$trep['OLD'] = '---';
}
$headers = ['Message-Id' => $this->getMessageID($id, @filemtime($file))];
if ($rev) {
$headers['In-Reply-To'] = $this->getMessageID($id, $rev);
}
$this->send($subscriber_mail, 'upload', $id, $template, $trep, null, $headers);
}
}
|