new feature: delayed posting

This commit is contained in:
redmatrix 2015-10-25 16:54:18 -07:00
parent 7f3df847a2
commit 917d0ced4a
5 changed files with 51 additions and 2 deletions

View File

@ -1166,6 +1166,10 @@ function status_editor($a, $x, $popup = false) {
if($defexpire)
$defexpire = datetime_convert('UTC',date_default_timezone_get(),$defexpire,'Y-m-d H:i');
$defpublish = ((($z = get_pconfig($x['profile_uid'], 'system', 'default_post_publish')) && (! $webpage)) ? $z : '');
if($defpublish)
$defpublish = datetime_convert('UTC',date_default_timezone_get(),$defpublish,'Y-m-d H:i');
$cipher = get_pconfig($x['profile_uid'], 'system', 'default_cipher');
if(! $cipher)
$cipher = 'aes256';
@ -1237,6 +1241,9 @@ function status_editor($a, $x, $popup = false) {
'$defexpire' => $defexpire,
'$feature_expire' => ((feature_enabled($x['profile_uid'], 'content_expire') && (! $webpage)) ? true : false),
'$expires' => t('Set expiration date'),
'$defpublish' => $defpublish,
'$feature_future' => ((feature_enabled($x['profile_uid'], 'delayed_posting') && (! $webpage)) ? true : false),
'$future_txt' => t('Set publish date'),
'$feature_encrypt' => ((feature_enabled($x['profile_uid'], 'content_encrypt') && (! $webpage)) ? true : false),
'$encrypt' => t('Encrypt text'),
'$cipher' => $cipher,

View File

@ -58,7 +58,8 @@ function get_features() {
array('large_photos', t('Large Photos'), t('Include large (1024px) photo thumbnails in posts. If not enabled, use small (640px) photo thumbnails'),false),
array('channel_sources', t('Channel Sources'), t('Automatically import channel content from other channels or feeds'),false),
array('content_encrypt', t('Even More Encryption'), t('Allow optional encryption of content end-to-end with a shared secret key'),false),
array('consensus_tools', t('Enable voting tools'), t('Provide a class of post which others can vote on'),false),
array('consensus_tools', t('Enable Voting Tools'), t('Provide a class of post which others can vote on'),false),
array('delayed_posting', t('Delayed Posting'), t('Allow posts to be published at a later date'),false),
),

View File

@ -366,7 +366,7 @@ function notifier_run($argv, $argc){
logger('notifier: target item not forwardable: type ' . $target_item['item_type'], LOGGER_DEBUG);
return;
}
if(intval($target_item['item_unpublished']) || intval($target_item['item_delayed_publish'])) {
if(intval($target_item['item_unpublished']) || intval($target_item['item_delayed'])) {
logger('notifier: target item not published, so not forwardable', LOGGER_DEBUG);
return;
}

View File

@ -234,6 +234,19 @@ function enableOnUser(){
})
}
function jotGetPubDate() {
//reply = prompt("{{$expirewhen}}", $('#jot-expire').val());
$('#createdModal').modal();
$('#created-modal-OKButton').on('click', function() {
reply=$('#created-date').val();
if(reply && reply.length) {
$('#jot-created').val(reply);
$('#createdModal').modal('hide');
}
})
}
function jotShare(id) {
if ($('#jot-popup').length != 0) $('#jot-popup').show();

View File

@ -8,6 +8,7 @@
<input type="hidden" name="return" value="{{$return_path}}" />
<input type="hidden" name="location" id="jot-location" value="{{$defloc}}" />
<input type="hidden" name="expire" id="jot-expire" value="{{$defexpire}}" />
<input type="hidden" name="created" id="jot-created" value="{{$defpublish}}" />
<input type="hidden" name="media_str" id="jot-media" value="" />
<input type="hidden" name="source" id="jot-source" value="{{$source}}" />
<input type="hidden" name="coord" id="jot-coord" value="" />
@ -91,6 +92,11 @@
<i id="profile-expires" class="icon-eraser jot-icons"></i>
</button>
{{/if}}
{{if $feature_future}}
<button id="profile-future-wrapper" class="btn btn-default btn-sm" title="{{$future_txt}}" onclick="jotGetPubDate();return false;">
<i id="profile-future" class="icon-time jot-icons"></i>
</button>
{{/if}}
{{if $feature_encrypt}}
<button id="profile-encrypt-wrapper" class="btn btn-default btn-sm" title="{{$encrypt}}" onclick="red_encrypt('{{$cipher}}','#profile-jot-text',$('#profile-jot-text').val());return false;">
<i id="profile-encrypt" class="icon-key jot-icons"></i>
@ -180,6 +186,28 @@
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
<!-- 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">&times;</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='start_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><!-- /.modal -->
{{if $content || $attachment || $expanded}}
<script>initEditor();</script>
{{/if}}