aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Zotlabs/Module/Webpages.php26
-rw-r--r--include/import.php6
-rw-r--r--include/text.php7
-rw-r--r--view/tpl/webpage_import.tpl2
-rw-r--r--view/tpl/website_import_tools.tpl62
5 files changed, 58 insertions, 45 deletions
diff --git a/Zotlabs/Module/Webpages.php b/Zotlabs/Module/Webpages.php
index ee9633243..d3199f223 100644
--- a/Zotlabs/Module/Webpages.php
+++ b/Zotlabs/Module/Webpages.php
@@ -51,12 +51,12 @@ class Webpages extends \Zotlabs\Web\Controller {
$_SESSION['action'] = null;
$o .= replace_macros(get_markup_template('webpage_import.tpl'), array(
'$title' => t('Import Webpage Elements'),
+ '$importbtn' => t('Import selected'),
'$action' => 'import',
'$pages' => $_SESSION['pages'],
'$layouts' => $_SESSION['layouts'],
'$blocks' => $_SESSION['blocks'],
));
- //logger('webpage_import.tpl: ' . $o);
return $o;
case 'importselected':
@@ -254,7 +254,8 @@ class Webpages extends \Zotlabs\Web\Controller {
}
}
if(!$okay) {
- json_return_and_die(array('message' => 'Invalid file MIME type'));
+ notice( t('Invalid file type.') . EOL);
+ return;
}
$zip = new \ZipArchive();
if ($zip->open($source) === true) {
@@ -263,7 +264,6 @@ class Webpages extends \Zotlabs\Web\Controller {
$zip->extractTo($website); // change this to the correct site path
$zip->close();
@unlink($source); // delete the compressed file now that the content has been extracted
-
$cloud = false;
} else {
notice( t('Error opening zip file') . EOL);
@@ -289,14 +289,19 @@ class Webpages extends \Zotlabs\Web\Controller {
if ($cloud !== null) {
require_once('include/import.php');
$elements = [];
- $elements['pages'] = scan_webpage_elements($_POST['path'], 'page', $cloud);
- $elements['layouts'] = scan_webpage_elements($_POST['path'], 'layout', $cloud);
- $elements['blocks'] = scan_webpage_elements($_POST['path'], 'block', $cloud);
+ if($cloud) {
+ $path = $_POST['path'];
+ } else {
+ $path = $website;
+ }
+ $elements['pages'] = scan_webpage_elements($path, 'page', $cloud);
+ $elements['layouts'] = scan_webpage_elements($path, 'layout', $cloud);
+ $elements['blocks'] = scan_webpage_elements($path, 'block', $cloud);
$_SESSION['blocks'] = $elements['blocks'];
$_SESSION['layouts'] = $elements['layouts'];
$_SESSION['pages'] = $elements['pages'];
if(!(empty($elements['pages']) && empty($elements['blocks']) && empty($elements['layouts']))) {
- info( t('Webpages elements detected.') . EOL);
+ //info( t('Webpages elements detected.') . EOL);
$_SESSION['action'] = 'import';
} else {
notice( t('No webpage elements detected.') . EOL);
@@ -306,7 +311,7 @@ class Webpages extends \Zotlabs\Web\Controller {
}
// If the website elements were imported from a zip file, delete the temporary decompressed files
- if ($cloud === false && $website) {
+ if ($cloud === false && $website && $elements) {
rrmdir($website); // Delete the temporary decompressed files
}
@@ -372,7 +377,10 @@ class Webpages extends \Zotlabs\Web\Controller {
}
}
$_SESSION['import_pages'] = $pages;
- break;
+ if(!(empty($_SESSION['import_pages']) && empty($_SESSION['import_blocks']) && empty($_SESSION['import_layouts']))) {
+ info( t('Import complete.') . EOL);
+ }
+ break;
default :
break;
diff --git a/include/import.php b/include/import.php
index c69f2eadd..0b2cd38df 100644
--- a/include/import.php
+++ b/include/import.php
@@ -1252,15 +1252,15 @@ function scan_webpage_elements($path, $type, $cloud = false) {
$dirtoscan = $path;
switch ($type) {
case 'page':
- $dirtoscan .= 'pages/';
+ $dirtoscan .= '/pages/';
$json_filename = 'page.json';
break;
case 'layout':
- $dirtoscan .= 'layouts/';
+ $dirtoscan .= '/layouts/';
$json_filename = 'layout.json';
break;
case 'block':
- $dirtoscan .= 'blocks/';
+ $dirtoscan .= '/blocks/';
$json_filename = 'block.json';
break;
default :
diff --git a/include/text.php b/include/text.php
index f81155edb..d508f8ab3 100644
--- a/include/text.php
+++ b/include/text.php
@@ -2258,17 +2258,14 @@ function website_import_tools() {
$sys = true;
}
- $who = $channel['channel_address'];
-
return replace_macros(get_markup_template('website_import_tools.tpl'), array(
'$title' => t('Import'),
- //'$who' => $who,
'$import_label' => t('Import website...'),
'$import_placeholder' => t('Select folder to import'),
'$file_upload_text' => t('Import from a zipped folder:'),
'$file_import_text' => t('Import from cloud files:'),
- '$desc' => t('/path/to/folder'),
- '$hint' => t('/path/to/folder'),
+ '$desc' => t('/cloud/channel/path/to/folder'),
+ '$hint' => t('Enter path to website files'),
'$select' => t('Select folder'),
));
}
diff --git a/view/tpl/webpage_import.tpl b/view/tpl/webpage_import.tpl
index b047ee6f9..255a41c2b 100644
--- a/view/tpl/webpage_import.tpl
+++ b/view/tpl/webpage_import.tpl
@@ -3,7 +3,7 @@
<input type="hidden" name="action" value="importselected">
<div class="section-title-wrapper">
<div class="pull-right">
- <input class="webpage-import-button" type="submit" name="submit" value="Import selected"/>
+ <button class="btn btn-md btn-success" type="submit" name="submit" value="{{$importbtn}}">{{$importbtn}}</button>
</div>
<h2>{{$title}}</h2>
<div class="clear"></div>
diff --git a/view/tpl/website_import_tools.tpl b/view/tpl/website_import_tools.tpl
index 133d6268e..cb3e6b524 100644
--- a/view/tpl/website_import_tools.tpl
+++ b/view/tpl/website_import_tools.tpl
@@ -1,29 +1,37 @@
<div id="website-import-tools" class="widget">
- <h3>{{$title}}</h3>
- <ul class="nav nav-pills nav-stacked">
- <li>
- <a href="#" onclick="openClose('import-form'); return false;"><i class="fa fa-cloud-upload generic-icons"></i> {{$import_label}}</a>
- </li>
- <form id="import-form" enctype="multipart/form-data" method="post" action="" style="display: none;" class="sub-menu">
-
- <input type="hidden" name="action" value="scan">
-
- <p class="descriptive-text">{{$file_import_text}}</p>
- <div class="form-group">
- <div class="input-group">
- <input class="widget-input" type="text" name="path" title="{{$hint}}" placeholder="{{$desc}}" />
- <div class="input-group-btn">
- <button class="btn btn-default btn-sm" type="submit" name="cloudsubmit" value="{{$select}}"><i class="fa fa-folder-open generic-icons"></i></button>
- </div>
- </div>
- </div>
-
- <!-- Or upload a zipped file containing the website -->
- <p class="descriptive-text">{{$file_upload_text}}</p>
- <div class="form-group">
- <input id="website-upload-choose" type="file" name="zip_file" />
- </div>
- <button class="btn btn-primary btn-sm" type="submit" name="w_upload" value="w_upload">Upload</button>
- </form>
- </ul>
+ <h3>{{$title}}</h3>
+ <ul class="nav nav-pills nav-stacked">
+ <li>
+ <a href="#" onclick="openClose('import-form');
+ return false;"><i class="fa fa-cloud-upload generic-icons"></i> {{$import_label}}</a>
+ </li>
+ <li>
+ <form id="import-form" enctype="multipart/form-data" method="post" action="" style="display: none;" class="sub-menu">
+
+ <input type="hidden" name="action" value="scan">
+
+ <p style="margin-top: 20px;" class="descriptive-text">{{$file_import_text}}</p>
+ <div class="form-group">
+ <div class="input-group">
+ <input class="widget-input" type="text" name="path" title="{{$hint}}" placeholder="{{$desc}}" />
+ <div class="input-group-btn">
+ <button class="btn btn-default btn-sm" type="submit" name="cloudsubmit" value="{{$select}}"><i class="fa fa-folder-open generic-icons"></i></button>
+ </div>
+ </div>
+ </div>
+
+ <!-- Or upload a zipped file containing the website -->
+ <p class="descriptive-text">{{$file_upload_text}}</p>
+ <div class="form-group">
+
+ <div class="input-group">
+ <input class="widget-input" type="file" name="zip_file" />
+ <div class="input-group-btn">
+ <button class="btn btn-default btn-sm" type="submit" name="w_upload" value="w_upload"><i class="fa fa-file-archive-o generic-icons"></i></button>
+ </div>
+ </div>
+ </div>
+ </form>
+ </li>
+ </ul>
</div>