Merge pull request #13 from birkirb/master master
authorWolfgang Gassler <wolfgang@gassler.org>
Wed, 20 Nov 2013 16:22:40 +0000 (08:22 -0800)
committerWolfgang Gassler <wolfgang@gassler.org>
Wed, 20 Nov 2013 16:22:40 +0000 (08:22 -0800)
Allow name and mail user variables in addParams.

action/editcommit.php
lang/en/settings.php

index 1b7b45a..e5ec836 100644 (file)
@@ -68,7 +68,10 @@ class action_plugin_gitbacked_editcommit extends DokuWiki_Action_Plugin {
         $repoWorkDir = DOKU_INC.$this->getConf('repoWorkDir');
         $repo->git_path .= ' --work-tree '.escapeshellarg($repoWorkDir);
 
-        $params = $this->getConf('addParams');
+        $params = str_replace(
+            array('%mail%','%user%'),
+            array($this->getAuthorMail(),$this->getAuthor()),
+            $this->getConf('addParams'));
         if ($params) {
             $repo->git_path .= ' '.$params;
         }
@@ -78,7 +81,7 @@ class action_plugin_gitbacked_editcommit extends DokuWiki_Action_Plugin {
     private function commitFile($filePath,$message) {
 
         $repo = $this->initRepo();
-        
+
         //add the changed file and set the commit message
         $repo->add($filePath);
         $repo->commit($message);
@@ -94,6 +97,10 @@ class action_plugin_gitbacked_editcommit extends DokuWiki_Action_Plugin {
         return $GLOBALS['USERINFO']['name'];
     }
 
+    private function getAuthorMail() {
+        return $GLOBALS['USERINFO']['mail'];
+    }
+
     public function handle_media_deletion(Doku_Event &$event, $param) {
         $mediaPath = $event->data['path'];
         $mediaName = $event->data['name'];
@@ -126,10 +133,10 @@ class action_plugin_gitbacked_editcommit extends DokuWiki_Action_Plugin {
     public function handle_io_wikipage_write(Doku_Event &$event, $param) {
 
         $rev = $event->data[3];
-        
+
         /* On update to an existing page this event is called twice,
          * once for the transfer of the old version to the attic (rev will have a value)
-         * and once to write the new version of the page into the wiki (rev is false) 
+         * and once to write the new version of the page into the wiki (rev is false)
          */
         if (!$rev) {
 
@@ -162,7 +169,7 @@ class action_plugin_gitbacked_editcommit extends DokuWiki_Action_Plugin {
                 $msgTemplate
             );
 
-            $this->commitFile($pagePath,$message);        
+            $this->commitFile($pagePath,$message);
 
         }
 
index 76a2383..f4a5d86 100644 (file)
@@ -15,4 +15,4 @@ $lang['commitMediaMsg']       = 'Commit message for media files (%user%,%media% are re
 $lang['commitMediaMsgDel']     = 'Commit message for deleted media files (%user%,%media% are replaced by the corresponding values)';
 $lang['repoPath']      = 'Path of the git repo (e.g. the savedir '.$GLOBALS['conf']['savedir'].')';
 $lang['repoWorkDir']   = 'Path of the git working tree, must contain "pages" and "media" directories (e.g. the savedir '.$GLOBALS['conf']['savedir'].')';
-$lang['addParams'] = 'Additional git parameters (added to the git execution command)';
\ No newline at end of file
+$lang['addParams'] = 'Additional git parameters (added to the git execution command)(%user‰,‰mail‰ are replaced by the corresponding values)';