]> git.pld-linux.org Git - packages/dokuwiki.git/blob - dokuwiki-notifyns.patch
- release 1
[packages/dokuwiki.git] / dokuwiki-notifyns.patch
1 --- dokuwiki-2008-05-05/inc/common.php~ 2008-11-12 16:45:56.298338127 +0200
2 +++ dokuwiki-2008-05-05/inc/common.php  2008-11-12 16:56:31.711609436 +0200
3 @@ -902,6 +902,34 @@
4    return $date;
5  }
6  
7 +
8 +/**
9 + * Returns notify address for page $id
10 + *
11 + * @param  string  $id       The changed page
12 + * @param  mixed   $notify   The address (string) or rules where to notify
13 + *
14 + * @author Elan Ruusamäe <glen@delfi.ee>
15 + */
16 +function notifyNS($id, $notify) {
17 +  if (empty($notify)) {
18 +    return '';
19 +  }
20 +
21 +  if (is_string($notify)) {
22 +    return $notify;
23 +  }
24 +
25 +  // process $notify for pages
26 +  foreach ($notify as $rule => $address) {
27 +    if (preg_match('/'.$rule.'/ui',':'.$id)) {
28 +      return $address;
29 +    }
30 +  }
31 +
32 +  return '';
33 +}
34 +
35  /**
36   * Sends a notify mail on page change
37   *
38 @@ -921,10 +949,10 @@
39  
40    // decide if there is something to do
41    if($who == 'admin'){
42 -    if(empty($conf['notify'])) return; //notify enabled?
43      if($conf['useacl'] && $_SERVER['REMOTE_USER'] && $minor) return; //skip minors
44 +    $to   = notifyNS($id, $conf['notify']);
45 +    if(empty($to)) return; //notify enabled?
46      $text = rawLocale('mailtext');
47 -    $to   = $conf['notify'];
48      $bcc  = '';
49    }elseif($who == 'subscribers'){
50      if(!$conf['subscribers']) return; //subscribers enabled?
51 @@ -934,9 +962,9 @@
52      $to   = '';
53      $text = rawLocale('subscribermail');
54    }elseif($who == 'register'){
55 -    if(empty($conf['registernotify'])) return;
56 +    $to   = notifyNS($id, $conf['registernotify']);
57 +    if(empty($to)) return;
58      $text = rawLocale('registermail');
59 -    $to   = $conf['registernotify'];
60      $bcc  = '';
61    }else{
62      return; //just to be safe
This page took 0.150659 seconds and 3 git commands to generate.