diff options
-rw-r--r-- | Zotlabs/Module/Wiki.php | 11 | ||||
-rw-r--r-- | view/tpl/wiki.tpl | 20 | ||||
-rw-r--r-- | view/tpl/wiki_page_history.tpl | 8 |
3 files changed, 32 insertions, 7 deletions
diff --git a/Zotlabs/Module/Wiki.php b/Zotlabs/Module/Wiki.php index 5b5bfe87f..a1dc317ff 100644 --- a/Zotlabs/Module/Wiki.php +++ b/Zotlabs/Module/Wiki.php @@ -29,6 +29,7 @@ class Wiki extends \Zotlabs\Web\Controller { // Something like $interface = array('new_page_button' => false, 'new_wiki_button' => false, ...) $wiki_owner = false; $showNewWikiButton = false; + $showCommitMsg = false; $pageHistory = array(); $local_observer = null; $resource_id = ''; @@ -77,6 +78,7 @@ class Wiki extends \Zotlabs\Web\Controller { $showPageControls = false; $showNewWikiButton = $wiki_owner; $showNewPageButton = false; + $showCommitMsg = false; break; case 3: // /wiki/channel/wiki -> No page was specified, so redirect to Home.md @@ -114,6 +116,7 @@ class Wiki extends \Zotlabs\Web\Controller { $showPageControls = $wiki_owner; $showNewWikiButton = $wiki_owner; $showNewPageButton = $wiki_owner; + $showCommitMsg = true; $pageHistory = wiki_page_history(array('resource_id' => $resource_id, 'pageUrlName' => $pageUrlName)); break; default: // Strip the extraneous URL components @@ -128,6 +131,7 @@ class Wiki extends \Zotlabs\Web\Controller { '$showPageControls' => $showPageControls, '$showNewWikiButton'=> $showNewWikiButton, '$showNewPageButton'=> $showNewPageButton, + '$showCommitMsg' => $showCommitMsg, '$channel' => $channel['channel_address'], '$resource_id' => $resource_id, '$page' => $pageUrlName, @@ -138,6 +142,7 @@ class Wiki extends \Zotlabs\Web\Controller { '$renderedContent' => Markdown(json_decode($content)), '$wikiName' => array('wikiName', t('Enter the name of your new wiki:'), '', ''), '$pageName' => array('pageName', t('Enter the name of the new page:'), '', ''), + '$commitMsg' => array('commitMsg', '', '', '', '', 'placeholder="(optional) Enter a custom message when saving the page..."'), '$pageHistory' => $pageHistory['history'] )); head_add_js('library/ace/ace.js'); // Ace Code Editor @@ -290,6 +295,10 @@ class Wiki extends \Zotlabs\Web\Controller { $pageUrlName = $_POST['name']; $pageHtmlName = escape_tags($_POST['name']); $content = escape_tags($_POST['content']); //Get new content + $commitMsg = $_POST['commitMsg']; + if ($commitMsg === '') { + $commitMsg = 'Updated ' . $pageHtmlName; + } // Determine if observer has permission to save content if (local_channel()) { $channel = \App::get_channel(); @@ -314,7 +323,7 @@ class Wiki extends \Zotlabs\Web\Controller { if($saved['success']) { $ob = \App::get_observer(); $commit = wiki_git_commit(array( - 'commit_msg' => 'Updated ' . $pageHtmlName, + 'commit_msg' => $commitMsg, 'resource_id' => $resource_id, 'observer' => $ob, 'files' => array($pageUrlName.'.md') diff --git a/view/tpl/wiki.tpl b/view/tpl/wiki.tpl index d9a490bf8..05ddad05b 100644 --- a/view/tpl/wiki.tpl +++ b/view/tpl/wiki.tpl @@ -101,6 +101,11 @@ </div> </div> + {{if $showCommitMsg}} + <div class="section-content-wrapper"> + {{include file="field_input.tpl" field=$commitMsg}} + </div> + {{/if}} </div> <script> @@ -198,10 +203,16 @@ function wiki_delete_wiki(wikiHtmlName, resource_id) { ev.preventDefault(); return false; } - $.post("wiki/{{$channel}}/save/page", {content: editor.getValue(), name: window.wiki_page_name, resource_id: window.wiki_resource_id}, + $.post("wiki/{{$channel}}/save/page", + { content: editor.getValue(), + commitMsg: $('#id_commitMsg').val(), + name: window.wiki_page_name, + resource_id: window.wiki_resource_id + }, function (data) { if (data.success) { window.console.log('Page saved successfully.'); + $('#id_commitMsg').val(''); // Clear the commit message box } else { alert('Error saving page.'); // TODO: Replace alerts with auto-timeout popups window.console.log('Error saving page.'); @@ -241,7 +252,12 @@ function wiki_delete_wiki(wikiHtmlName, resource_id) { $.post("wiki/{{$channel}}/revert/page", {commitHash: commitHash, name: window.wiki_page_name, resource_id: window.wiki_resource_id}, function (data) { if (data.success) { - window.console.log('Reverted content: ' + data.content); + $('button[id^=revert-]').removeClass('btn-success'); + $('button[id^=revert-]').addClass('btn-danger'); + $('button[id^=revert-]').html('Revert'); + $('#revert-'+commitHash).removeClass('btn-danger'); + $('#revert-'+commitHash).addClass('btn-success'); + $('#revert-'+commitHash).html('Page reverted<br>but not saved'); // put contents in editor editor.getSession().setValue(data.content); } else { diff --git a/view/tpl/wiki_page_history.tpl b/view/tpl/wiki_page_history.tpl index b124d4cb5..6ce3ce204 100644 --- a/view/tpl/wiki_page_history.tpl +++ b/view/tpl/wiki_page_history.tpl @@ -1,10 +1,10 @@ <table class="table-striped table-responsive table-hover" style="width: 100%;"> {{foreach $pageHistory as $commit}} <tr><td> - <table id="rev-{{$commit.hash}}" onclick="$('#details-{{$commit.hash}}').show()"> - <tr><td>Date</td><td>{{$commit.date}}</td><td rowspan="3""> - <button id="revert-{{$commit.hash}}" class="btn btn-warning btn-xs" onclick="wiki_revert_page('{{$commit.hash}}')">Revert</button></td></tr> - <tr><td>Name</td><td>{{$commit.name}}</td></tr> + <table id="rev-{{$commit.hash}}" onclick="$('#details-{{$commit.hash}}').show()" width="100%"> + <tr><td width="10%">Date</td><td width="70%">{{$commit.date}}</td><td rowspan="3" width="20%" align="right"> + <button id="revert-{{$commit.hash}}" class="btn btn-danger btn-xs" onclick="wiki_revert_page('{{$commit.hash}}')">Revert</button></td></tr> + <tr><td>Name</td><td>{{$commit.name}} <{{$commit.email}}></td></tr> <tr><td>Message</td><td>{{$commit.title}}</td></tr> </table> </td></tr> |