diff options
Diffstat (limited to 'Zotlabs')
-rw-r--r-- | Zotlabs/Module/Import.php | 78 |
1 files changed, 40 insertions, 38 deletions
diff --git a/Zotlabs/Module/Import.php b/Zotlabs/Module/Import.php index 69e06d256..c44234e34 100644 --- a/Zotlabs/Module/Import.php +++ b/Zotlabs/Module/Import.php @@ -112,12 +112,12 @@ class Import extends \Zotlabs\Web\Controller { // print_r($data); - if(array_key_exists('user',$data) && array_key_exists('version',$data)) { - require_once('include/Import/import_diaspora.php'); - import_diaspora($data); - return; + if(! array_key_exists('compatibility,$data)) { + call_hooks('import_foreign_channel_data',$data); + if($data['handled']) + return; } - + $moving = intval($_REQUEST['moving']); if(array_key_exists('compatibility',$data) && array_key_exists('database',$data['compatibility'])) { @@ -181,14 +181,15 @@ class Import extends \Zotlabs\Web\Controller { if($completed < 3) { - if($data['photo']) { - require_once('include/photo/photo_driver.php'); - import_channel_photo(base64url_decode($data['photo']['data']),$data['photo']['type'],$account_id,$channel['channel_id']); - } - - if(is_array($data['profile'])) - import_profiles($channel,$data['profile']); + if(array_key_exists('channel',$data)) { + if($data['photo']) { + require_once('include/photo/photo_driver.php'); + import_channel_photo(base64url_decode($data['photo']['data']),$data['photo']['type'],$account_id,$channel['channel_id']); + } + if(is_array($data['profile'])) + import_profiles($channel,$data['profile']); + } logger('import step 3'); $_SESSION['import_step'] = 3; } @@ -207,31 +208,34 @@ class Import extends \Zotlabs\Web\Controller { if($completed < 5) { // create new hubloc for the new channel at this site - $r = hubloc_store_lowlevel( - [ - 'hubloc_guid' => $channel['channel_guid'], - 'hubloc_guid_sig' => $channel['channel_guid_sig'], - 'hubloc_hash' => $channel['channel_hash'], - 'hubloc_addr' => channel_reddress($channel), - 'hubloc_network' => 'zot', - 'hubloc_primary' => (($seize) ? 1 : 0), - 'hubloc_url' => z_root(), - 'hubloc_url_sig' => base64url_encode(rsa_sign(z_root(),$channel['channel_prvkey'])), - 'hubloc_host' => \App::get_hostname(), - 'hubloc_callback' => z_root() . '/post', - 'hubloc_sitekey' => get_config('system','pubkey'), - 'hubloc_updated' => datetime_convert() - ] - ); + if(array_key_exists('channel',$data)) { + $r = hubloc_store_lowlevel( + [ + 'hubloc_guid' => $channel['channel_guid'], + 'hubloc_guid_sig' => $channel['channel_guid_sig'], + 'hubloc_hash' => $channel['channel_hash'], + 'hubloc_addr' => channel_reddress($channel), + 'hubloc_network' => 'zot', + 'hubloc_primary' => (($seize) ? 1 : 0), + 'hubloc_url' => z_root(), + 'hubloc_url_sig' => base64url_encode(rsa_sign(z_root(),$channel['channel_prvkey'])), + 'hubloc_host' => \App::get_hostname(), + 'hubloc_callback' => z_root() . '/post', + 'hubloc_sitekey' => get_config('system','pubkey'), + 'hubloc_updated' => datetime_convert() + ] + ); - // reset the original primary hubloc if it is being seized + // reset the original primary hubloc if it is being seized - if($seize) { - $r = q("update hubloc set hubloc_primary = 0 where hubloc_primary = 1 and hubloc_hash = '%s' and hubloc_url != '%s' ", - dbesc($channel['channel_hash']), - dbesc(z_root()) - ); + if($seize) { + $r = q("update hubloc set hubloc_primary = 0 where hubloc_primary = 1 and hubloc_hash = '%s' and hubloc_url != '%s' ", + dbesc($channel['channel_hash']), + dbesc(z_root()) + ); + } } + logger('import step 5'); $_SESSION['import_step'] = 5; } @@ -241,7 +245,7 @@ class Import extends \Zotlabs\Web\Controller { // import xchans and contact photos - if($seize) { + if(array_key_exists('channel',$data) && $seize) { // replace any existing xchan we may have on this site if we're seizing control @@ -327,9 +331,7 @@ class Import extends \Zotlabs\Web\Controller { $_SESSION['import_step'] = 7; } - - - + // FIXME - ensure we have an xchan if somebody is trying to pull a fast one if($completed < 8) { |