mod/import: try ten times to create a unique webbie if the chosen one is in use.
This commit is contained in:
parent
faf1f672df
commit
ab2d11b37e
@ -101,9 +101,33 @@ function import_post(&$a) {
|
|||||||
// We should probably also verify the hash
|
// We should probably also verify the hash
|
||||||
|
|
||||||
if($r) {
|
if($r) {
|
||||||
logger('mod_import: duplicate channel. ', print_r($channel,true));
|
if($r[0]['channel_guid'] === $channel['channel_guid'] || $r[0]['channel_hash'] === $channel['channel_hash']) {
|
||||||
notice( t('Cannot create a duplicate channel identifier on this system. Import failed.') . EOL);
|
logger('mod_import: duplicate channel. ', print_r($channel,true));
|
||||||
return;
|
notice( t('Cannot create a duplicate channel identifier on this system. Import failed.') . EOL);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// try at most ten times to generate a unique address.
|
||||||
|
$x = 0;
|
||||||
|
$found_unique = false;
|
||||||
|
do {
|
||||||
|
$tmp = $channel['channel_address'] . mt_rand(1000,9999);
|
||||||
|
$r = q("select * from channel where channel_address = '%s' limit 1",
|
||||||
|
dbesc($tmp)
|
||||||
|
);
|
||||||
|
if(! $r) {
|
||||||
|
$channel['channel_address'] = $tmp;
|
||||||
|
$found_unique = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
$x ++;
|
||||||
|
} while ($x < 10);
|
||||||
|
if(! $found_unique) {
|
||||||
|
logger('mod_import: duplicate channel. randomisation failed.', print_r($channel,true));
|
||||||
|
notice( t('Unable to create a unique channel address. Import failed.') . EOL);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
unset($channel['channel_id']);
|
unset($channel['channel_id']);
|
||||||
|
@ -1 +1 @@
|
|||||||
2014-12-17.892
|
2014-12-18.893
|
||||||
|
Reference in New Issue
Block a user