aboutsummaryrefslogtreecommitdiffstats
path: root/Zotlabs/Module/Import_progress.php
diff options
context:
space:
mode:
Diffstat (limited to 'Zotlabs/Module/Import_progress.php')
-rw-r--r--Zotlabs/Module/Import_progress.php59
1 files changed, 50 insertions, 9 deletions
diff --git a/Zotlabs/Module/Import_progress.php b/Zotlabs/Module/Import_progress.php
index 5c68f9ff1..0afb6faed 100644
--- a/Zotlabs/Module/Import_progress.php
+++ b/Zotlabs/Module/Import_progress.php
@@ -1,6 +1,7 @@
<?php
namespace Zotlabs\Module;
+use App;
use Zotlabs\Lib\PConfig;
use Zotlabs\Daemon\Master;
@@ -21,18 +22,21 @@ class Import_progress extends \Zotlabs\Web\Controller {
nav_set_selected('Channel Import');
+ $channel = App::get_channel();
+ $import_host = PConfig::Get(local_channel(), 'import', 'host');
+
// items
$c = PConfig::Get(local_channel(), 'import', 'content_progress');
if ($c) {
- $total_cpages = floor(intval($c['items_total']) / intval($c['items_page']));
+ $total_cpages = round(intval($c['items_total']) / intval($c['items_page']));
if(!$total_cpages) {
- $total_cpages = 1; // because of floor
+ $total_cpages = 1; // because of round
}
$cpage = $c['last_page'] + 1; // because page count start at 0
- $cprogress = intval(floor((intval($cpage) * 100) / $total_cpages));
+ $cprogress = intval(round((intval($cpage) * 100) / $total_cpages));
$ccompleted_str = t('Item sync completed!');
if(argv(1) === 'resume_itemsync' && $cprogress < 100) {
@@ -41,6 +45,25 @@ class Import_progress extends \Zotlabs\Web\Controller {
}
}
else {
+ if(argv(1) === 'resume_itemsync' && $import_host) {
+ $alive = probe_api_path($import_host);
+ if ($alive) {
+ $parsed = parse_url($alive);
+ unset($parsed['path']);
+ unset($parsed['query']);
+
+ $hz_server = unparse_url($parsed);
+ $since = datetime_convert(date_default_timezone_get(), date_default_timezone_get(), '0001-01-01 00:00');
+ $until = datetime_convert(date_default_timezone_get(), date_default_timezone_get(), 'now + 1 day');
+ $page = 0;
+ Master::Summon(['Content_importer', sprintf('%d', $page), $since, $until, $channel['channel_address'], urlencode($hz_server)]);
+ goaway('/import_progress');
+ }
+ else {
+ notice(t('Import host does not seem to be online or compatible') . EOL);
+ }
+ }
+
$cprogress = 'waiting to start...';
if (PConfig::Get(local_channel(), 'import', 'content_completed')) {
@@ -57,14 +80,14 @@ class Import_progress extends \Zotlabs\Web\Controller {
$f = PConfig::Get(local_channel(), 'import', 'files_progress');
if ($f) {
- $total_fpages = floor(intval($f['files_total']) / intval($f['files_page']));
+ $total_fpages = round(intval($f['files_total']) / intval($f['files_page']));
if(!$total_fpages) {
$total_fpages = 1;
}
$fpage = $f['last_page'] + 1;
- $fprogress = intval(floor((intval($fpage) * 100) / $total_fpages));
+ $fprogress = intval(round((intval($fpage) * 100) / $total_fpages));
$fcompleted_str = t('File sync completed!');
if(argv(1) === 'resume_filesync' && $fprogress < 100) {
@@ -73,6 +96,23 @@ class Import_progress extends \Zotlabs\Web\Controller {
}
}
else {
+ if(argv(1) === 'resume_filesync' && $import_host) {
+ $alive = probe_api_path($import_host);
+ if ($alive) {
+ $parsed = parse_url($alive);
+ unset($parsed['path']);
+
+ $hz_server = unparse_url($parsed);
+ $page = 0;
+
+ Master::Summon(['File_importer', sprintf('%d', $page), $channel['channel_address'], urlencode($hz_server)]);
+ goaway('/import_progress');
+ }
+ else {
+ notice(t('Import host does not seem to be online or compatible') . EOL);
+ }
+ }
+
$fprogress = 'waiting to start...';
if (PConfig::Get(local_channel(), 'import', 'files_completed')) {
@@ -81,6 +121,7 @@ class Import_progress extends \Zotlabs\Web\Controller {
}
$fcompleted_str = t('File sync completed but no files were found!');
+
}
$fprogress_str = ((intval($fprogress)) ? $fprogress . '%' : $fprogress);
@@ -88,13 +129,15 @@ class Import_progress extends \Zotlabs\Web\Controller {
if(is_ajax()) {
$ret = [
'cprogress' => $cprogress,
- 'fprogress' => $fprogress
+ 'ccompleted_str' => $ccompleted_str,
+ 'fprogress' => $fprogress,
+ 'fcompleted_str' => $fcompleted_str
];
json_return_and_die($ret);
}
- $o = replace_macros(get_markup_template("import_progress.tpl"), [
+ return 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'),
@@ -108,8 +151,6 @@ class Import_progress extends \Zotlabs\Web\Controller {
'$resume_str' => t('Resume'),
'$resume_helper_str' => t('Only resume if sync stalled!')
]);
-
- return $o;
}
}