aboutsummaryrefslogtreecommitdiffstats
path: root/Zotlabs/Module/Import.php
diff options
context:
space:
mode:
authorMario Vavti <mario@mariovavti.com>2021-09-29 21:47:12 +0200
committerMario Vavti <mario@mariovavti.com>2021-09-29 21:47:12 +0200
commit4ba47698d7d0ef6c799bd0a28045c1d1e49c76f3 (patch)
treec2f3b62d4b0e1290e27b05de91574310c4f3832c /Zotlabs/Module/Import.php
parent5eb79bd51efbd69d297bbd6f46ee9d1583ec694e (diff)
downloadvolse-hubzilla-4ba47698d7d0ef6c799bd0a28045c1d1e49c76f3.tar.gz
volse-hubzilla-4ba47698d7d0ef6c799bd0a28045c1d1e49c76f3.tar.bz2
volse-hubzilla-4ba47698d7d0ef6c799bd0a28045c1d1e49c76f3.zip
revise content import/export part 2
Diffstat (limited to 'Zotlabs/Module/Import.php')
-rw-r--r--Zotlabs/Module/Import.php92
1 files changed, 8 insertions, 84 deletions
diff --git a/Zotlabs/Module/Import.php b/Zotlabs/Module/Import.php
index ecbcc3034..a4697a426 100644
--- a/Zotlabs/Module/Import.php
+++ b/Zotlabs/Module/Import.php
@@ -509,8 +509,6 @@ class Import extends Controller {
$addon = array('channel' => $channel, 'data' => $data);
call_hooks('import_channel', $addon);
- $saved_notification_flags = notifications_off($channel['channel_id']);
-
if ($import_posts && array_key_exists('item', $data) && $data['item'])
import_items($channel, $data['item'], false, $relocate);
@@ -526,98 +524,24 @@ class Import extends Controller {
$poll_interval = get_config('system','poll_interval',3);
$page = 0;
- while (1) {
- $headers = [
- 'X-API-Token' => random_string(),
- 'X-API-Request' => $hz_server . '/api/z/1.0/item/export_page?f=&since=' . urlencode($since) . '&until=' . urlencode($until) . '&page=' . $page ,
- 'Host' => $m['host'],
- '(request-target)' => 'get /api/z/1.0/item/export_page?f=&since=' . urlencode($since) . '&until=' . urlencode($until) . '&page=' . $page ,
- ];
-
- $headers = HTTPSig::create_sig($headers,$channel['channel_prvkey'], channel_url($channel),true,'sha512');
-
- $x = z_fetch_url($hz_server . '/api/z/1.0/item/export_page?f=&since=' . urlencode($since) . '&until=' . urlencode($until) . '&page=' . $page,false,$redirects,[ 'headers' => $headers ]);
-
- // logger('z_fetch: ' . print_r($x,true));
-
- if (! $x['success']) {
- logger('no API response');
- break;
- }
-
- $j = json_decode($x['body'],true);
-
- if (! $j) {
- break;
- }
-
- if (! is_array($j['item']) || ! count($j['item'])) {
- break;
- }
-
- Master::Summon([ 'Content_importer', sprintf('%d',$page), $since, $until, $channel['channel_address'], urlencode($hz_server) ]);
- sleep($poll_interval);
-
- $page ++;
- continue;
- }
-
- $headers = [
- 'X-API-Token' => random_string(),
- 'X-API-Request' => $hz_server . '/api/z/1.0/files?f=&since=' . urlencode($since) . '&until=' . urlencode($until),
- 'Host' => $m['host'],
- '(request-target)' => 'get /api/z/1.0/files?f=&since=' . urlencode($since) . '&until=' . urlencode($until),
- ];
-
- $headers = HTTPSig::create_sig($headers,$channel['channel_prvkey'], channel_url($channel),true,'sha512');
-
- $x = z_fetch_url($hz_server . '/api/z/1.0/files?f=&since=' . urlencode($since) . '&until=' . urlencode($until),false,$redirects,[ 'headers' => $headers ]);
-
- if (! $x['success']) {
- logger('no API response');
- return;
- }
-
- $j = json_decode($x['body'],true);
-
- if (! $j) {
- return;
- }
-
- if (! $j['success']) {
- return;
- }
-
- $poll_interval = get_config('system','poll_interval',3);
-
- if(count($j['results'])) {
- $todo = count($j['results']);
- logger('total to process: ' . $todo,LOGGER_DEBUG);
-
- foreach($j['results'] as $jj) {
- Master::Summon([ 'File_importer',$jj['hash'], $channel['channel_address'], urlencode($hz_server) ]);
- sleep($poll_interval);
- }
- }
-
- notice(t('Files and Posts imported.') . EOL);
+ Master::Summon([ 'Content_importer', sprintf('%d',$page), $since, $until, $channel['channel_address'], urlencode($hz_server) ]);
+ Master::Summon([ 'File_importer',sprintf('%d',$page), $channel['channel_address'], urlencode($hz_server) ]);
}
- notifications_on($channel['channel_id'], $saved_notification_flags);
-
- if (array_key_exists('item_id', $data) && $data['item_id'])
- import_item_ids($channel, $data['item_id']);
+ // i do not think this is still used
+ //if (array_key_exists('item_id', $data) && $data['item_id'])
+ // import_item_ids($channel, $data['item_id']);
// This will indirectly perform a refresh_all *and* update the directory
Master::Summon(array('Directory', $channel['channel_id']));
-
- notice(t('Import completed.') . EOL);
-
change_channel($channel['channel_id']);
+ notice(t('Import of items and files in progress') . EOL);
+
+ // TODO: go away to a import progress page
goaway(z_root());
}