mirror of
https://github.com/Karaka-Management/oms-EventManagement.git
synced 2026-01-11 16:48:42 +00:00
186 lines
5.4 KiB
PHP
186 lines
5.4 KiB
PHP
<?php
|
|
/**
|
|
* Orange Management
|
|
*
|
|
* PHP Version 7.0
|
|
*
|
|
* @category TBD
|
|
* @package TBD
|
|
* @author OMS Development Team <dev@oms.com>
|
|
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
|
* @copyright 2013 Dennis Eichhorn
|
|
* @license OMS License 1.0
|
|
* @version 1.0.0
|
|
* @link http://orange-management.com
|
|
*/
|
|
namespace Modules\EventManagement;
|
|
|
|
use Modules\Navigation\Models\Navigation;
|
|
use Modules\Navigation\Views\NavigationView;
|
|
use phpOMS\Contract\RenderableInterface;
|
|
use phpOMS\Message\RequestAbstract;
|
|
use phpOMS\Message\RequestDestination;
|
|
use phpOMS\Message\ResponseAbstract;
|
|
use phpOMS\Module\ModuleAbstract;
|
|
use phpOMS\Module\WebInterface;
|
|
use phpOMS\Views\View;
|
|
use phpOMS\Views\ViewLayout;
|
|
|
|
/**
|
|
* Event Management controller class.
|
|
*
|
|
* @category Modules
|
|
* @package Modules\EventManagement
|
|
* @author OMS Development Team <dev@oms.com>
|
|
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
|
* @license OMS License 1.0
|
|
* @link http://orange-management.com
|
|
* @since 1.0.0
|
|
*/
|
|
class Controller extends ModuleAbstract implements WebInterface
|
|
{
|
|
|
|
/**
|
|
* Module path.
|
|
*
|
|
* @var \string
|
|
* @since 1.0.0
|
|
*/
|
|
const MODULE_PATH = __DIR__;
|
|
|
|
/**
|
|
* Module version.
|
|
*
|
|
* @var \string
|
|
* @since 1.0.0
|
|
*/
|
|
const MODULE_VERSION = '1.0.0';
|
|
|
|
/**
|
|
* Module name.
|
|
*
|
|
* @var \string
|
|
* @since 1.0.0
|
|
*/
|
|
const MODULE_NAME = 'EventManagement';
|
|
|
|
/**
|
|
* Localization files.
|
|
*
|
|
* @var \string
|
|
* @since 1.0.0
|
|
*/
|
|
protected static $localization = [
|
|
RequestDestination::BACKEND => [''],
|
|
];
|
|
|
|
/**
|
|
* Providing.
|
|
*
|
|
* @var \string
|
|
* @since 1.0.0
|
|
*/
|
|
protected static $providing = [];
|
|
|
|
/**
|
|
* Dependencies.
|
|
*
|
|
* @var \string
|
|
* @since 1.0.0
|
|
*/
|
|
protected static $dependencies = [
|
|
'Admin',
|
|
];
|
|
|
|
/**
|
|
* Routing elements.
|
|
*
|
|
* @var array
|
|
* @since 1.0.0
|
|
*/
|
|
protected static $routes = [
|
|
'^.*/backend/eventmanagement/list.*$' => [['dest' => '\Modules\EventManagement\Controller:viewEventManagementList', 'method' => 'GET', 'type' => ViewLayout::MAIN],],
|
|
'^.*/backend/eventmanagement/create.*$' => [['dest' => '\Modules\EventManagement\Controller:viewEventManagementCreate', 'method' => 'GET', 'type' => ViewLayout::MAIN],],
|
|
'^.*/backend/eventmanagement/profile.*$' => [['dest' => '\Modules\EventManagement\Controller:viewEventManagementProfile', 'method' => 'GET', 'type' => ViewLayout::MAIN],],
|
|
];
|
|
|
|
/**
|
|
* @param RequestAbstract $request Request
|
|
* @param ResponseAbstract $response Response
|
|
* @param mixed $data Generic data
|
|
*
|
|
* @return RenderableInterface
|
|
*
|
|
* @since 1.0.0
|
|
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
|
*/
|
|
public function viewEventManagementList(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface
|
|
{
|
|
$view = new View($this->app, $request, $response);
|
|
$view->setTemplate('/Modules/EventManagement/Theme/Backend/eventmanagement-list');
|
|
$view->addData('nav', $this->createNavigation(1004201001, $request, $response));
|
|
|
|
return $view;
|
|
}
|
|
|
|
/**
|
|
* @param RequestAbstract $request Request
|
|
* @param ResponseAbstract $response Response
|
|
* @param mixed $data Generic data
|
|
*
|
|
* @return RenderableInterface
|
|
*
|
|
* @since 1.0.0
|
|
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
|
*/
|
|
public function viewEventManagementCreate(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface
|
|
{
|
|
$view = new View($this->app, $request, $response);
|
|
$view->setTemplate('/Modules/EventManagement/Theme/Backend/eventmanagement-create');
|
|
$view->addData('nav', $this->createNavigation(1004201001, $request, $response));
|
|
|
|
return $view;
|
|
}
|
|
|
|
/**
|
|
* @param RequestAbstract $request Request
|
|
* @param ResponseAbstract $response Response
|
|
* @param mixed $data Generic data
|
|
*
|
|
* @return RenderableInterface
|
|
*
|
|
* @since 1.0.0
|
|
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
|
*/
|
|
public function viewEventManagementProfile(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface
|
|
{
|
|
$view = new View($this->app, $request, $response);
|
|
$view->setTemplate('/Modules/EventManagement/Theme/Backend/eventmanagement-profile');
|
|
$view->addData('nav', $this->createNavigation(1004201001, $request, $response));
|
|
|
|
return $view;
|
|
}
|
|
|
|
/**
|
|
* @param int $pageId Page/parent Id for navigation
|
|
* @param RequestAbstract $request Request
|
|
* @param ResponseAbstract $response Response
|
|
*
|
|
* @return RenderableInterface
|
|
*
|
|
* @since 1.0.0
|
|
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
|
*/
|
|
private function createNavigation(\int $pageId, RequestAbstract $request, ResponseAbstract $response)
|
|
{
|
|
$nav = Navigation::getInstance($request, $this->app->dbPool);
|
|
$navView = new NavigationView($this->app, $request, $response);
|
|
$navView->setTemplate('/Modules/Navigation/Theme/Backend/mid');
|
|
$navView->setNav($nav->getNav());
|
|
$navView->setLanguage($request->getL11n()->language);
|
|
$navView->setParent($pageId);
|
|
|
|
return $navView;
|
|
}
|
|
}
|