48 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?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);
 | 
						|
        list($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);
 | 
						|
    }
 | 
						|
}
 |