Exemplo n.º 1
0
function item_expire($uid, $days)
{
    if (!$uid || $days < 1) {
        return;
    }
    // $expire_network_only = save your own wall posts
    // and just expire conversations started by others
    // do not enable this until we can pass bulk delete messages through zot
    //	$expire_network_only = get_pconfig($uid,'expire','network_only');
    $expire_network_only = 1;
    $expire_limit = get_config('system', 'expire_limit');
    if (!intval($expire_limit)) {
        $expire_limit = 5000;
    }
    $sql_extra = intval($expire_network_only) ? " AND (item_flags & " . intval(ITEM_WALL) . ") = 0 " : "";
    $r = q("SELECT * FROM `item`\n\t\tWHERE `uid` = %d\n\t\tAND `created` < %s - INTERVAL %s\n\t\tAND `id` = `parent`\n\t\t{$sql_extra}\n\t\tAND ( item_flags & %d ) = 0\n\t\tAND ( item_restrict = 0 ) LIMIT {$expire_limit} ", intval($uid), db_utcnow(), db_quoteinterval(intval($days) . ' DAY'), intval(ITEM_RETAINED));
    if (!$r) {
        return;
    }
    $r = fetch_post_tags($r, true);
    foreach ($r as $item) {
        // don't expire filed items
        $terms = get_terms_oftype($item['term'], TERM_FILE);
        if ($terms) {
            retain_item($item['id']);
            continue;
        }
        // Only expire posts, not photos and photo comments
        if ($item['resource_type'] === 'photo') {
            retain_item($item['id']);
            continue;
        }
        if ($item['item_flags'] & ITEM_STARRED) {
            retain_item($item['id']);
            continue;
        }
        drop_item($item['id'], false);
    }
    //	proc_run('php',"include/notifier.php","expire","$uid");
}
Exemplo n.º 2
0
function item_expire($uid, $days)
{
    if (!$uid || $days < 1) {
        return;
    }
    // $expire_network_only = save your own wall posts
    // and just expire conversations started by others
    // do not enable this until we can pass bulk delete messages through zot
    //	$expire_network_only = get_pconfig($uid,'expire','network_only');
    $expire_network_only = 1;
    $sql_extra = intval($expire_network_only) ? " AND item_wall = 0 " : "";
    $expire_limit = get_config('system', 'expire_limit');
    if (!intval($expire_limit)) {
        $expire_limit = 5000;
    }
    $item_normal = item_normal();
    $r = q("SELECT id FROM item\n\t\tWHERE uid = %d\n\t\tAND created < %s - INTERVAL %s\n\t\tAND item_retained = 0\n\t\tAND item_thread_top = 1\n\t\tAND resource_type = ''\n\t\tAND item_starred = 0\n\t\t{$sql_extra} {$item_normal} LIMIT {$expire_limit} ", intval($uid), db_utcnow(), db_quoteinterval(intval($days) . ' DAY'));
    if (!$r) {
        return;
    }
    $r = fetch_post_tags($r, true);
    foreach ($r as $item) {
        // don't expire filed items
        $terms = get_terms_oftype($item['term'], TERM_FILE);
        if ($terms) {
            retain_item($item['id']);
            continue;
        }
        drop_item($item['id'], false);
    }
    //	Zotlabs\Daemon\Master::Summon(array('Notifier','expire',$uid));
}