add Thomas's Diaspora repair script as include/fixd.php - altered so it can be re-run if necessary with a count of remaining hublocs to be fixed. Some sites are down so it probably can't ever get to zero. The check for a null join is quite an expensive query. It could block your DB for a couple minutes while it runs.
Also some preliminary work on a means to take the channel module out of list/forum mode if a specific mid is requested.
This commit is contained in:
33
include/fixd.php
Normal file
33
include/fixd.php
Normal file
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
require_once('include/cli_startup.php');
|
||||
|
||||
cli_startup();
|
||||
|
||||
$rand = db_getfunc('RAND');
|
||||
$r = q("select xchan_addr, hubloc_url from xchan left join hubloc on hubloc_hash = xchan_hash where xchan_network like '%%diaspora%%' order by $rand");
|
||||
|
||||
if(! $r)
|
||||
killme();
|
||||
|
||||
require_once('include/network.php');
|
||||
$total = 0;
|
||||
foreach ($r as $rr) {
|
||||
if($rr['hubloc_url']) {
|
||||
continue;
|
||||
}
|
||||
$total ++;
|
||||
}
|
||||
|
||||
print $total . "\n";
|
||||
|
||||
foreach ($r as $rr) {
|
||||
if($rr['hubloc_url']) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$webbie = $rr['xchan_addr'];
|
||||
print $webbie . ' ';
|
||||
|
||||
discover_by_webbie($webbie);
|
||||
}
|
||||
@@ -1094,23 +1094,25 @@ function discover_by_webbie($webbie) {
|
||||
);
|
||||
if(! $r) {
|
||||
|
||||
$r = q("insert into xchan ( xchan_hash, xchan_guid, xchan_pubkey, xchan_addr, xchan_url, xchan_name, xchan_network, xchan_instance_url, xchan_name_date ) values ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s') ",
|
||||
dbesc($addr),
|
||||
dbesc($guid),
|
||||
dbesc($pubkey),
|
||||
dbesc($addr),
|
||||
dbesc($profile),
|
||||
dbesc($vcard['fn']),
|
||||
dbesc($network),
|
||||
dbesc(z_root()),
|
||||
dbescdate(datetime_convert())
|
||||
);
|
||||
$r = q("insert into xchan ( xchan_hash, xchan_guid, xchan_pubkey, xchan_addr, xchan_url, xchan_name, xchan_network, xchan_instance_url, xchan_name_date ) values ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s') ",
|
||||
dbesc($addr),
|
||||
dbesc($guid),
|
||||
dbesc($pubkey),
|
||||
dbesc($addr),
|
||||
dbesc($profile),
|
||||
dbesc($vcard['fn']),
|
||||
dbesc($network),
|
||||
dbesc(z_root()),
|
||||
dbescdate(datetime_convert())
|
||||
);
|
||||
}
|
||||
|
||||
$r = q("select * from hubloc where hubloc_hash = '%s' limit 1",
|
||||
dbesc($webbie)
|
||||
);
|
||||
|
||||
if(! $r) {
|
||||
|
||||
$r = q("insert into hubloc ( hubloc_guid, hubloc_hash, hubloc_addr, hubloc_network, hubloc_url, hubloc_host, hubloc_callback, hubloc_updated, hubloc_flags ) values ('%s','%s','%s','%s','%s','%s','%s','%s', %d)",
|
||||
dbesc($guid),
|
||||
dbesc($addr),
|
||||
|
||||
Reference in New Issue
Block a user