the default subject is a little to dry for me, so this patch allows users to customize the format via @VAR@ methods ... i added support for the @VARS@ that interest me, but others may want more ... this patch will prob conflict slightly with my previous patch as they both work in the same function (but dont overlap any actual lines) -mike
diff -rN -u old-dokuwiki/conf/dokuwiki.php new-dokuwiki/conf/dokuwiki.php --- old-dokuwiki/conf/dokuwiki.php 2006-12-04 20:43:22.000000000 -0500 +++ new-dokuwiki/conf/dokuwiki.php 2006-12-04 20:43:22.000000000 -0500 @@ -83,6 +83,7 @@ $conf['locktime'] = 15*60; //maximum age for lockfiles (defaults to 15 minutes) $conf['fetchsize'] = 0; //maximum size (bytes) fetch.php may download from extern, disabled by default $conf['notify'] = ''; //send change info to this email (leave blank for nobody) +$conf['notify_subject'] = '[@TITLE@] @REASON@ @ID@'; //subject template for change emails $conf['registernotify'] = ''; //send info about newly registered users to this email (leave blank for nobody) $conf['mailfrom'] = ''; //use this email when sending mails $conf['gzip_output'] = 0; //use gzip content encodeing for the output xhtml (if allowed by browser) diff -rN -u old-dokuwiki/inc/common.php new-dokuwiki/inc/common.php --- old-dokuwiki/inc/common.php 2006-12-04 20:43:22.000000000 -0500 +++ new-dokuwiki/inc/common.php 2006-12-04 20:43:23.000000000 -0500 @@ -851,7 +851,7 @@ if($who == 'register'){ $subject = $lang['mail_new_user'].' '.$summary; }elseif($rev){ - $subject = $lang['mail_changed'].' '.$id; + $subject = str_replace('@REASON@',$lang['mail_changed'],$conf['notify_subject']); $text = str_replace('@OLDPAGE@',wl($id,"rev=$rev",true),$text); require_once(DOKU_INC.'inc/DifferenceEngine.php'); $df = new Diff(split("\n",rawWiki($id,$rev)), @@ -859,12 +859,16 @@ $dformat = new UnifiedDiffFormatter(); $diff = $dformat->format($df); }else{ - $subject=$lang['mail_newpage'].' '.$id; + $subject = str_replace('@REASON@',$lang['mail_changed'],$conf['notify_subject']); $text = str_replace('@OLDPAGE@','none',$text); $diff = rawWiki($id); } $text = str_replace('@DIFF@',$diff,$text); - $subject = '['.$conf['title'].'] '.$subject; + $subject = str_replace('@DATE@',date($conf['dformat']),$subject); + $subject = str_replace('@PAGE@',$id,$subject); + $subject = str_replace('@TITLE@',$conf['title'],$subject); + $subject = str_replace('@SUMMARY@',$summary,$subject); + $subject = str_replace('@USER@',$_SERVER['REMOTE_USER'],$subject); mail_send($to,$subject,$text,$conf['mailfrom'],'',$bcc); } diff -rN -u old-dokuwiki/lib/plugins/config/lang/en/lang.php new-dokuwiki/lib/plugins/config/lang/en/lang.php --- old-dokuwiki/lib/plugins/config/lang/en/lang.php 2006-12-04 20:43:22.000000000 -0500 +++ new-dokuwiki/lib/plugins/config/lang/en/lang.php 2006-12-04 20:43:23.000000000 -0500 @@ -109,6 +109,7 @@ $lang['locktime'] = 'Maximum age for lock files (sec)'; $lang['fetchsize'] = 'Maximum size (bytes) fetch.php may download from extern'; $lang['notify'] = 'Send change notifications to this email address'; +$lang['notify_subject'] = 'Subject to use in notification emails'; $lang['registernotify'] = 'Send info on newly registered users to this email address'; $lang['mailfrom'] = 'Email address to use for automatic mails'; $lang['gzip_output'] = 'Use gzip Content-Encoding for xhtml'; diff -rN -u old-dokuwiki/lib/plugins/config/settings/config.metadata.php new-dokuwiki/lib/plugins/config/settings/config.metadata.php --- old-dokuwiki/lib/plugins/config/settings/config.metadata.php 2006-12-04 20:43:22.000000000 -0500 +++ new-dokuwiki/lib/plugins/config/settings/config.metadata.php 2006-12-04 20:43:23.000000000 -0500 @@ -129,6 +129,7 @@ $meta['htmlok'] = array('onoff'); $meta['phpok'] = array('onoff'); $meta['notify'] = array('email'); +$meta['notify_subject'] = array('string'); $meta['subscribers'] = array('onoff'); $meta['locktime'] = array('numeric'); $meta['cachetime'] = array('numeric');