From 7381326b7a7a271da52464d15774a1309adb2bd5 Mon Sep 17 00:00:00 2001 From: friendica Date: Thu, 7 Nov 2013 00:47:50 -0800 Subject: 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. --- include/conversation.php | 6 +++++- include/features.php | 4 ++-- include/poller.php | 8 +++++++- 3 files changed, 14 insertions(+), 4 deletions(-) (limited to 'include') diff --git a/include/conversation.php b/include/conversation.php index e8b41e775..fc0ae98e6 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -1064,7 +1064,8 @@ function status_editor($a,$x,$popup=false) { '$audurl' => t("Please enter an audio link/URL:"), '$term' => t('Tag term:'), '$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, '$sourceapp' => t($a->sourcename), '$jotplugins' => $jotplugins, + '$defexpire' => '', + '$feature_expire' => ((feature_enabled($x['profile_uid'],'content_expire') && (! $webpage)) ? 'block' : 'none'), + '$expires' => t('Set expiration date'), )); diff --git a/include/features.php b/include/features.php index 9950039c0..bf3323b56 100644 --- a/include/features.php +++ b/include/features.php @@ -19,8 +19,8 @@ function get_features() { // General 'general' => array( t('General Features'), -// uncomment when expire is fixed -// array('expire', t('Content Expiration'), t('Remove old posts/comments after a period of time')), +// This is per post, and different from fixed expiration 'expire' which isn't working yet + 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('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')), diff --git a/include/poller.php b/include/poller.php index b1f89955c..e5a274758 100644 --- a/include/poller.php +++ b/include/poller.php @@ -46,7 +46,13 @@ function poller_run($argv, $argc){ // expire any expired mail 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 // channels and sites that quietly vanished and prevent the directory from accumulating stale -- cgit v1.2.3