1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 
<?php

/* --------------------------------------------------------------
   ResponsiveFilemanagerController.inc.php 2017-09-14
   Gambio GmbH
   http://www.gambio.de
   Copyright © 2017 Gambio GmbH
   --------------------------------------------------------------
*/

/**
 * Class ResponsiveFilemanagerController
 *
 * @category System
 * @package HttpViewControllers
 */
class ResponsiveFilemanagerController extends AdminHttpViewController
{
    /**
     * Current language, fetched from the session.
     *
     * @var string
     */
    protected $lang = '';
    
    /**
     * URL to the file manager dialog
     *
     * @var string $filemanagerURL
     */
    protected $filemanagerURL = '../ResponsiveFilemanager/filemanager/filemanager.php?type=0&sub_folder=&popup=0&relative_url=1&page=responsive_filemanager';
    
    
    /**
     * Initializes the controller
     *
     * @param HttpContextInterface $httpContext
     */
    public function proceed(HttpContextInterface $httpContext)
    {
        $this->contentView->set_template_dir(DIR_FS_ADMIN . 'html/content/');
        
        parent::proceed($httpContext);
    }
    
    
    /**
     * Default actions, renders the file manager page.
     *
     * @return \AdminLayoutHttpControllerResponse
     */
    public function actionDefault()
    {
        $languageTextManager = MainFactory::create('LanguageTextManager', 'file_manager', $_SESSION['languages_id']);
    
        $title    = new NonEmptyStringType($languageTextManager->get_text('HEADING_TITLE'));
        $template = new ExistingFile(new NonEmptyStringType(DIR_FS_ADMIN
                                                            . '/html/content/filemanager/filemanager.html'));
        
        $lang = $_SESSION['languages_id'] === "2" ? 'de' : 'en_EN';
        $this->filemanagerURL .= '&lang=' . $lang;
    
        $data = MainFactory::create('KeyValueCollection', [
            'url'          => $this->filemanagerURL,
            'is_available' => $this->_isFileManagerAvailable()
        ]);
    
        return MainFactory::create('AdminLayoutHttpControllerResponse', $title, $template, $data, null);
    }
    
    
    /**
     * Checks if the responsive file manager is available
     *
     * @return bool true|false If responsive file manager is available|not available
     */
    protected function _isFileManagerAvailable()
    {
        $filemanagerAvailable = false;
        if(is_dir(DIR_FS_CATALOG . 'ResponsiveFilemanager'))
        {
            $filemanagerAvailable = true;
        }
    
        return $filemanagerAvailable;
    }
}