<?php
define('OSTATUS_DEFAULT_POLL_INTERVAL', 30); // given in minutes
+define('OSTATUS_DEFAULT_POLL_TIMEFRAME', 1440); // given in minutes
function check_conversations() {
$last = get_config('system','ostatus_last_poll');
if(! $poll_interval)
$poll_interval = OSTATUS_DEFAULT_POLL_INTERVAL;
+ // Don't poll if the interval is set negative
+ if ($poll_interval < 0)
+ return;
+
+ $poll_timeframe = intval(get_config('system','ostatus_poll_timeframe'));
+ if(! $poll_timeframe)
+ $poll_timeframe = OSTATUS_DEFAULT_POLL_TIMEFRAME;
+
if($last) {
$next = $last + ($poll_interval * 60);
if($next > time()) {
- logger('complete_conversation: poll intervall not reached');
+ logger('complete_conversation: poll interval not reached');
return;
}
}
logger('complete_conversation: cron_start');
- $start = date("Y-m-d H:i:s", time() - 86400);
+ $start = date("Y-m-d H:i:s", time() - ($poll_timeframe * 60));
$conversations = q("SELECT * FROM `term` WHERE `type` = 7 AND `term` > '%s'",
dbesc($start));
foreach ($conversations AS $conversation) {
else
$parent_uri = $parent["uri"];
- if ($parent["id"] != 0) {
- $message_exists = q("SELECT `id` FROM `item` WHERE `uid` = %d AND `uri` = '%s' LIMIT 1",
+ $message_exists = q("SELECT `id` FROM `item` WHERE `uid` = %d AND `uri` = '%s' LIMIT 1",
intval($message["uid"]), dbesc($single_conv->id));
- if ($message_exists) {
+ if ($message_exists) {
+ if ($parent["id"] != 0) {
$existing_message = $message_exists[0];
$r = q("UPDATE `item` SET `parent` = %d, `parent-uri` = '%s', `thr-parent` = '%s' WHERE `id` = %d LIMIT 1",
intval($parent["id"]),
dbesc($parent["uri"]),
dbesc($parent_uri),
intval($existing_message["id"]));
- continue;
}
+ continue;
}
$arr = array();