bootstrap_styles-1.0.x-dev/src/Controller/TempStoreController.php
src/Controller/TempStoreController.php
<?php
namespace Drupal\bootstrap_styles\Controller;
use Drupal\Core\Controller\ControllerBase;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Drupal\Core\TempStore\PrivateTempStoreFactory;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\JsonResponse;
/**
* Set or get any value to bootstrap_styles temp store.
*/
class TempStoreController extends ControllerBase {
/**
* The tempstore service.
*
* @var \Drupal\Core\TempStore\PrivateTempStoreFactory
*/
protected $tempStore;
/**
* Constructs a TempStoreController object.
*
* @param \Drupal\Core\TempStore\PrivateTempStoreFactory $temp_store_factory
* The tempstore service.
*/
public function __construct(PrivateTempStoreFactory $temp_store_factory) {
$this->tempStore = $temp_store_factory->get('bootstrap_styles');
}
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container) {
return new static(
$container->get('tempstore.private')
);
}
/**
* Set a tempStore value by key.
*
* @param \Symfony\Component\HttpFoundation\Request $request
* The request of the page.
*
* @return \Symfony\Component\HttpFoundation\JsonResponse
* The JSON response.
*/
public function set(Request $request) {
$key = $request->request->get('key');
$value = $request->request->get('value');
$this->tempStore->set($key, $value);
// Return an empty JSON response.
return new JsonResponse();
}
/**
* Get temp store value by key.
*
* @return \Symfony\Component\HttpFoundation\JsonResponse
* The JSON response.
*/
public function get(Request $request) {
$key = $request->request->get('key');
$response = $this->tempStore->get($key);
return new JsonResponse($response);
}
}
