From f2e87a204d0a257edb501dfedaad867700c58842 Mon Sep 17 00:00:00 2001 From: Andrew Manning Date: Wed, 17 Aug 2016 21:25:50 -0400 Subject: Progress implementing zip file export --- Zotlabs/Module/Webpages.php | 26 ++++++++++++++-- include/text.php | 32 +++++--------------- include/widgets.php | 19 ++---------- view/pdl/mod_webpages.pdl | 3 +- view/tpl/webpage_export_list.tpl | 21 +++++++++++++ view/tpl/website_export_tools.tpl | 14 --------- view/tpl/website_import_tools.tpl | 37 ----------------------- view/tpl/website_portation_tools.tpl | 58 ++++++++++++++++++++++++++++++++++++ 8 files changed, 113 insertions(+), 97 deletions(-) create mode 100644 view/tpl/webpage_export_list.tpl delete mode 100644 view/tpl/website_export_tools.tpl delete mode 100644 view/tpl/website_import_tools.tpl create mode 100644 view/tpl/website_portation_tools.tpl diff --git a/Zotlabs/Module/Webpages.php b/Zotlabs/Module/Webpages.php index 0a48d43c6..439d60a89 100644 --- a/Zotlabs/Module/Webpages.php +++ b/Zotlabs/Module/Webpages.php @@ -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; } diff --git a/include/text.php b/include/text.php index c8e0b1888..1729048e9 100644 --- a/include/text.php +++ b/include/text.php @@ -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.'), )); } diff --git a/include/widgets.php b/include/widgets.php index fc2a9830b..2f8416f8e 100644 --- a/include/widgets.php +++ b/include/widgets.php @@ -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) { diff --git a/view/pdl/mod_webpages.pdl b/view/pdl/mod_webpages.pdl index 292d6791c..9e4d604ba 100644 --- a/view/pdl/mod_webpages.pdl +++ b/view/pdl/mod_webpages.pdl @@ -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] \ No newline at end of file diff --git a/view/tpl/webpage_export_list.tpl b/view/tpl/webpage_export_list.tpl new file mode 100644 index 000000000..4ee14359d --- /dev/null +++ b/view/tpl/webpage_export_list.tpl @@ -0,0 +1,21 @@ +
+
+ +
+
+ +
+

{{$title}}

+
+
+
+
+ +
+
+ +
+
+
+
+ diff --git a/view/tpl/website_export_tools.tpl b/view/tpl/website_export_tools.tpl deleted file mode 100644 index 36f5c8e24..000000000 --- a/view/tpl/website_export_tools.tpl +++ /dev/null @@ -1,14 +0,0 @@ -
-

{{$title}}

- -
diff --git a/view/tpl/website_import_tools.tpl b/view/tpl/website_import_tools.tpl deleted file mode 100644 index cb3e6b524..000000000 --- a/view/tpl/website_import_tools.tpl +++ /dev/null @@ -1,37 +0,0 @@ -
-

{{$title}}

- -
diff --git a/view/tpl/website_portation_tools.tpl b/view/tpl/website_portation_tools.tpl new file mode 100644 index 000000000..d9ebed179 --- /dev/null +++ b/view/tpl/website_portation_tools.tpl @@ -0,0 +1,58 @@ +
+ + +
-- cgit v1.2.3