create site records for all queued sites and check for death

This commit is contained in:
redmatrix 2015-09-28 17:13:11 -07:00
parent dbeae16dc1
commit e5f47cd14b
9 changed files with 68 additions and 21 deletions

View File

@ -53,16 +53,33 @@ function deliver_run($argv, $argc) {
continue; continue;
} }
} }
else {
// zot sites should all have a site record, unless they've been dead for as long as
// your site has existed. Since we don't know for sure what these sites are,
// call them unknown
q("insert into site (site_url, site_update, site_dead, site_type) values ('%s','%s',0,%d) ",
dbesc($base),
dbesc(datetime_convert()),
intval(($r[0]['outq_driver'] === 'post' ?) SITE_TYPE_NOTZOT : SITE_TYPE_UNKNOWN)
);
}
} }
} }
// "post" queue driver - used for diaspora and friendica-over-diaspora communications. // "post" queue driver - used for diaspora and friendica-over-diaspora communications.
if($r[0]['outq_driver'] === 'post') { if($r[0]['outq_driver'] === 'post') {
$result = z_post_url($r[0]['outq_posturl'],$r[0]['outq_msg']); $result = z_post_url($r[0]['outq_posturl'],$r[0]['outq_msg']);
if($result['success'] && $result['return_code'] < 300) { if($result['success'] && $result['return_code'] < 300) {
logger('deliver: queue post success to ' . $r[0]['outq_posturl'], LOGGER_DEBUG); logger('deliver: queue post success to ' . $r[0]['outq_posturl'], LOGGER_DEBUG);
q("update site set site_update = '%s', site_dead = 0 where site_url = '%s' "),
dbesc(datetime_convert()),
dbesc($site_url)
);
q("update dreport set status = '%s', dreport_time = '%s' where dreport_queue = '%s' limit 1", q("update dreport set status = '%s', dreport_time = '%s' where dreport_queue = '%s' limit 1",
dbesc('accepted for delivery'), dbesc('accepted for delivery'),
dbesc(datetime_convert()), dbesc(datetime_convert()),

View File

@ -151,16 +151,18 @@ function sync_directories($dirmode) {
$realm = get_directory_realm(); $realm = get_directory_realm();
if ($realm == DIRECTORY_REALM) { if ($realm == DIRECTORY_REALM) {
$r = q("select * from site where (site_flags & %d) > 0 and site_url != '%s' and ( site_realm = '%s' or site_realm = '') ", $r = q("select * from site where (site_flags & %d) > 0 and site_url != '%s' and site_type = %d and ( site_realm = '%s' or site_realm = '') ",
intval(DIRECTORY_MODE_PRIMARY|DIRECTORY_MODE_SECONDARY), intval(DIRECTORY_MODE_PRIMARY|DIRECTORY_MODE_SECONDARY),
dbesc(z_root()), dbesc(z_root()),
intval(SITE_TYPE_ZOT),
dbesc($realm) dbesc($realm)
); );
} else { } else {
$r = q("select * from site where (site_flags & %d) > 0 and site_url != '%s' and site_realm like '%s' ", $r = q("select * from site where (site_flags & %d) > 0 and site_url != '%s' and site_realm like '%s' and site_type = %d ",
intval(DIRECTORY_MODE_PRIMARY|DIRECTORY_MODE_SECONDARY), intval(DIRECTORY_MODE_PRIMARY|DIRECTORY_MODE_SECONDARY),
dbesc(z_root()), dbesc(z_root()),
dbesc(protect_sprintf('%' . $realm . '%')) dbesc(protect_sprintf('%' . $realm . '%')),
intval(SITE_TYPE_ZOT)
); );
} }
@ -187,9 +189,10 @@ function sync_directories($dirmode) {
intval($r[0]['site_valid']) intval($r[0]['site_valid'])
); );
$r = q("select * from site where (site_flags & %d) > 0 and site_url != '%s'", $r = q("select * from site where (site_flags & %d) > 0 and site_url != '%s' and site_type = %d ",
intval(DIRECTORY_MODE_PRIMARY|DIRECTORY_MODE_SECONDARY), intval(DIRECTORY_MODE_PRIMARY|DIRECTORY_MODE_SECONDARY),
dbesc(z_root()) dbesc(z_root()),
intval(SITE_TYPE_ZOT)
); );
} }
if (! $r) if (! $r)

View File

@ -22,6 +22,22 @@ function queue_run($argv, $argc){
logger('queue: start'); logger('queue: start');
$r = q("select outq_posturl from outq where outq_created < %s - INTERVAL %s",
db_utcnow(), db_quoteinterval('3 DAY')
);
if($r) {
foreach($r as $rr) {
$site_url = '';
$h = parse_url($rr['outq_posturl']);
$desturl = $h['scheme'] . '://' . $h['host'] . (($h['port']) ? ':' . $h['port'] : '');
q("update site set site_dead = 1 where site_dead = 0 and site_url = '%s' and site_update < %s - INTERVAL %s",
dbesc($desturl),
db_utcnow(), db_quoteinterval('1 MONTH')
);
}
}
$r = q("DELETE FROM outq WHERE outq_created < %s - INTERVAL %s", $r = q("DELETE FROM outq WHERE outq_created < %s - INTERVAL %s",
db_utcnow(), db_quoteinterval('3 DAY') db_utcnow(), db_quoteinterval('3 DAY')
); );

View File

@ -2743,7 +2743,7 @@ function import_site($arr, $pubkey) {
// logger('import_site: input: ' . print_r($arr,true)); // logger('import_site: input: ' . print_r($arr,true));
// logger('import_site: stored: ' . print_r($siterecord,true)); // logger('import_site: stored: ' . print_r($siterecord,true));
$r = q("update site set site_dead = 0, site_location = '%s', site_flags = %d, site_access = %d, site_directory = '%s', site_register = %d, site_update = '%s', site_sellpage = '%s', site_realm = '%s' $r = q("update site set site_dead = 0, site_location = '%s', site_flags = %d, site_access = %d, site_directory = '%s', site_register = %d, site_update = '%s', site_sellpage = '%s', site_realm = '%s', site_type = %d
where site_url = '%s'", where site_url = '%s'",
dbesc($site_location), dbesc($site_location),
intval($site_directory), intval($site_directory),
@ -2753,6 +2753,7 @@ function import_site($arr, $pubkey) {
dbesc(datetime_convert()), dbesc(datetime_convert()),
dbesc($sellpage), dbesc($sellpage),
dbesc($site_realm), dbesc($site_realm),
intval(SITE_TYPE_ZOT),
dbesc($url) dbesc($url)
); );
if(! $r) { if(! $r) {
@ -2769,7 +2770,7 @@ function import_site($arr, $pubkey) {
} }
else { else {
$update = true; $update = true;
$r = q("insert into site ( site_location, site_url, site_access, site_flags, site_update, site_directory, site_register, site_sellpage, site_realm ) $r = q("insert into site ( site_location, site_url, site_access, site_flags, site_update, site_directory, site_register, site_sellpage, site_realm, site_type )
values ( '%s', '%s', %d, %d, '%s', '%s', %d, '%s', '%s' )", values ( '%s', '%s', %d, %d, '%s', '%s', %d, '%s', '%s' )",
dbesc($site_location), dbesc($site_location),
dbesc($url), dbesc($url),
@ -2779,7 +2780,8 @@ function import_site($arr, $pubkey) {
dbesc($directory_url), dbesc($directory_url),
intval($register_policy), intval($register_policy),
dbesc($sellpage), dbesc($sellpage),
dbesc($site_realm) dbesc($site_realm),
intval(SITE_TYPE_ZOT)
); );
if(! $r) { if(! $r) {
logger('import_site: record create failed. ' . print_r($arr,true)); logger('import_site: record create failed. ' . print_r($arr,true));

View File

@ -398,13 +398,15 @@ function list_public_sites() {
$rand = db_getfunc('rand'); $rand = db_getfunc('rand');
$realm = get_directory_realm(); $realm = get_directory_realm();
if($realm == DIRECTORY_REALM) { if($realm == DIRECTORY_REALM) {
$r = q("select * from site where site_access != 0 and site_register !=0 and ( site_realm = '%s' or site_realm = '') order by $rand", $r = q("select * from site where site_access != 0 and site_register !=0 and ( site_realm = '%s' or site_realm = '') and site_type = %d order by $rand",
dbesc($realm) dbesc($realm),
intval(SITE_TYPE_ZOT)
); );
} }
else { else {
$r = q("select * from site where site_access != 0 and site_register !=0 and site_realm = '%s' order by $rand", $r = q("select * from site where site_access != 0 and site_register !=0 and site_realm = '%s' and site_type = %d order by $rand",
dbesc($realm) dbesc($realm),
intval(SITE_TYPE_ZOT)
); );
} }

View File

@ -22,8 +22,9 @@ function rate_init(&$a) {
$a->poi = $r[0]; $a->poi = $r[0];
} }
else { else {
$r = q("select * from site where site_url like '%s' ", $r = q("select * from site where site_url like '%s' and site_type = %d",
dbesc('%' . $target) dbesc('%' . $target),
intval(SITE_TYPE_ZOT)
); );
if($r) { if($r) {
$a->data['site'] = $r[0]; $a->data['site'] = $r[0];

View File

@ -35,8 +35,9 @@ function ratingsearch_init(&$a) {
if($p) if($p)
$target = $p[0]['xchan_hash']; $target = $p[0]['xchan_hash'];
else { else {
$p = q("select * from site where site_url like '%s' ", $p = q("select * from site where site_url like '%s' and site_type = %d ",
dbesc('%' . $hash) dbesc('%' . $hash),
intval(SITE_TYPE_ZOT)
); );
if($p) { if($p) {
$target = strtolower($hash); $target = strtolower($hash);

View File

@ -86,8 +86,9 @@ function regdir_init(&$a) {
if ($dirmode == DIRECTORY_MODE_STANDALONE) { if ($dirmode == DIRECTORY_MODE_STANDALONE) {
$r = array(array('site_url' => z_root())); $r = array(array('site_url' => z_root()));
} else { } else {
$r = q("select site_url from site where site_flags in ( 1, 2 ) and site_realm = '%s' $sql_extra ", $r = q("select site_url from site where site_flags in ( 1, 2 ) and site_realm = '%s' and site_type = %d $sql_extra ",
dbesc(get_directory_realm()) dbesc(get_directory_realm()),
intval(SITE_TYPE_ZOT)
); );
} }
if ($r) { if ($r) {

View File

@ -28,7 +28,9 @@ function sitelist_init(&$a) {
$result = array('success' => false); $result = array('success' => false);
$r = q("select count(site_url) as total from site where true $sql_extra "); $r = q("select count(site_url) as total from site where site_type = %d $sql_extra ",
intval(SITE_TYPE_ZOT)
);
if($r) if($r)
$result['total'] = intval($r[0]['total']); $result['total'] = intval($r[0]['total']);
@ -36,7 +38,9 @@ function sitelist_init(&$a) {
$result['start'] = $start; $result['start'] = $start;
$result['limit'] = $limit; $result['limit'] = $limit;
$r = q("select * from site where true $sql_extra $sql_order $sql_limit"); $r = q("select * from site where site_type = %d $sql_extra $sql_order $sql_limit",
intval(SITE_TYPE_ZOT)
);
$result['results'] = 0; $result['results'] = 0;
$result['entries'] = array(); $result['entries'] = array();