diff options
-rw-r--r-- | Zotlabs/Module/Channel.php | 3 | ||||
-rw-r--r-- | Zotlabs/Module/Display.php | 3 | ||||
-rw-r--r-- | Zotlabs/Module/Network.php | 5 | ||||
-rw-r--r-- | Zotlabs/Module/Rpost.php | 3 | ||||
-rw-r--r-- | include/acl_selectors.php | 7 | ||||
-rw-r--r-- | include/conversation.php | 10 | ||||
-rw-r--r-- | view/css/conversation.css | 14 | ||||
-rw-r--r-- | view/js/acl.js | 12 | ||||
-rwxr-xr-x | view/tpl/acl_selector.tpl | 13 | ||||
-rwxr-xr-x | view/tpl/jot.tpl | 157 |
10 files changed, 124 insertions, 103 deletions
diff --git a/Zotlabs/Module/Channel.php b/Zotlabs/Module/Channel.php index 59cb9f06c..be65354a9 100644 --- a/Zotlabs/Module/Channel.php +++ b/Zotlabs/Module/Channel.php @@ -140,7 +140,8 @@ class Channel extends \Zotlabs\Web\Controller { 'profile_uid' => \App::$profile['profile_uid'], 'editor_autocomplete' => true, 'bbco_autocomplete' => 'bbcode', - 'bbcode' => true + 'bbcode' => true, + 'jotnets' => true ); $o .= status_editor($a,$x); diff --git a/Zotlabs/Module/Display.php b/Zotlabs/Module/Display.php index 35ed0c894..e9441bbdf 100644 --- a/Zotlabs/Module/Display.php +++ b/Zotlabs/Module/Display.php @@ -73,7 +73,8 @@ class Display extends \Zotlabs\Web\Controller { 'expanded' => true, 'editor_autocomplete' => true, 'bbco_autocomplete' => 'bbcode', - 'bbcode' => true + 'bbcode' => true, + 'jotnets' => true ); $o = '<div id="jot-popup">'; diff --git a/Zotlabs/Module/Network.php b/Zotlabs/Module/Network.php index 0128adc2c..50bb05075 100644 --- a/Zotlabs/Module/Network.php +++ b/Zotlabs/Module/Network.php @@ -159,7 +159,7 @@ class Network extends \Zotlabs\Web\Controller { 'allow_gid' => $channel['channel_allow_gid'], 'deny_cid' => $channel['channel_deny_cid'], 'deny_gid' => $channel['channel_deny_gid'] - ); + ); $private_editing = ((($group || $cid) && (! intval($_GET['pf']))) ? true : false); @@ -176,7 +176,8 @@ class Network extends \Zotlabs\Web\Controller { 'profile_uid' => local_channel(), 'editor_autocomplete' => true, 'bbco_autocomplete' => 'bbcode', - 'bbcode' => true + 'bbcode' => true, + 'jotnets' => true ); if($deftag) $x['pretext'] = $deftag; diff --git a/Zotlabs/Module/Rpost.php b/Zotlabs/Module/Rpost.php index 525f053de..e7662e49a 100644 --- a/Zotlabs/Module/Rpost.php +++ b/Zotlabs/Module/Rpost.php @@ -126,7 +126,8 @@ class Rpost extends \Zotlabs\Web\Controller { 'source' => ((x($_REQUEST,'source')) ? strip_tags($_REQUEST['source']) : ''), 'return_path' => 'rpost/return', 'bbco_autocomplete' => 'bbcode', - 'bbcode' => true + 'bbcode' => true, + 'jotnets' => true ); $editor = status_editor($a,$x); diff --git a/include/acl_selectors.php b/include/acl_selectors.php index 9bee942e2..362776b44 100644 --- a/include/acl_selectors.php +++ b/include/acl_selectors.php @@ -148,11 +148,6 @@ function populate_acl($defaults = null,$show_jotnets = true, $emptyACL_descripti array_walk($deny_cid,'fixacl'); array_walk($deny_gid,'fixacl'); } - - $jotnets = ''; - if($show_jotnets) { - call_hooks('jot_networks', $jotnets); - } $r = q("SELECT id, hash, gname FROM groups WHERE deleted = 0 AND uid = %d ORDER BY gname ASC", intval(local_channel()) @@ -181,8 +176,6 @@ function populate_acl($defaults = null,$show_jotnets = true, $emptyACL_descripti '$allowgid' => json_encode($allow_gid), '$denycid' => json_encode($deny_cid), '$denygid' => json_encode($deny_gid), - '$jnetModalTitle' => t('Other networks and post services'), - '$jotnets' => $jotnets, '$aclModalTitle' => t('Permissions'), '$aclModalDesc' => $dialog_description, '$aclModalDismiss' => t('Close'), diff --git a/include/conversation.php b/include/conversation.php index 7d1473fe2..637234bff 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -1200,8 +1200,6 @@ function status_editor($a, $x, $popup = false) { $tpl = get_markup_template('jot.tpl'); - $jotplugins = ''; - $preview = t('Preview'); if(x($x, 'hide_preview')) $preview = ''; @@ -1218,8 +1216,14 @@ function status_editor($a, $x, $popup = false) { if(! $cipher) $cipher = 'aes256'; + $jotplugins = ''; call_hooks('jot_tool', $jotplugins); + $jotnets = ''; + if(x($x,'jotnets')) { + call_hooks('jot_networks', $jotnets); + } + $o .= replace_macros($tpl, array( '$return_path' => ((x($x, 'return_path')) ? $x['return_path'] : App::$query_string), '$action' => z_root() . '/item', @@ -1276,6 +1280,8 @@ function status_editor($a, $x, $popup = false) { '$preview' => $preview, '$source' => ((x($x, 'source')) ? $x['source'] : ''), '$jotplugins' => $jotplugins, + '$jotnets' => $jotnets, + '$jotnets_label' => t('Other networks and post services'), '$defexpire' => $defexpire, '$feature_expire' => $feature_expire, '$expires' => t('Set expiration date'), diff --git a/view/css/conversation.css b/view/css/conversation.css index 5af0c55e7..6c5171545 100644 --- a/view/css/conversation.css +++ b/view/css/conversation.css @@ -1,6 +1,6 @@ /* jot */ -.jothidden input { +.jothidden input[type="text"] { border: 0px; margin: 0px; height: 39px; @@ -70,6 +70,10 @@ margin-bottom: 30px; } +#profile-jot-plugin-wrapper { + margin-top: 10px; +} + #profile-rotator-wrapper { float: left; } @@ -78,14 +82,6 @@ padding: 15px 0px 0px 15px; } -.profile-jot-net { - float: left; - margin-right: 10px; - margin-top: 5px; - margin-bottom: 5px; - padding: 5px; -} - /* conversation */ .thread-wrapper.toplevel_item { diff --git a/view/js/acl.js b/view/js/acl.js index eb7b7f523..c1685e137 100644 --- a/view/js/acl.js +++ b/view/js/acl.js @@ -100,13 +100,6 @@ ACL.prototype.on_submit = function() { $(that.deny_cid).each(function(i,v) { that.form_id.append("<input class='acl-field' type='hidden' name='contact_deny[]' value='"+v+"'>"); }); - - var formfields = $('.profile-jot-net input').serializeArray(); - - $.each(formfields, function(i, field) { - that.form_id.append("<input class='acl-field' type='hidden' name='"+field.name+"' value='"+field.value+"'>"); - }); - }; ACL.prototype.search = function() { @@ -283,6 +276,7 @@ ACL.prototype.update_view = function(value) { /* jot acl */ $('#jot-perms-icon, #dialog-perms-icon').removeClass('fa-lock').addClass('fa-unlock'); + $('#dbtn-jotnets').show(); $('.profile-jot-net input').attr('disabled', false); } @@ -295,6 +289,7 @@ ACL.prototype.update_view = function(value) { /* jot acl */ $('#jot-perms-icon, #dialog-perms-icon').removeClass('fa-unlock').addClass('fa-lock'); + $('#dbtn-jotnets').hide(); $('.profile-jot-net input').attr('disabled', 'disabled'); } @@ -306,6 +301,7 @@ ACL.prototype.update_view = function(value) { /* jot acl */ $('#jot-perms-icon, #dialog-perms-icon').removeClass('fa-unlock').addClass('fa-lock'); + $('#dbtn-jotnets').hide(); $('.profile-jot-net input').attr('disabled', 'disabled'); } @@ -317,10 +313,12 @@ ACL.prototype.update_view = function(value) { /* jot acl */ if(that.allow_gid.length === 0 && that.allow_cid.length === 0 && that.deny_gid.length === 0 && that.deny_cid.length === 0 && value === 'custom') { $('#jot-perms-icon, #dialog-perms-icon').removeClass('fa-lock').addClass('fa-unlock'); + $('#dbtn-jotnets').show(); $('.profile-jot-net input').attr('disabled', false); } else { $('#jot-perms-icon, #dialog-perms-icon').removeClass('fa-unlock').addClass('fa-lock'); + $('#dbtn-jotnets').hide(); $('.profile-jot-net input').attr('disabled', 'disabled'); } } diff --git a/view/tpl/acl_selector.tpl b/view/tpl/acl_selector.tpl index 70ef4469a..dbdbd6a56 100755 --- a/view/tpl/acl_selector.tpl +++ b/view/tpl/acl_selector.tpl @@ -27,16 +27,6 @@ </div> {{/if}} - {{if $jotnets}} - <div class="jotnets-wrapper" role="tab" id="jotnets-wrapper"> - <a data-toggle="collapse" class="btn btn-block btn-default" href="#jotnets-collapse" aria-expanded="false" aria-controls="jotnets-collapse">{{$jnetModalTitle}} <span class="caret"></span></a> - </div> - <div id="jotnets-collapse" class="panel-collapse collapse" role="tabpanel" aria-labelledby="acl-select"> - {{$jotnets}} - <div class="clear"></div> - </div> - {{/if}} - <div id="acl-wrapper"> <div id="acl-list"> <div id="acl-search-wrapper"> @@ -47,13 +37,14 @@ <div id="acl-list-content"></div> </div> </div> - <span id="acl-fields"></span> </div> + <div class="acl-list-item" rel="acl-template" style="display:none"> <img data-src="{0}"><p>{1}</p> <button class="acl-button-hide btn btn-xs btn-default"><i class="fa fa-times"></i> {{$hide}}</button> <button class="acl-button-show btn btn-xs btn-default"><i class="fa fa-check"></i> {{$show}}</button> </div> + </div> <div class="modal-footer clear"> <button type="button" class="btn btn-default" data-dismiss="modal">{{$aclModalDismiss}}</button> diff --git a/view/tpl/jot.tpl b/view/tpl/jot.tpl index 20357b66f..a3bfad842 100755 --- a/view/tpl/jot.tpl +++ b/view/tpl/jot.tpl @@ -80,10 +80,10 @@ </button> {{/if}} {{if $embedPhotos}} - <button id="embed-photo-wrapper" class="btn btn-default btn-sm" title="{{$embedPhotos}}" onclick="initializeEmbedPhotoDialog();return false;"> - <i id="embed-photo" class="fa fa-file-image-o jot-icons"></i> - </button> - {{/if}} + <button id="embed-photo-wrapper" class="btn btn-default btn-sm" title="{{$embedPhotos}}" onclick="initializeEmbedPhotoDialog();return false;"> + <i id="embed-photo" class="fa fa-file-image-o jot-icons"></i> + </button> + {{/if}} </div> <div class="btn-group hidden-xs hidden-sm"> {{if $setloc}} @@ -130,7 +130,7 @@ <button type="button" id="more-tools" class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown" aria-expanded="false"> <i id="more-tools-icon" class="fa fa-caret-down jot-icons"></i> </button> - <ul class="dropdown-menu dropdown-menu" role="menu"> + <ul class="dropdown-menu" role="menu"> {{if $visitor}} {{if $writefiles}} <li><a id="wall-file-upload-sub" href="#" ><i class="fa fa-paperclip"></i> {{$attach}}</a></li> @@ -173,17 +173,42 @@ <i class="fa fa-eye jot-icons" ></i> </button> {{/if}} + {{if $jotnets}} + <button id="dbtn-jotnets" class="btn btn-default btn-sm" data-toggle="modal" data-target="#jotnetsModal" type="button" title="{{$jotnets_label}}" style="{{if $lockstate == 'lock'}}display: none;{{/if}}"> + <i class="fa fa-share-alt jot-icons"></i> + </button> + {{/if}} {{if $showacl}} - <button id="dbtn-acl" class="acl-select btn btn-default btn-sm" data-toggle="modal" data-target="#aclModal" title="{{$permset}}" type="button" data-form_id="profile-jot-form"> + <button id="dbtn-acl" class="btn btn-default btn-sm" data-toggle="modal" data-target="#aclModal" title="{{$permset}}" type="button" data-form_id="profile-jot-form"> <i id="jot-perms-icon" class="fa fa-{{$lockstate}} jot-icons"></i>{{if $bang}} <i class="fa fa-exclamation jot-icons"></i>{{/if}} </button> {{/if}} - <button id="dbtn-submit" class="acl-submit btn btn-primary btn-sm" type="submit" tabindex=3 name="button-submit">{{$share}}</button> + <button id="dbtn-submit" class="btn btn-primary btn-sm" type="submit" tabindex="3" name="button-submit">{{$share}}</button> </div> - <div id="profile-jot-perms-end"></div> + <div class="clear"></div> + {{if $jotplugins}} <div id="profile-jot-plugin-wrapper"> {{$jotplugins}} </div> + {{/if}} + {{if $jotnets}} + <div class="modal" id="jotnetsModal" tabindex="-1" role="dialog" aria-labelledby="jotnetsModalLabel" aria-hidden="true"> + <div class="modal-dialog"> + <div class="modal-content"> + <div class="modal-header"> + <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> + <h4 class="modal-title" id="expiryModalLabel">{{$jotnets_label}}</h4> + </div> + <div class="modal-body"> + {{$jotnets}} + </div> + <div class="modal-footer"> + <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> + </div> + </div><!-- /.modal-content --> + </div><!-- /.modal-dialog --> + </div><!-- /.modal --> + {{/if}} </div> <div id="profile-jot-text-loading"></div> <div id="profile-jot-end" class="clear"></div> @@ -197,70 +222,78 @@ {{if $feature_expire}} <!-- Modal for item expiry--> <div class="modal" id="expiryModal" tabindex="-1" role="dialog" aria-labelledby="expiryModalLabel" aria-hidden="true"> - <div class="modal-dialog"> - <div class="modal-content"> - <div class="modal-header"> - <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> - <h4 class="modal-title" id="expiryModalLabel">{{$expires}}</h4> - </div> - <!-- <div class="modal-body"> --> - <div class="modal-body form-group" style="width:90%"> - <div class='date'><input type='text' placeholder='yyyy-mm-dd HH:MM' name='start_text' id='expiration-date' class="form-control" /></div><script type='text/javascript'>$(function () {var picker = $('#expiration-date').datetimepicker({format:'Y-m-d H:i', minDate: 0 }); })</script> - </div> - <!-- </div> --> - <div class="modal-footer"> - <button type="button" class="btn btn-default" data-dismiss="modal">{{$expiryModalCANCEL}}</button> - <button id="expiry-modal-OKButton" type="button" class="btn btn-primary">{{$expiryModalOK}}</button> - </div> - </div><!-- /.modal-content --> - </div><!-- /.modal-dialog --> + <div class="modal-dialog"> + <div class="modal-content"> + <div class="modal-header"> + <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> + <h4 class="modal-title" id="expiryModalLabel">{{$expires}}</h4> + </div> + <div class="modal-body form-group" style="width:90%"> + <div class="date"> + <input type="text" placeholder="yyyy-mm-dd HH:MM" name="start_text" id="expiration-date" class="form-control" /> + </div> + <script> + $(function () { + var picker = $('#expiration-date').datetimepicker({format:'Y-m-d H:i', minDate: 0 }); + }); + </script> + </div> + <div class="modal-footer"> + <button type="button" class="btn btn-default" data-dismiss="modal">{{$expiryModalCANCEL}}</button> + <button id="expiry-modal-OKButton" type="button" class="btn btn-primary">{{$expiryModalOK}}</button> + </div> + </div><!-- /.modal-content --> + </div><!-- /.modal-dialog --> </div><!-- /.modal --> {{/if}} {{if $feature_future}} -<!-- Modal for item created--> <div class="modal" id="createdModal" tabindex="-1" role="dialog" aria-labelledby="createdModalLabel" aria-hidden="true"> - <div class="modal-dialog"> - <div class="modal-content"> - <div class="modal-header"> - <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> - <h4 class="modal-title" id="createdModalLabel">{{$future_txt}}</h4> - </div> - <!-- <div class="modal-body"> --> - <div class="modal-body form-group" style="width:90%"> - <div class='date'><input type='text' placeholder='yyyy-mm-dd HH:MM' name='created_text' id='created-date' class="form-control" /></div><script type='text/javascript'>$(function () {var picker = $('#created-date').datetimepicker({format:'Y-m-d H:i', minDate: 0 }); })</script> - </div> - <!-- </div> --> - <div class="modal-footer"> - <button type="button" class="btn btn-default" data-dismiss="modal">{{$expiryModalCANCEL}}</button> - <button id="created-modal-OKButton" type="button" class="btn btn-primary">{{$expiryModalOK}}</button> - </div> - </div><!-- /.modal-content --> - </div><!-- /.modal-dialog --> + <div class="modal-dialog"> + <div class="modal-content"> + <div class="modal-header"> + <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> + <h4 class="modal-title" id="createdModalLabel">{{$future_txt}}</h4> + </div> + <div class="modal-body form-group" style="width:90%"> + <div class="date"> + <input type="text" placeholder="yyyy-mm-dd HH:MM" name="created_text" id="created-date" class="form-control" /> + </div> + <script> + $(function () { + var picker = $('#created-date').datetimepicker({format:'Y-m-d H:i', minDate: 0 }); + }); + </script> + </div> + <div class="modal-footer"> + <button type="button" class="btn btn-default" data-dismiss="modal">{{$expiryModalCANCEL}}</button> + <button id="created-modal-OKButton" type="button" class="btn btn-primary">{{$expiryModalOK}}</button> + </div> + </div><!-- /.modal-content --> + </div><!-- /.modal-dialog --> </div><!-- /.modal --> {{/if}} {{if $embedPhotos}} <div class="modal" id="embedPhotoModal" tabindex="-1" role="dialog" aria-labelledby="embedPhotoLabel" aria-hidden="true"> - <div class="modal-dialog"> - <div class="modal-content"> - <div class="modal-header"> - <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> - <h4 class="modal-title" id="embedPhotoModalLabel">{{$embedPhotosModalTitle}}</h4> - </div> - <div class="modal-body" id="embedPhotoModalBody" > - <div id="embedPhotoModalBodyAlbumListDialog" class="hide"> - <div id="embedPhotoModalBodyAlbumList"></div> - </div> - <div id="embedPhotoModalBodyAlbumDialog" class="hide"> - </div> - </div> - <div class="modal-footer"> - <button type="button" class="btn btn-default" data-dismiss="modal">{{$embedPhotosModalCancel}}</button> - <button id="embed-photo-OKButton" type="button" class="btn btn-primary">{{$embedPhotosModalOK}}</button> - </div> - </div><!-- /.modal-content --> - </div><!-- /.modal-dialog --> + <div class="modal-dialog"> + <div class="modal-content"> + <div class="modal-header"> + <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> + <h4 class="modal-title" id="embedPhotoModalLabel">{{$embedPhotosModalTitle}}</h4> + </div> + <div class="modal-body" id="embedPhotoModalBody" > + <div id="embedPhotoModalBodyAlbumListDialog" class="hide"> + <div id="embedPhotoModalBodyAlbumList"></div> + </div> + <div id="embedPhotoModalBodyAlbumDialog" class="hide"></div> + </div> + <div class="modal-footer"> + <button type="button" class="btn btn-default" data-dismiss="modal">{{$embedPhotosModalCancel}}</button> + <button id="embed-photo-OKButton" type="button" class="btn btn-primary">{{$embedPhotosModalOK}}</button> + </div> + </div><!-- /.modal-content --> + </div><!-- /.modal-dialog --> </div><!-- /.modal --> {{/if}} |