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 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
<?php
/* --------------------------------------------------------------
UserConfigurationController.inc.php 2015-08-25 gm
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 UserConfigurationController
*
* @extends AdminHttpViewController
* @category System
* @package AdminHttpViewControllers
*/
class UserConfigurationController extends AdminHttpViewController
{
/**
* @var array
*/
protected $postDataArray;
/**
* @var array
*/
protected $queryParametersArray;
/**
* @var UserConfigurationService
*/
protected $userConfigurationService;
/**
* Initialize the controller.
*
* Perform the common operations before the parent class proceeds with the controller
* method execution. In this case every method needs the EmailService so it is loaded
* once before every method.
*
* @param HttpContextInterface $httpContext
*/
public function proceed(HttpContextInterface $httpContext)
{
$this->userConfigurationService = StaticGXCoreLoader::getService('UserConfiguration');
parent::proceed($httpContext); // proceed http context from parent class
}
/**
* @return HttpControllerResponse|RedirectHttpControllerResponse
*/
public function actionDefault()
{
return MainFactory::create('JsonHttpControllerResponse', array());
}
/**
* Sets a user configuration (to DB table user_configuration)
*
* @return \JsonHttpControllerResponse
*/
public function actionSet()
{
if(!isset($this->postDataArray['userId']) || !isset($this->postDataArray['configurationKey'])
|| !isset($this->postDataArray['configurationValue'])
)
{
return MainFactory::create('JsonHttpControllerResponse', array('success' => false));
}
$this->userConfigurationService->setUserConfiguration(new IdType(
(int)$this->postDataArray['userId']),
$this->postDataArray['configurationKey'],
$this->postDataArray['configurationValue']);
return MainFactory::create('JsonHttpControllerResponse', array('success' => true));
}
/**
* Gets a user configuration (from DB table user_configuration)
*
* @return \JsonHttpControllerResponse
*/
public function actionGet()
{
if(!isset($this->queryParametersArray['userId']) || !isset($this->queryParametersArray['configurationKey']))
{
return MainFactory::create('JsonHttpControllerResponse', array('success' => false));
}
$configurationValue = $this->userConfigurationService->getUserConfiguration(new IdType(
(int)$this->queryParametersArray['userId']),
$this->queryParametersArray['configurationKey']);
return MainFactory::create('JsonHttpControllerResponse', array('success' => true, 'configurationValue' => $configurationValue));
}
}