aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Zotlabs/Module/Wiki.php11
-rw-r--r--view/tpl/wiki.tpl20
-rw-r--r--view/tpl/wiki_page_history.tpl8
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}} &lt;{{$commit.email}}&gt;</td></tr>
<tr><td>Message</td><td>{{$commit.title}}</td></tr>
</table>
</td></tr>