aboutsummaryrefslogtreecommitdiffstats
path: root/Zotlabs
diff options
context:
space:
mode:
authorMario Vavti <mario@mariovavti.com>2021-10-01 21:52:30 +0200
committerMario Vavti <mario@mariovavti.com>2021-10-01 21:52:30 +0200
commit47e83a15c1168cfd8ebc7905db853f3db6b3b31b (patch)
tree2cd700af6107995b2a35058ea7256bc30bf4266d /Zotlabs
parent597e847a3b245140042f18fa34c0b25ef8445256 (diff)
downloadvolse-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.php4
-rw-r--r--Zotlabs/Daemon/File_importer.php1
-rw-r--r--Zotlabs/Module/Import_progress.php47
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;