Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
CRAP | |
0.00% |
0 / 14 |
ContextualController | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
12 | |
0.00% |
0 / 14 |
render | |
0.00% |
0 / 1 |
12 | |
0.00% |
0 / 14 |
<?php | |
/** | |
* @file | |
* Contains \Drupal\contextual\ContextualController. | |
*/ | |
namespace Drupal\contextual; | |
use Symfony\Component\DependencyInjection\ContainerAwareInterface; | |
use Symfony\Component\DependencyInjection\ContainerAwareTrait; | |
use Symfony\Component\HttpFoundation\JsonResponse; | |
use Symfony\Component\HttpFoundation\Request; | |
use Symfony\Component\HttpKernel\Exception\BadRequestHttpException; | |
/** | |
* Returns responses for Contextual module routes. | |
*/ | |
class ContextualController implements ContainerAwareInterface { | |
use ContainerAwareTrait; | |
/** | |
* Returns the requested rendered contextual links. | |
* | |
* Given a list of contextual links IDs, render them. Hence this must be | |
* robust to handle arbitrary input. | |
* | |
* @see contextual_preprocess() | |
* | |
* @return \Symfony\Component\HttpFoundation\JsonResponse | |
* The JSON response. | |
*/ | |
public function render(Request $request) { | |
$ids = $request->request->get('ids'); | |
if (!isset($ids)) { | |
throw new BadRequestHttpException(t('No contextual ids specified.')); | |
} | |
$rendered = array(); | |
foreach ($ids as $id) { | |
$element = array( | |
'#type' => 'contextual_links', | |
'#contextual_links' => _contextual_id_to_links($id), | |
); | |
$rendered[$id] = $this->container->get('renderer')->renderRoot($element); | |
} | |
return new JsonResponse($rendered); | |
} | |
} |