diff options
author | Mario Vavti <mario@mariovavti.com> | 2021-10-01 21:52:30 +0200 |
---|---|---|
committer | Mario Vavti <mario@mariovavti.com> | 2021-10-01 21:52:30 +0200 |
commit | 47e83a15c1168cfd8ebc7905db853f3db6b3b31b (patch) | |
tree | 2cd700af6107995b2a35058ea7256bc30bf4266d /Zotlabs | |
parent | 597e847a3b245140042f18fa34c0b25ef8445256 (diff) | |
download | volse-hubzilla-47e83a15c1168cfd8ebc7905db853f3db6b3b31b.tar.gz volse-hubzilla-47e83a15c1168cfd8ebc7905db853f3db6b3b31b.tar.bz2 volse-hubzilla-47e83a15c1168cfd8ebc7905db853f3db6b3b31b.zip |
import_progress: deal with the situation where items/files are being imported but there are none to import
Diffstat (limited to 'Zotlabs')
-rw-r--r-- | Zotlabs/Daemon/Content_importer.php | 4 | ||||
-rw-r--r-- | Zotlabs/Daemon/File_importer.php | 1 | ||||
-rw-r--r-- | Zotlabs/Module/Import_progress.php | 47 |
3 files changed, 40 insertions, 12 deletions
diff --git a/Zotlabs/Daemon/Content_importer.php b/Zotlabs/Daemon/Content_importer.php index 4a07b4cf4..67f1c8e80 100644 --- a/Zotlabs/Daemon/Content_importer.php +++ b/Zotlabs/Daemon/Content_importer.php @@ -48,11 +48,9 @@ class Content_importer { } $j = json_decode($x['body'],true); - if (! $j) { - return; - } if(! is_array($j['item']) || ! count($j['item'])) { + PConfig::Set($channel['channel_id'], 'import', 'content_completed', 1); return; } diff --git a/Zotlabs/Daemon/File_importer.php b/Zotlabs/Daemon/File_importer.php index 28fb172a7..7067e152d 100644 --- a/Zotlabs/Daemon/File_importer.php +++ b/Zotlabs/Daemon/File_importer.php @@ -49,6 +49,7 @@ class File_importer { $j = json_decode($x['body'],true); if(! is_array($j['results'][0]['attach']) || ! count($j['results'][0]['attach'])) { + PConfig::Set($channel['channel_id'], 'import', 'files_completed', 1); return; } diff --git a/Zotlabs/Module/Import_progress.php b/Zotlabs/Module/Import_progress.php index 06498f649..761d2f215 100644 --- a/Zotlabs/Module/Import_progress.php +++ b/Zotlabs/Module/Import_progress.php @@ -24,11 +24,7 @@ class Import_progress extends \Zotlabs\Web\Controller { // items $c = PConfig::Get(local_channel(), 'import', 'content_progress'); - if (!$c) { - $cprogress = 'waiting to start...'; - } - else { - + if ($c) { $total_cpages = floor(intval($c['items_total']) / intval($c['items_page'])); if(!$total_cpages) { $total_cpages = 1; // because of floor @@ -37,22 +33,35 @@ class Import_progress extends \Zotlabs\Web\Controller { $cpage = $c['last_page'] + 1; // because page count start at 0 $cprogress = intval(floor((intval($cpage) * 100) / $total_cpages)); + $ccompleted_str = t('Item sync completed!'); if(argv(1) === 'resume_itemsync' && $cprogress < 100) { Master::Summon($c['next_cmd']); goaway('/import_progress'); } } + else { + $cprogress = 'waiting to start...'; + + if (PConfig::Get(local_channel(), 'import', 'content_completed')) { + // There was nothing todo. Fake 100% and mention that there were no files found + $cprogress = 100; + } + + $ccompleted_str = t('Item sync completed but no items were found!'); + + if(argv(1) === 'resume_itemsync') { + Master::Summon(["Content_importer","0","0001-01-01 00:00:00","2021-10-02 19:49:14","ct5","https%3A%2F%2Fhub.somaton.com"]); + goaway('/import_progress'); + } + } $cprogress_str = ((intval($cprogress)) ? $cprogress . '%' : $cprogress); // files $f = PConfig::Get(local_channel(), 'import', 'files_progress'); - if (!$f) { - $fprogress = 'waiting to start...'; - } - else { + if ($f) { $total_fpages = floor(intval($f['files_total']) / intval($f['files_page'])); if(!$total_fpages) { $total_fpages = 1; @@ -61,12 +70,24 @@ class Import_progress extends \Zotlabs\Web\Controller { $fpage = $f['last_page'] + 1; $fprogress = intval(floor((intval($fpage) * 100) / $total_fpages)); + $fcompleted_str = t('File sync completed!'); if(argv(1) === 'resume_filesync' && $fprogress < 100) { Master::Summon($f['next_cmd']); goaway('/import_progress'); } + + } + else { + $fprogress = 'waiting to start...'; + + if (PConfig::Get(local_channel(), 'import', 'files_completed')) { + // There was nothing todo. Fake 100% and mention that there were no files found + $fprogress = 100; + } + + $fcompleted_str = t('File sync completed but no files were found!'); } $fprogress_str = ((intval($fprogress)) ? $fprogress . '%' : $fprogress); @@ -81,10 +102,18 @@ class Import_progress extends \Zotlabs\Web\Controller { } $o = replace_macros(get_markup_template("import_progress.tpl"), [ + '$chtitle_str' => t('Channel clone status'), + '$ctitle_str' => t('Item sync status'), + '$ftitle_str' => t('File sync status'), '$cprogress_str' => $cprogress_str, '$cprogress' => intval($cprogress), '$fprogress_str' => $fprogress_str, '$fprogress' => intval($fprogress), + '$fcompleted_str' => $fcompleted_str, + '$ccompleted_str' => $ccompleted_str, + '$chcompleted_str' => t('Channel cloning completed!'), + '$resume_str' => t('Resume'), + '$resume_helper_str' => t('Only resume if sync stalled!') ]); return $o; |