1 |
2
|
Manuela
|
<?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$
|
15 |
|
|
* @filesource $HeadURL$
|
16 |
|
|
* @lastmodified $Date$
|
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 |
|
|
}
|