aboutsummaryrefslogtreecommitdiffstats
path: root/include/import.php
diff options
context:
space:
mode:
authorAndrew Manning <tamanning@zoho.com>2016-08-20 15:22:30 -0400
committerAndrew Manning <tamanning@zoho.com>2016-08-20 15:22:30 -0400
commit80ed05d45d0e9f7f23848919a3a8af388988fdd9 (patch)
tree1e37968678c75eac9dc062db721dc291db23f1d0 /include/import.php
parentcf93d9c3b42a4ab1dd9c4199b3b0711cc41b2dbb (diff)
downloadvolse-hubzilla-80ed05d45d0e9f7f23848919a3a8af388988fdd9.tar.gz
volse-hubzilla-80ed05d45d0e9f7f23848919a3a8af388988fdd9.tar.bz2
volse-hubzilla-80ed05d45d0e9f7f23848919a3a8af388988fdd9.zip
Export of pages and their layouts to a zip file works. Bug on importing the exported zip file for pages.
Diffstat (limited to 'include/import.php')
-rw-r--r--include/import.php45
1 files changed, 44 insertions, 1 deletions
diff --git a/include/import.php b/include/import.php
index f7df636f3..b4d342273 100644
--- a/include/import.php
+++ b/include/import.php
@@ -1533,4 +1533,47 @@ function get_webpage_elements($channel, $type = 'all') {
return null;
}
return $elements;
-} \ No newline at end of file
+}
+
+/* creates a compressed zip file */
+
+function create_zip_file($files = array(), $destination = '', $overwrite = false) {
+ //if the zip file already exists and overwrite is false, return false
+ if (file_exists($destination) && !$overwrite) {
+ return false;
+ }
+ //vars
+ $valid_files = array();
+ //if files were passed in...
+ if (is_array($files)) {
+ //cycle through each file
+ foreach ($files as $file) {
+ //make sure the file exists
+ if (file_exists($file)) {
+ $valid_files[] = $file;
+ }
+ }
+ }
+
+ //if we have good files...
+ if (count($valid_files)) {
+ //create the archive
+ $zip = new ZipArchive();
+ if ($zip->open($destination, $overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) {
+ return false;
+ }
+ //add the files
+ foreach ($valid_files as $file) {
+ $zip->addFile($file, $file);
+ }
+ //debug
+ //echo 'The zip archive contains ',$zip->numFiles,' files with a status of ',$zip->status;
+ //close the zip -- done!
+ $zip->close();
+
+ //check to make sure the file exists
+ return file_exists($destination);
+ } else {
+ return false;
+ }
+}