1
|
<?php
|
2
|
/**
|
3
|
*
|
4
|
* @category module
|
5
|
* @package droplet
|
6
|
* @author Ruud Eisinga (Ruud) John (PCWacht)
|
7
|
* @author WebsiteBaker Project
|
8
|
* @copyright Ryan Djurovich
|
9
|
* @copyright WebsiteBaker Org. e.V.
|
10
|
* @link http://websitebaker.org/
|
11
|
* @license http://www.gnu.org/licenses/gpl.html
|
12
|
* @platform WebsiteBaker 2.8.3
|
13
|
* @requirements PHP 5.3.6 and higher
|
14
|
* @version $Id: import_droplets.php 2 2017-07-02 15:14:29Z Manuela $
|
15
|
* @filesource $HeadURL: svn://isteam.dynxs.de/wb/2.10.x/trunk/modules/droplets/commands/import_droplets.php $
|
16
|
* @lastmodified $Date: 2017-07-02 17:14:29 +0200 (Sun, 02 Jul 2017) $
|
17
|
*
|
18
|
*/
|
19
|
/* -------------------------------------------------------- */
|
20
|
// Must include code to stop this file being accessed directly
|
21
|
if(defined('WB_PATH') == false) { die('Cannot access '.basename(__DIR__).'/'.basename(__FILE__).' directly'); }
|
22
|
/* -------------------------------------------------------- */
|
23
|
if( !$oApp->checkFTAN() ){
|
24
|
$oApp->print_error($oTrans->MESSAGE_GENERIC_SECURITY_ACCESS, $ToolUrl );
|
25
|
exit();
|
26
|
}
|
27
|
|
28
|
if( isset( $_FILES['zipFiles'] ) && !$_FILES['zipFiles']['error']) {
|
29
|
$aRequestVars['uploads'] = $_FILES['zipFiles'];
|
30
|
$sArchiveFile = $_FILES['zipFiles']['tmp_name'];
|
31
|
|
32
|
move_uploaded_file (
|
33
|
$_FILES['zipFiles']['tmp_name'] ,
|
34
|
$oReg->AppPath.'/temp/'. $_FILES['zipFiles']['name']
|
35
|
);
|
36
|
$sArchiveFile = ( $oReg->AppPath.'/temp/'. $_FILES['zipFiles']['name'] );
|
37
|
} else {
|
38
|
$sArchiveFile = ( $oReg->AppPath.$aRequestVars['zipFiles']);
|
39
|
}
|
40
|
if (!is_readable( $sArchiveFile)) {
|
41
|
msgQueue::add( $oTrans->DROPLET_MESSAGE_GENERIC_MISSING_ARCHIVE_FILE );
|
42
|
} else if ( is_readable( $sArchiveFile ) ) {
|
43
|
|
44
|
if( !class_exists('PclZip',false) ) { require( $oReg->AppPath.'/include/pclzip/pclzip.lib.php'); }
|
45
|
$oArchive = new PclZip( $sArchiveFile );
|
46
|
$aFilesInArchiv = $oArchive->listContent();
|
47
|
if ($aFilesInArchiv == 0) {
|
48
|
msgQueue::add( $oTrans->DROPLET_MESSAGE_GENERIC_MISSING_ARCHIVE_FILE );
|
49
|
} else {
|
50
|
$aFtan = $admin->getFTAN('');
|
51
|
// prepare default data for phplib and twig
|
52
|
$aTplData = array (
|
53
|
'FTAN_NAME' => $aFtan['name'],
|
54
|
'FTAN_VALUE' => $aFtan['value'],
|
55
|
'sArchiveFile' => $sArchiveFile,
|
56
|
'sArchiveFilename' => basename($sArchiveFile),
|
57
|
);
|
58
|
// Create new template object with phplib
|
59
|
$oTpl = new Template($sAddonThemePath, 'keep' );
|
60
|
$oTpl->set_file('page', 'import_droplets.htt');
|
61
|
$oTpl->set_block('page', 'main_block', 'main');
|
62
|
$oTpl->set_var($aLang);
|
63
|
$oTpl->set_var($aTplDefaults);
|
64
|
$oTpl->set_var($aTplData);
|
65
|
$oTpl->set_block('main_block', 'list_archiv_block', 'list_archiv');
|
66
|
$oTpl->set_block('main_block', 'show_archiv_folder_block', 'show_archiv_folder');
|
67
|
foreach ($aFilesInArchiv as $key=>$value) {
|
68
|
$aData = array (
|
69
|
'index' => $value['index'],
|
70
|
'filename' => basename($value['filename'],'.php'),
|
71
|
'comment' => $value['comment'],
|
72
|
'size' => $value['size'],
|
73
|
'created_when' => date('d.m.Y'.' '.'H:i', $value['mtime']+TIMEZONE),
|
74
|
);
|
75
|
$oTpl->set_var($aData);
|
76
|
if ( $value['folder'] ) {
|
77
|
$oTpl->parse('show_archiv_folder', 'show_archiv_folder_block', true);
|
78
|
} else {
|
79
|
$oTpl->set_block('show_archiv_folder_block', '');
|
80
|
}
|
81
|
$oTpl->parse('list_archiv', 'list_archiv_block', true);
|
82
|
}
|
83
|
/*-- finalize the page -----------------------------------------------------------------*/
|
84
|
$oTpl->parse('main', 'main_block', false);
|
85
|
$oTpl->pparse('output', 'page');
|
86
|
}
|
87
|
}
|