tbrehm
2009-03-17 9994de85fcf14a98dcc54cc7399b87e34d9b3c29
server/plugins-available/mail_plugin.inc.php
@@ -68,6 +68,11 @@
      //$app->plugins->registerEvent('mail_domain_update',$this->plugin_name,'domain_update');
      $app->plugins->registerEvent('mail_domain_delete',$this->plugin_name,'domain_delete');
      
      //* Mail transports
      $app->plugins->registerEvent('mail_transport_insert',$this->plugin_name,'transport_update');
      $app->plugins->registerEvent('mail_transport_update',$this->plugin_name,'transport_update');
      $app->plugins->registerEvent('mail_transport_delete',$this->plugin_name,'transport_update');
   }
   
   
@@ -98,7 +103,11 @@
         //* This is to fix the maildrop quota not being rebuilt after the quota is changed.
         exec("su -c 'maildirmake -q ".$data['new']['quota']."S ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name']); // Avoid maildirmake quota bug, see debian bug #214911
         $app->log('Created Maildir: '."su -c 'maildirmake -q ".$data['new']['quota']."S ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name'],LOGLEVEL_DEBUG);
      }
      }
      //* Set the maildir quota
      exec("su -c 'maildirmake -q ".$data['new']['quota']."S ".escapeshellcmd($data['new']['maildir'])."' ".$mail_config['mailuser_name']);
      $app->log('Set Maildir quota: '."su -c 'maildirmake -q ".$data['new']['quota']."S ".escapeshellcmd($data['new']['maildir'])."' ".$mail_config['mailuser_name'],LOGLEVEL_DEBUG);
   }
   
   function user_update($event_name,$data) {
@@ -118,8 +127,8 @@
      // Move mailbox, if domain has changed and delete old mailbox
      if($data['new']['maildir'] != $data['old']['maildir'] && is_dir($data['old']['maildir'])) {
         if(is_dir($data['new']['maildir'])) {
            exec("rm -f ".escapeshellcmd($data['new']['maildir']).'/*');
            rmdir($data['new']['maildir']);
            exec("rm -fr ".escapeshellcmd($data['new']['maildir']));
            //rmdir($data['new']['maildir']);
         }
         exec('mv -f '.escapeshellcmd($data['old']['maildir']).' '.escapeshellcmd($data['new']['maildir']));
         // exec('mv -f '.escapeshellcmd($data['old']['maildir']).'/* '.escapeshellcmd($data['new']['maildir']));
@@ -160,6 +169,14 @@
      }
   }
   
   function transport_update($event_name,$data) {
      global $app, $conf;
      exec('/etc/init.d/postfix reload &> /dev/null');
      $app->log('Postfix config reloaded ',LOGLEVEL_DEBUG);
   }