Project

General

Profile

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/branches/main/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
}
(9-9/16)