New hook that is called when items expire
This commit is contained in:
parent
6a28ae8b52
commit
d8d745891a
|
@ -8,7 +8,7 @@ function expire_run(&$argv, &$argc){
|
||||||
if(is_null($a)) {
|
if(is_null($a)) {
|
||||||
$a = new App;
|
$a = new App;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(is_null($db)) {
|
if(is_null($db)) {
|
||||||
@include(".htconfig.php");
|
@include(".htconfig.php");
|
||||||
require_once("include/dba.php");
|
require_once("include/dba.php");
|
||||||
|
@ -38,7 +38,7 @@ function expire_run(&$argv, &$argc){
|
||||||
q("optimize table item");
|
q("optimize table item");
|
||||||
|
|
||||||
logger('expire: start');
|
logger('expire: start');
|
||||||
|
|
||||||
$r = q("SELECT `uid`,`username`,`expire` FROM `user` WHERE `expire` != 0");
|
$r = q("SELECT `uid`,`username`,`expire` FROM `user` WHERE `expire` != 0");
|
||||||
if(count($r)) {
|
if(count($r)) {
|
||||||
foreach($r as $rr) {
|
foreach($r as $rr) {
|
||||||
|
@ -47,6 +47,10 @@ function expire_run(&$argv, &$argc){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
load_hooks();
|
||||||
|
|
||||||
|
call_hooks('expire');
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4102,7 +4102,7 @@ function item_getfeedattach($item) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function item_expire($uid,$days) {
|
function item_expire($uid, $days, $network = "", $force = false) {
|
||||||
|
|
||||||
if((! $uid) || ($days < 1))
|
if((! $uid) || ($days < 1))
|
||||||
return;
|
return;
|
||||||
|
@ -4113,9 +4113,17 @@ function item_expire($uid,$days) {
|
||||||
$expire_network_only = get_pconfig($uid,'expire','network_only');
|
$expire_network_only = get_pconfig($uid,'expire','network_only');
|
||||||
$sql_extra = ((intval($expire_network_only)) ? " AND wall = 0 " : "");
|
$sql_extra = ((intval($expire_network_only)) ? " AND wall = 0 " : "");
|
||||||
|
|
||||||
|
if ($network != "") {
|
||||||
|
$sql_extra .= sprintf(" AND network = '%s' ", dbesc($network));
|
||||||
|
// There is an index "uid_network_received" but not "uid_network_created"
|
||||||
|
// This avoids the creation of another index just for one purpose.
|
||||||
|
// And it doesn't really matter wether to look at "received" or "created"
|
||||||
|
$range = "AND `received` < UTC_TIMESTAMP() - INTERVAL %d DAY ";
|
||||||
|
} else
|
||||||
|
$range = "AND `created` < UTC_TIMESTAMP() - INTERVAL %d DAY ";
|
||||||
|
|
||||||
$r = q("SELECT * FROM `item`
|
$r = q("SELECT * FROM `item`
|
||||||
WHERE `uid` = %d
|
WHERE `uid` = %d $range
|
||||||
AND `created` < UTC_TIMESTAMP() - INTERVAL %d DAY
|
|
||||||
AND `id` = `parent`
|
AND `id` = `parent`
|
||||||
$sql_extra
|
$sql_extra
|
||||||
AND `deleted` = 0",
|
AND `deleted` = 0",
|
||||||
|
@ -4129,6 +4137,10 @@ function item_expire($uid,$days) {
|
||||||
$expire_items = get_pconfig($uid, 'expire','items');
|
$expire_items = get_pconfig($uid, 'expire','items');
|
||||||
$expire_items = (($expire_items===false)?1:intval($expire_items)); // default if not set: 1
|
$expire_items = (($expire_items===false)?1:intval($expire_items)); // default if not set: 1
|
||||||
|
|
||||||
|
// Forcing expiring of items - but not notes and marked items
|
||||||
|
if ($force)
|
||||||
|
$expire_items = true;
|
||||||
|
|
||||||
$expire_notes = get_pconfig($uid, 'expire','notes');
|
$expire_notes = get_pconfig($uid, 'expire','notes');
|
||||||
$expire_notes = (($expire_notes===false)?1:intval($expire_notes)); // default if not set: 1
|
$expire_notes = (($expire_notes===false)?1:intval($expire_notes)); // default if not set: 1
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue