Completed
Push — master ( 76ac09...8c1d79 )
by Aimeos
04:15
created

AbstractController::getOutput()   B

Complexity

Conditions 2
Paths 2

Size

Total Lines 25
Code Lines 16

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
c 1
b 0
f 1
dl 0
loc 25
rs 8.8571
cc 2
eloc 16
nc 2
nop 1
1
<?php
2
3
/**
4
 * @license MIT, http://opensource.org/licenses/MIT
5
 * @copyright Aimeos (aimeos.org), 2014-2016
6
 * @package symfony
7
 * @subpackage Controller
8
 */
9
10
11
namespace Aimeos\ShopBundle\Controller;
12
13
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
14
use Symfony\Component\HttpFoundation\Response;
15
16
17
/**
18
 * Aimeos controller for account related functionality.
19
 *
20
 * @package symfony
21
 * @subpackage Controller
22
 */
23
class AbstractController extends Controller
24
{
25
	/**
26
	 * Returns the output of the client and adds the header.
27
	 *
28
	 * @param string $clientName Html client name
29
	 * @return Response Response object containing the generated output
30
	 */
31
	protected function getOutput( $clientName )
32
	{
33
		$tmplPaths = $this->container->get( 'aimeos' )->get()->getCustomPaths( 'client/html/templates' );
34
		$context = $this->container->get( 'aimeos_context' )->get();
35
		$langid = $context->getLocale()->getLanguageId();
36
37
		$view = $this->container->get( 'aimeos_view' )->create( $context, $tmplPaths, $langid );
38
		$context->setView( $view );
39
40
		$client = \Aimeos\Client\Html\Factory::createClient( $context, $tmplPaths, $clientName );
41
		$client->setView( $view );
42
		$client->process();
43
44
		$twig = $this->container->get( 'twig' );
45
		$vars = $twig->getGlobals();
46
47
		if( !isset( $vars['aiheader'] ) ) {
48
			$vars['aiheader'] = array();
49
		}
50
51
		$vars['aiheader'][$clientName] = (string) $client->getHeader();
52
		$twig->addGlobal( 'aiheader', $vars['aiheader'] );
53
54
		return new Response( (string) $client->getBody() );
55
	}
56
}
57