provide expire feature on post and comments as well as private messages. This requires a feature setting and is currently unmaskable - if the author says it's gone, there's not a lot you can do to stop it or try and save it. It's gone.
This commit is contained in:
parent
df4c917120
commit
7381326b7a
@ -1064,7 +1064,8 @@ function status_editor($a,$x,$popup=false) {
|
|||||||
'$audurl' => t("Please enter an audio link/URL:"),
|
'$audurl' => t("Please enter an audio link/URL:"),
|
||||||
'$term' => t('Tag term:'),
|
'$term' => t('Tag term:'),
|
||||||
'$fileas' => t('Save to Folder:'),
|
'$fileas' => t('Save to Folder:'),
|
||||||
'$whereareu' => t('Where are you right now?')
|
'$whereareu' => t('Where are you right now?'),
|
||||||
|
'$expireswhen' => t('Expires YYYY-MM-DD HH:MM')
|
||||||
));
|
));
|
||||||
|
|
||||||
|
|
||||||
@ -1130,6 +1131,9 @@ function status_editor($a,$x,$popup=false) {
|
|||||||
'$preview' => $preview,
|
'$preview' => $preview,
|
||||||
'$sourceapp' => t($a->sourcename),
|
'$sourceapp' => t($a->sourcename),
|
||||||
'$jotplugins' => $jotplugins,
|
'$jotplugins' => $jotplugins,
|
||||||
|
'$defexpire' => '',
|
||||||
|
'$feature_expire' => ((feature_enabled($x['profile_uid'],'content_expire') && (! $webpage)) ? 'block' : 'none'),
|
||||||
|
'$expires' => t('Set expiration date'),
|
||||||
));
|
));
|
||||||
|
|
||||||
|
|
||||||
|
@ -19,8 +19,8 @@ function get_features() {
|
|||||||
// General
|
// General
|
||||||
'general' => array(
|
'general' => array(
|
||||||
t('General Features'),
|
t('General Features'),
|
||||||
// uncomment when expire is fixed
|
// This is per post, and different from fixed expiration 'expire' which isn't working yet
|
||||||
// array('expire', t('Content Expiration'), t('Remove old posts/comments after a period of time')),
|
array('content_expire', t('Content Expiration'), t('Remove posts/comments and/or private messages at a future time')),
|
||||||
array('multi_profiles', t('Multiple Profiles'), t('Ability to create multiple profiles')),
|
array('multi_profiles', t('Multiple Profiles'), t('Ability to create multiple profiles')),
|
||||||
array('webpages', t('Web Pages'), t('Provide managed web pages on your channel')),
|
array('webpages', t('Web Pages'), t('Provide managed web pages on your channel')),
|
||||||
array('prettyphoto', t('Enhanced Photo Albums'), t('Enable photo album with enhanced features')),
|
array('prettyphoto', t('Enhanced Photo Albums'), t('Enable photo album with enhanced features')),
|
||||||
|
@ -47,6 +47,12 @@ function poller_run($argv, $argc){
|
|||||||
|
|
||||||
q("delete from mail where expires != '0000-00-00 00:00:00' and expires < UTC_TIMESTAMP() ");
|
q("delete from mail where expires != '0000-00-00 00:00:00' and expires < UTC_TIMESTAMP() ");
|
||||||
|
|
||||||
|
$r = q("select id from item where expires != '0000-00-00 00:00:00' and expires < UTC_TIMESTAMP() ");
|
||||||
|
if($r) {
|
||||||
|
require_once('include/items.php');
|
||||||
|
foreach($r as $rr)
|
||||||
|
drop_item($rr['id'],false);
|
||||||
|
}
|
||||||
|
|
||||||
// Ensure that every channel pings a directory server once a month. This way we can discover
|
// Ensure that every channel pings a directory server once a month. This way we can discover
|
||||||
// channels and sites that quietly vanished and prevent the directory from accumulating stale
|
// channels and sites that quietly vanished and prevent the directory from accumulating stale
|
||||||
|
@ -144,6 +144,9 @@ function editblock_content(&$a) {
|
|||||||
'$preview' => ((feature_enabled(local_user(),'preview')) ? t('Preview') : ''),
|
'$preview' => ((feature_enabled(local_user(),'preview')) ? t('Preview') : ''),
|
||||||
'$jotplugins' => $jotplugins,
|
'$jotplugins' => $jotplugins,
|
||||||
'$sourceapp' => t($a->sourcename),
|
'$sourceapp' => t($a->sourcename),
|
||||||
|
'$defexpire' => '',
|
||||||
|
'$feature_expire' => 'none',
|
||||||
|
'$expires' => t('Set expiration date'),
|
||||||
));
|
));
|
||||||
|
|
||||||
|
|
||||||
|
@ -129,6 +129,9 @@ function editlayout_content(&$a) {
|
|||||||
'$preview' => ((feature_enabled(local_user(),'preview')) ? t('Preview') : ''),
|
'$preview' => ((feature_enabled(local_user(),'preview')) ? t('Preview') : ''),
|
||||||
'$jotplugins' => $jotplugins,
|
'$jotplugins' => $jotplugins,
|
||||||
'$sourceapp' => t($a->sourcename),
|
'$sourceapp' => t($a->sourcename),
|
||||||
|
'$defexpire' => '',
|
||||||
|
'$feature_expire' => 'none',
|
||||||
|
'$expires' => t('Set expiration date'),
|
||||||
));
|
));
|
||||||
|
|
||||||
$ob = get_observer_hash();
|
$ob = get_observer_hash();
|
||||||
|
@ -48,7 +48,8 @@ function editpost_content(&$a) {
|
|||||||
'$editselect' => (($plaintext) ? 'none' : '/(profile-jot-text|prvmail-text)/'),
|
'$editselect' => (($plaintext) ? 'none' : '/(profile-jot-text|prvmail-text)/'),
|
||||||
'$ispublic' => ' ', // t('Visible to <strong>everybody</strong>'),
|
'$ispublic' => ' ', // t('Visible to <strong>everybody</strong>'),
|
||||||
'$geotag' => $geotag,
|
'$geotag' => $geotag,
|
||||||
'$nickname' => $channel['channel_address']
|
'$nickname' => $channel['channel_address'],
|
||||||
|
'$expireswhen' => t('Expires YYYY-MM-DD HH:MM'),
|
||||||
));
|
));
|
||||||
|
|
||||||
|
|
||||||
@ -126,6 +127,9 @@ function editpost_content(&$a) {
|
|||||||
'$jotplugins' => $jotplugins,
|
'$jotplugins' => $jotplugins,
|
||||||
'$sourceapp' => t($a->sourcename),
|
'$sourceapp' => t($a->sourcename),
|
||||||
'$catsenabled' => $catsenabled,
|
'$catsenabled' => $catsenabled,
|
||||||
|
'$defexpire' => $itm[0]['expires'],
|
||||||
|
'$feature_expire' => 'none',
|
||||||
|
'$expires' => t('Set expiration date'),
|
||||||
));
|
));
|
||||||
|
|
||||||
return $o;
|
return $o;
|
||||||
|
@ -150,6 +150,10 @@ function editwebpage_content(&$a) {
|
|||||||
'$preview' => ((feature_enabled(local_user(),'preview')) ? t('Preview') : ''),
|
'$preview' => ((feature_enabled(local_user(),'preview')) ? t('Preview') : ''),
|
||||||
'$jotplugins' => $jotplugins,
|
'$jotplugins' => $jotplugins,
|
||||||
'$sourceapp' => t($a->sourcename),
|
'$sourceapp' => t($a->sourcename),
|
||||||
|
'$defexpire' => '',
|
||||||
|
'$feature_expire' => 'none',
|
||||||
|
'$expires' => t('Set expiration date'),
|
||||||
|
|
||||||
));
|
));
|
||||||
|
|
||||||
$ob = get_observer_hash();
|
$ob = get_observer_hash();
|
||||||
|
@ -327,11 +327,9 @@ function item_post(&$a) {
|
|||||||
|
|
||||||
$expires = '0000-00-00 00:00:00';
|
$expires = '0000-00-00 00:00:00';
|
||||||
|
|
||||||
if(feature_enabled($profile_uid,'expire')) {
|
if(feature_enabled($profile_uid,'content_expire')) {
|
||||||
// expire_quantity, e.g. '3'
|
if(x($_REQUEST,'expire')) {
|
||||||
// expire_units, e.g. days, weeks, months
|
$expires = datetime_convert(date_default_timezone_get(),'UTC', $_REQUEST['expire']);
|
||||||
if(x($_REQUEST,'expire_quantity') && (x($_REQUEST,'expire_units'))) {
|
|
||||||
$expire = datetime_convert('UTC','UTC', 'now + ' . $_REQUEST['expire_quantity'] . ' ' . $_REQUEST['expire_units']);
|
|
||||||
if($expires <= datetime_convert())
|
if($expires <= datetime_convert())
|
||||||
$expires = '0000-00-00 00:00:00';
|
$expires = '0000-00-00 00:00:00';
|
||||||
}
|
}
|
||||||
|
@ -324,7 +324,8 @@ function message_content(&$a) {
|
|||||||
'$insert' => t('Insert web link'),
|
'$insert' => t('Insert web link'),
|
||||||
'$wait' => t('Please wait'),
|
'$wait' => t('Please wait'),
|
||||||
'$submit' => t('Submit'),
|
'$submit' => t('Submit'),
|
||||||
'$expires' => t('Expires: (leave blank for never)')
|
'$expires' => t('Expires: (leave blank for never)'),
|
||||||
|
'$feature_expire' => ((feature_enabled(local_user(),'content_expire')) ? '1' : ''),
|
||||||
));
|
));
|
||||||
|
|
||||||
return $o;
|
return $o;
|
||||||
@ -499,7 +500,8 @@ function message_content(&$a) {
|
|||||||
'$insert' => t('Insert web link'),
|
'$insert' => t('Insert web link'),
|
||||||
'$submit' => t('Submit'),
|
'$submit' => t('Submit'),
|
||||||
'$wait' => t('Please wait'),
|
'$wait' => t('Please wait'),
|
||||||
'$expires' => t('Expires: (leave blank for never)')
|
'$expires' => t('Expires: (leave blank for never)'),
|
||||||
|
'$feature_expire' => ((feature_enabled(local_user(),'content_expire')) ? '1' : ''),
|
||||||
));
|
));
|
||||||
|
|
||||||
return $o;
|
return $o;
|
||||||
|
@ -1 +1 @@
|
|||||||
2013-11-06.489
|
2013-11-07.490
|
||||||
|
@ -320,6 +320,7 @@ footer {
|
|||||||
#profile-audio,
|
#profile-audio,
|
||||||
#profile-link,
|
#profile-link,
|
||||||
#profile-title,
|
#profile-title,
|
||||||
|
#profile-expires,
|
||||||
#wall-image-upload,
|
#wall-image-upload,
|
||||||
#wall-file-upload,
|
#wall-file-upload,
|
||||||
#profile-upload-wrapper,
|
#profile-upload-wrapper,
|
||||||
@ -1137,6 +1138,10 @@ footer {
|
|||||||
float: left;
|
float: left;
|
||||||
margin-left: 15px;
|
margin-left: 15px;
|
||||||
}
|
}
|
||||||
|
#profile-expire-wrapper {
|
||||||
|
float: left;
|
||||||
|
margin-left: 15px;
|
||||||
|
}
|
||||||
#jot-preview-link {
|
#jot-preview-link {
|
||||||
float: left;
|
float: left;
|
||||||
margin-left: 45px;
|
margin-left: 45px;
|
||||||
|
@ -191,6 +191,13 @@ function enableOnUser(){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function jotGetExpiry() {
|
||||||
|
reply = prompt("{{$expirewhen}}", $('#jot-expire').val());
|
||||||
|
if(reply && reply.length) {
|
||||||
|
$('#jot-expire').val(reply);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function jotShare(id) {
|
function jotShare(id) {
|
||||||
if ($('#jot-popup').length != 0) $('#jot-popup').show();
|
if ($('#jot-popup').length != 0) $('#jot-popup').show();
|
||||||
|
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
<input type="hidden" name="profile_uid" value="{{$profile_uid}}" />
|
<input type="hidden" name="profile_uid" value="{{$profile_uid}}" />
|
||||||
<input type="hidden" name="return" value="{{$return_path}}" />
|
<input type="hidden" name="return" value="{{$return_path}}" />
|
||||||
<input type="hidden" name="location" id="jot-location" value="{{$defloc}}" />
|
<input type="hidden" name="location" id="jot-location" value="{{$defloc}}" />
|
||||||
|
<input type="hidden" name="expire" id="jot-expire" value="{{$defexpire}}" />
|
||||||
<input type="hidden" name="coord" id="jot-coord" value="" />
|
<input type="hidden" name="coord" id="jot-coord" value="" />
|
||||||
<input type="hidden" name="post_id" value="{{$post_id}}" />
|
<input type="hidden" name="post_id" value="{{$post_id}}" />
|
||||||
<input type="hidden" name="webpage" value="{{$webpage}}" />
|
<input type="hidden" name="webpage" value="{{$webpage}}" />
|
||||||
@ -50,6 +51,11 @@
|
|||||||
<div id="profile-nolocation-wrapper" style="display: none;" >
|
<div id="profile-nolocation-wrapper" style="display: none;" >
|
||||||
<i id="profile-nolocation" class="icon-circle-blank jot-icons" title="{{$noloc}}" onclick="jotClearLocation();return false;"></i>
|
<i id="profile-nolocation" class="icon-circle-blank jot-icons" title="{{$noloc}}" onclick="jotClearLocation();return false;"></i>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="profile-expire-wrapper" style="display: {{$feature_expire}};" >
|
||||||
|
<i id="profile-expires" class="icon-eraser jot-icons" title="{{$expires}}" onclick="jotGetExpiry();return false;"></i>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div id="profile-rotator-wrapper" style="display: {{$visitor}};" >
|
<div id="profile-rotator-wrapper" style="display: {{$visitor}};" >
|
||||||
<div id="profile-rotator"></div>
|
<div id="profile-rotator"></div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -17,8 +17,10 @@
|
|||||||
<div id="prvmail-subject-label">{{$subject}}</div>
|
<div id="prvmail-subject-label">{{$subject}}</div>
|
||||||
<input type="text" size="64" maxlength="255" id="prvmail-subject" name="subject" value="{{$subjtxt}}" {{$readonly}} tabindex="11" />
|
<input type="text" size="64" maxlength="255" id="prvmail-subject" name="subject" value="{{$subjtxt}}" {{$readonly}} tabindex="11" />
|
||||||
|
|
||||||
|
{{if $feature_expire}}
|
||||||
<div id="prvmail-expires-label">{{$expires}}</div>
|
<div id="prvmail-expires-label">{{$expires}}</div>
|
||||||
<input type="text" size="64" maxlength="255" id="prvmail-expires" name="expires" value="" tabindex="12" />
|
<input type="text" size="64" maxlength="255" id="prvmail-expires" name="expires" value="" tabindex="12" />
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
<div id="prvmail-message-label">{{$yourmessage}}</div>
|
<div id="prvmail-message-label">{{$yourmessage}}</div>
|
||||||
<textarea rows="8" cols="72" class="prvmail-text" id="prvmail-text" name="body" tabindex="13">{{$text}}</textarea>
|
<textarea rows="8" cols="72" class="prvmail-text" id="prvmail-text" name="body" tabindex="13">{{$text}}</textarea>
|
||||||
|
Reference in New Issue
Block a user