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 88 89
<?php
/* --------------------------------------------------------------
AbstractModuleCenterModuleController.inc.php 2015-09-15
Gambio GmbH
http://www.gambio.de
Copyright (c) 2015 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------
*/
/**
* Class AbstractModuleCenterModule
* @extends AdminHttpViewController
* @category System
* @package Modules
* @subpackage Controllers
*/
abstract class AbstractModuleCenterModuleController extends AdminHttpViewController
{
/**
* @var string $pageTitle
*/
protected $pageTitle = '';
/**
* @var array $buttons
*/
protected $buttons = array();
/**
* @var string $redirectUrl
*/
protected $redirectUrl = '';
/**
* @var LanguageTextManager $languageTextManager
*/
protected $languageTextManager;
/**
* @param HttpContextReaderInterface $httpContextReader
* @param HttpResponseProcessorInterface $httpResponseProcessor
* @param ContentViewInterface $contentView
*/
public function __construct(HttpContextReaderInterface $httpContextReader,
HttpResponseProcessorInterface $httpResponseProcessor,
ContentViewInterface $contentView)
{
parent::__construct($httpContextReader, $httpResponseProcessor, $contentView);
$this->languageTextManager = MainFactory::create('LanguageTextManager', 'module_center_module');
$this->_init();
}
/**
* Initialize the module e.g. set title, description, sort order etc.
*
* Function will be called in the constructor
*/
abstract protected function _init();
/**
* Returns an AdminPageHttpControllerResponse with buttons if buttons are specified or returns a
* RedirectHttpControllerResponse with specified redirect url.
*
* @return AdminPageHttpControllerResponse|RedirectHttpControllerResponse
*/
public function actionDefault()
{
if(count($this->buttons))
{
$this->contentView->set_template_dir(DIR_FS_ADMIN . 'html/content/module_center/');
$html = $this->_render('module_center_module.html', array(
'buttons' => $this->buttons
));
AdminMenuControl::connect_with_page('admin.php?do=ModuleCenter');
return MainFactory::create('AdminPageHttpControllerResponse', $this->pageTitle, $html);
}
return MainFactory::create('RedirectHttpControllerResponse', $this->redirectUrl);
}
}