aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Manning <tamanning@zoho.com>2016-11-16 20:16:46 -0500
committerAndrew Manning <tamanning@zoho.com>2016-11-16 20:16:46 -0500
commit748c8944507086651049830631c20d7ea87bc567 (patch)
tree09c886b0f8bde71f801f4641d9872f8159e8a850
parent0e8b13841a921bef6492e20e478cf27976384d84 (diff)
downloadvolse-hubzilla-748c8944507086651049830631c20d7ea87bc567.tar.gz
volse-hubzilla-748c8944507086651049830631c20d7ea87bc567.tar.bz2
volse-hubzilla-748c8944507086651049830631c20d7ea87bc567.zip
Move new wiki dialog directly underneath new wiki button in wiki list widget
-rw-r--r--include/widgets.php90
-rw-r--r--view/tpl/wiki.tpl29
-rw-r--r--view/tpl/wikilist.tpl30
3 files changed, 95 insertions, 54 deletions
diff --git a/include/widgets.php b/include/widgets.php
index 86f0305df..84f224c7e 100644
--- a/include/widgets.php
+++ b/include/widgets.php
@@ -899,32 +899,72 @@ function widget_chatroom_members() {
function widget_wiki_list($arr) {
- require_once("include/wiki.php");
- $channel = null;
- if (argc() < 2 && local_channel()) {
- // This should not occur because /wiki should redirect to /wiki/channel ...
- $channel = \App::get_channel();
- } else {
- $channel = channelx_by_nick(argv(1)); // Channel being viewed by observer
- }
- if (!$channel) {
+ require_once("include/wiki.php");
+ $channel = null;
+ if (argc() < 2 && local_channel()) {
+ // This should not occur because /wiki should redirect to /wiki/channel ...
+ $channel = \App::get_channel();
+ } else {
+ $channel = channelx_by_nick(argv(1)); // Channel being viewed by observer
+ }
+ if (!$channel) {
+ return '';
+ }
+ // init() should have forced the URL to redirect to /wiki/channel so assume argc() > 1
+ $nick = argv(1);
+ $owner = channelx_by_nick($nick); // The channel who owns the wikis being viewed
+ // Determine if the observer is the channel owner so the ACL dialog can be populated
+ if (local_channel() === intval($owner['channel_id'])) {
+
+ // Obtain the default permission settings of the channel
+ $owner_acl = array(
+ 'allow_cid' => $owner['channel_allow_cid'],
+ 'allow_gid' => $owner['channel_allow_gid'],
+ 'deny_cid' => $owner['channel_deny_cid'],
+ 'deny_gid' => $owner['channel_deny_gid']
+ );
+ // Initialize the ACL to the channel default permissions
+ $x = array(
+ 'lockstate' => (( $owner['channel_allow_cid'] ||
+ $owner['channel_allow_gid'] ||
+ $owner['channel_deny_cid'] ||
+ $owner['channel_deny_gid']) ? 'lock' : 'unlock'
+ ),
+ 'acl' => populate_acl($owner_acl),
+ 'allow_cid' => acl2json($owner_acl['allow_cid']),
+ 'allow_gid' => acl2json($owner_acl['allow_gid']),
+ 'deny_cid' => acl2json($owner_acl['deny_cid']),
+ 'deny_gid' => acl2json($owner_acl['deny_gid']),
+ 'bang' => ''
+ );
+ } else {
+ // Not the channel owner
+ $owner_acl = $x = array();
+ }
+
+ $wikis = wiki_list($channel, get_observer_hash());
+ if ($wikis) {
+ return replace_macros(get_markup_template('wikilist.tpl'), array(
+ '$header' => t('Wiki List'),
+ '$channel' => $channel['channel_address'],
+ '$wikis' => $wikis['wikis'],
+ // If the observer is the local channel owner, show the wiki controls
+ '$owner' => ((local_channel() && local_channel() === intval(\App::$profile['uid'])) ? true : false),
+ '$edit' => t('Edit'),
+ '$download' => t('Download'),
+ '$view' => t('View'),
+ '$addnew' => t('Add new wiki'),
+ '$wikiName' => array('wikiName', t('Enter the name of your new wiki:'), '', ''),
+ '$lockstate' => $x['lockstate'],
+ '$acl' => $x['acl'],
+ '$allow_cid' => $x['allow_cid'],
+ '$allow_gid' => $x['allow_gid'],
+ '$deny_cid' => $x['deny_cid'],
+ '$deny_gid' => $x['deny_gid'],
+ '$bang' => $x['bang'],
+ ));
+ }
return '';
- }
- $wikis = wiki_list($channel, get_observer_hash());
- if ($wikis) {
- return replace_macros(get_markup_template('wikilist.tpl'), array(
- '$header' => t('Wiki List'),
- '$channel' => $channel['channel_address'],
- '$wikis' => $wikis['wikis'],
- // If the observer is the local channel owner, show the wiki controls
- '$owner' => ((local_channel() && local_channel() === intval(\App::$profile['uid'])) ? true : false),
- '$edit' => t('Edit'),
- '$download' => t('Download'),
- '$view' => t('View'),
- '$addnew' => t('Add new wiki')
- ));
- }
- return '';
}
function widget_wiki_pages($arr) {
diff --git a/view/tpl/wiki.tpl b/view/tpl/wiki.tpl
index 54d501396..9c6499558 100644
--- a/view/tpl/wiki.tpl
+++ b/view/tpl/wiki.tpl
@@ -43,35 +43,6 @@
<h2><span id="wiki-header-name">{{$wikiheaderName}}</span>: <span id="wiki-header-page">{{$wikiheaderPage}}</span></h2>
<div class="clear"></div>
</div>
- <div id="new-wiki-form-wrapper" class="section-content-tools-wrapper" style="display:none;">
- <form id="new-wiki-form" action="wiki/{{$channel}}/create/wiki" method="post" class="acl-form" data-form_id="new-wiki-form" data-allow_cid='{{$allow_cid}}' data-allow_gid='{{$allow_gid}}' data-deny_cid='{{$deny_cid}}' data-deny_gid='{{$deny_gid}}'>
- <div class="clear"></div>
- {{include file="field_input.tpl" field=$wikiName}}
-
- <div id="post-visible-container" class="form-group field checkbox">
- <span style="font-size:1.2em;" class="pull-left">Send notification post?</span>
- <div style="margin-left:20px" class="pull-left">
- <input name="postVisible" id="postVisible" value="0" type="checkbox">
- <label class="switchlabel" for="postVisible">
- <span class="onoffswitch-inner" data-on="Post" data-off="None"></span>
- <span class="onoffswitch-switch"></span>
- </label>
- </div>
- </div>
-
- <div class="btn-group pull-right">
- <div id="profile-jot-submit-right" class="btn-group">
- <button id="dbtn-acl" class="btn btn-default btn-sm" data-toggle="modal" data-target="#aclModal" title="Permission settings" onclick="return false;">
- <i id="jot-perms-icon" class="fa fa-{{$lockstate}} jot-icons"></i>{{$bang}}
- </button>
- <button id="new-wiki-submit" class="btn btn-primary" type="submit" name="submit" >Create Wiki</button>
- </div>
- </div>
- </form>
- {{$acl}}
- <div class="clear"></div>
- <hr>
- </div>
<div id="edit-wiki-form-wrapper" class="section-content-tools-wrapper" style="display:none;">
<form id="edit-wiki-form" action="wiki/edit/wiki" method="post" >
diff --git a/view/tpl/wikilist.tpl b/view/tpl/wikilist.tpl
index eb6dbc722..f23a1d0e3 100644
--- a/view/tpl/wikilist.tpl
+++ b/view/tpl/wikilist.tpl
@@ -11,5 +11,35 @@
{{/if}}
{{if $owner}}<li><a href="#" class="fakelink" onclick="wiki_show_new_wiki_form(); return false;"><i id="new-wiki-button" class="fa fa-plus-circle"></i>&nbsp;{{$addnew}}</a></li>{{/if}}
</ul>
+ {{if $owner}}
+ <div id="new-wiki-form-wrapper" class="section-content-tools-wrapper" style="display:none;">
+ <form id="new-wiki-form" action="wiki/{{$channel}}/create/wiki" method="post" class="acl-form" data-form_id="new-wiki-form" data-allow_cid='{{$allow_cid}}' data-allow_gid='{{$allow_gid}}' data-deny_cid='{{$deny_cid}}' data-deny_gid='{{$deny_gid}}'>
+ <div class="clear"></div>
+ {{include file="field_input.tpl" field=$wikiName}}
+
+ <div id="post-visible-container" class="form-group field checkbox">
+ <span style="font-size:1.2em;" class="pull-left">Send notification post?</span>
+ <div style="margin-left:20px" class="pull-left">
+ <input name="postVisible" id="postVisible" value="0" type="checkbox">
+ <label class="switchlabel" for="postVisible">
+ <span class="onoffswitch-inner" data-on="Post" data-off="None"></span>
+ <span class="onoffswitch-switch"></span>
+ </label>
+ </div>
+ </div>
+ <br><br>
+ <div class="btn-group pull-right">
+ <div id="profile-jot-submit-right" class="btn-group">
+ <button id="dbtn-acl" class="btn btn-default btn-sm" data-toggle="modal" data-target="#aclModal" title="Permission settings" onclick="return false;">
+ <i id="jot-perms-icon" class="fa fa-{{$lockstate}} jot-icons"></i>{{$bang}}
+ </button>
+ <button id="new-wiki-submit" class="btn btn-primary btn-sm" type="submit" name="submit" >Create Wiki</button>
+ </div>
+ </div>
+ </form>
+ {{$acl}}
+ <div class="clear"></div>
+ </div>
+ {{/if}}
</div>