Progress implementing zip file export
This commit is contained in:
parent
c98b91f514
commit
f2e87a204d
@ -62,6 +62,16 @@ class Webpages extends \Zotlabs\Web\Controller {
|
||||
case 'importselected':
|
||||
$_SESSION['action'] = null;
|
||||
break;
|
||||
case 'export_select_list':
|
||||
$_SESSION['action'] = null;
|
||||
$o .= replace_macros(get_markup_template('webpage_export_list.tpl'), array(
|
||||
'$title' => t('Export Webpage Elements'),
|
||||
'$exportbtn' => t('Export selected'),
|
||||
'$action' => $_SESSION['export'], // value should be 'zipfile' or 'cloud'
|
||||
));
|
||||
$_SESSION['export'] = null;
|
||||
return $o;
|
||||
|
||||
default :
|
||||
$_SESSION['action'] = null;
|
||||
break;
|
||||
@ -233,7 +243,7 @@ class Webpages extends \Zotlabs\Web\Controller {
|
||||
}
|
||||
|
||||
function post() {
|
||||
|
||||
logger(json_encode($_REQUEST), LOGGER_DEBUG);
|
||||
$action = $_REQUEST['action'];
|
||||
if( $action ){
|
||||
switch ($action) {
|
||||
@ -382,7 +392,19 @@ class Webpages extends \Zotlabs\Web\Controller {
|
||||
info( t('Import complete.') . EOL);
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
case 'exportzipfile':
|
||||
|
||||
if(isset($_POST['w_download'])) {
|
||||
logger($_POST['w_download'], LOGGER_DEBUG);
|
||||
$_SESSION['action'] = 'export_select_list';
|
||||
$_SESSION['export'] = 'zipfile';
|
||||
if(isset($_POST['filename'])) {
|
||||
$filename = filter_var($_POST['filename'], 'FILTER_SANITIZE_ENCODED');
|
||||
} else {
|
||||
$filename = 'website.zip';
|
||||
}
|
||||
}
|
||||
default :
|
||||
break;
|
||||
}
|
||||
|
@ -2267,11 +2267,11 @@ function design_tools() {
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Creates website import tools menu
|
||||
* @brief Creates website portation tools menu
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
function website_import_tools() {
|
||||
function website_portation_tools() {
|
||||
|
||||
$channel = App::get_channel();
|
||||
$sys = false;
|
||||
@ -2282,7 +2282,7 @@ function website_import_tools() {
|
||||
$sys = true;
|
||||
}
|
||||
|
||||
return replace_macros(get_markup_template('website_import_tools.tpl'), array(
|
||||
return replace_macros(get_markup_template('website_portation_tools.tpl'), array(
|
||||
'$title' => t('Import'),
|
||||
'$import_label' => t('Import website...'),
|
||||
'$import_placeholder' => t('Select folder to import'),
|
||||
@ -2290,29 +2290,11 @@ function website_import_tools() {
|
||||
'$file_import_text' => t('Import from cloud files:'),
|
||||
'$desc' => t('/cloud/channel/path/to/folder'),
|
||||
'$hint' => t('Enter path to website files'),
|
||||
'$select' => t('Select folder'),
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Creates website export tools menu
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
function website_export_tools() {
|
||||
|
||||
$channel = App::get_channel();
|
||||
$sys = false;
|
||||
|
||||
if(App::$is_sys && is_site_admin()) {
|
||||
require_once('include/channel.php');
|
||||
$channel = get_sys_channel();
|
||||
$sys = true;
|
||||
}
|
||||
|
||||
return replace_macros(get_markup_template('website_export_tools.tpl'), array(
|
||||
'$title' => t('Export'),
|
||||
'$select' => t('Select folder'),
|
||||
'$export_label' => t('Export website...'),
|
||||
'$file_download_text' => t('Export to a zip file'),
|
||||
'$filename_desc' => t('website.zip'),
|
||||
'$filename_hint' => t('Enter a name for the zip file.'),
|
||||
));
|
||||
}
|
||||
|
||||
|
@ -779,7 +779,7 @@ function widget_design_tools($arr) {
|
||||
return design_tools();
|
||||
}
|
||||
|
||||
function widget_website_import_tools($arr) {
|
||||
function widget_website_portation_tools($arr) {
|
||||
|
||||
// mod menu doesn't load a profile. For any modules which load a profile, check it.
|
||||
// otherwise local_channel() is sufficient for permissions.
|
||||
@ -791,22 +791,7 @@ function widget_website_import_tools($arr) {
|
||||
if(! local_channel())
|
||||
return '';
|
||||
|
||||
return website_import_tools();
|
||||
}
|
||||
|
||||
function widget_website_export_tools($arr) {
|
||||
|
||||
// mod menu doesn't load a profile. For any modules which load a profile, check it.
|
||||
// otherwise local_channel() is sufficient for permissions.
|
||||
|
||||
if(App::$profile['profile_uid'])
|
||||
if((App::$profile['profile_uid'] != local_channel()) && (! App::$is_sys))
|
||||
return '';
|
||||
|
||||
if(! local_channel())
|
||||
return '';
|
||||
|
||||
return website_export_tools();
|
||||
return website_portation_tools();
|
||||
}
|
||||
|
||||
function widget_findpeople($arr) {
|
||||
|
@ -1,5 +1,4 @@
|
||||
[region=aside]
|
||||
[widget=design_tools][/widget]
|
||||
[widget=website_import_tools][/widget]
|
||||
[widget=website_export_tools][/widget]
|
||||
[widget=website_portation_tools][/widget]
|
||||
[/region]
|
21
view/tpl/webpage_export_list.tpl
Normal file
21
view/tpl/webpage_export_list.tpl
Normal file
@ -0,0 +1,21 @@
|
||||
<div class="generic-content-wrapper">
|
||||
<form action="" method="post" autocomplete="on" >
|
||||
<input type="hidden" name="action" value="{{$action}}">
|
||||
<div class="section-title-wrapper">
|
||||
<div class="pull-right">
|
||||
<button class="btn btn-md btn-success" type="submit" name="submit" value="{{$exportbtn}}">{{$exportbtn}}</button>
|
||||
</div>
|
||||
<h2>{{$title}}</h2>
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
<div id="import-website-content-wrapper" class="section-content-wrapper">
|
||||
<div class="pull-left">
|
||||
<button id="toggle-select-all" class="btn btn-xs btn-primary" onclick="checkedAll(window.isChecked); return false;"><i class="fa fa-check"></i> Toggle Select All</button>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
</form>
|
||||
</div>
|
||||
|
@ -1,14 +0,0 @@
|
||||
<div id="website-export-tools" class="widget">
|
||||
<h3>{{$title}}</h3>
|
||||
<ul class="nav nav-pills nav-stacked">
|
||||
<li>
|
||||
<a href="#" onclick="openClose('export-form');
|
||||
return false;"><i class="fa fa-cloud-upload generic-icons"></i> {{$export_label}}</a>
|
||||
</li>
|
||||
<li>
|
||||
<form id="export-form" enctype="multipart/form-data" method="post" action="" style="display: none;" class="sub-menu">
|
||||
|
||||
</form>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
@ -1,16 +1,15 @@
|
||||
<div id="website-import-tools" class="widget">
|
||||
<h3>{{$title}}</h3>
|
||||
<div id="website-portation-tools" class="widget">
|
||||
<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>
|
||||
<li style="margin-left: 12px;" >
|
||||
<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>
|
||||
<p style="margin-top: 10px;" 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}}" />
|
||||
@ -34,4 +33,26 @@
|
||||
</form>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="nav nav-pills nav-stacked">
|
||||
<li>
|
||||
<a href="#" onclick="openClose('export-form');
|
||||
return false;"><i class="fa fa-share-square-o generic-icons"></i> {{$export_label}}</a>
|
||||
</li>
|
||||
<li style="margin-left: 12px;" >
|
||||
<form id="export-form" enctype="multipart/form-data" method="post" action="" style="display: none;" class="sub-menu">
|
||||
<input type="hidden" name="action" value="exportzipfile">
|
||||
<!-- Or download a zipped file containing the website -->
|
||||
<p style="margin-top: 10px;" class="descriptive-text">{{$file_download_text}}</p>
|
||||
<div class="form-group">
|
||||
|
||||
<div class="input-group">
|
||||
<input class="widget-input" type="text" name="filename" title="{{$filename_hint}}" placeholder="{{$filename_desc}}" />
|
||||
<div class="input-group-btn">
|
||||
<button class="btn btn-default btn-sm" type="submit" name="w_download" value="w_download"><i class="fa fa-download generic-icons"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
Reference in New Issue
Block a user