CartController

Extends \HttpViewController

Class CartController

This class contains some helper methods for handling view requests. Be careful always when outputting raw user data to HTML or when handling POST requests because insufficient protection will lead to XSS and CSRF vulnerabilities.

extends

HttpViewController

category

System

package

HttpViewControllers

Methods

__construct

__construct(\HttpContextReaderInterface $httpContextReader, \HttpResponseProcessorInterface $httpResponseProcessor, \ContentViewInterface $defaultContentView) 
inherited

Arguments

$httpContextReader

\HttpContextReaderInterface

$httpResponseProcessor

\HttpResponseProcessorInterface

$defaultContentView

\ContentViewInterface

Invokes an action method by the given action name.

_callActionMethod(string $actionName) : \HttpControllerResponseInterface
inherited
Throws
\LogicException

If no action method of the given name exists.

Arguments

$actionName

string

Name of action method to call, without 'action'-Suffix.

Response

\HttpControllerResponseInterface

Response message.

Returns an initialized ShoppingCartContentView object

_getCartContentView() : \ShoppingCartContentView

Response

\ShoppingCartContentView

Builds a JSON array that contains the HTML snippets to build the current shopping cart

_getCartJson() : array

Response

array

JSON array of the current shopping cart

Gets a JSON array of HTML snippets to build the content of the current shopping cart apart from its products.

_getContents(\ShoppingCartContentView $shoppingCartContentView) : array

Arguments

$shoppingCartContentView

\ShoppingCartContentView

Response

array

JSON array of the informational content (without products) of the shopping cart

Gets the HTML for the content of the voucher redeem modal

_getGiftCartContent() : mixed|string

Response

mixed|string

Gets a JSON array that contains the HTML snippet for the content of the voucher redeem modal

_getGiftContents(\ShoppingCartContentView $shoppingCartContentView) : array

Arguments

$shoppingCartContentView

\ShoppingCartContentView

Response

array

JSON array of the contents

Builds a JSON array that contains the HTML snippets to build the voucher redeem modal

_getGiftJson() : array

Response

array

JSON array of the contents

Gets th HTML for the voucher redeem modal

_getGiftLayer() : mixed|string

Response

mixed|string

Gets the HTML for all info messages.

_getInfoMessages(\ShoppingCartContentView $shoppingCartContentView) : string

Arguments

$shoppingCartContentView

\ShoppingCartContentView

Response

string

Gets the HTML for all messages/warnings

_getMessages(\ShoppingCartContentView $shoppingCartContentView) : mixed|string

Arguments

$shoppingCartContentView

\ShoppingCartContentView

Response

mixed|string

Returns the expected $_POST value by the given key name.

_getPostData(string $keyName) : string|null
inherited

This method is the object oriented layer for $_POST[$keyName].

Arguments

$keyName

string

Expected key of post parameter.

Response

string|null

Either the expected value or null, of not found.

Creates and returns a key value collection which represent the global $_POST array.

_getPostDataCollection() : \KeyValueCollection
inherited

Gets a JSON array of HTML snippets to build the product listing of the current shopping cart content

_getProducts(\OrderDetailsCartContentView $orderDetailsCartContentView) : array

Arguments

$orderDetailsCartContentView

\OrderDetailsCartContentView

Response

array

JSON array of the shopping cart content

Returns the expected $_GET value by the given key name.

_getQueryParameter(string $keyName) : mixed|null
inherited

This method is the object oriented layer for $_GET[$keyName].

Arguments

$keyName

string

Expected key of query parameter.

Response

mixed|null

Either the expected value or null, of not found.

Creates and returns a key value collection which represent the global $_GET array.

_getQueryParametersCollection() : \KeyValueCollection
inherited

Returns the expected $_SERVER value by the given key name.

_getServerData(string $keyName) : string|null
inherited

This method is the object oriented layer for $_SERVER[$keyName].

Arguments

$keyName

string

Expected key of server parameter.

Response

string|null

Either the expected value or null, of not found.

Gets the HTML for the shipping information

_getShippingInformation() : mixed|string

Response

mixed|string

Gets the HTML for all available checkout buttons

_getShoppingCartButton(\ShoppingCartContentView $shoppingCartContentView) : mixed|string

Arguments

$shoppingCartContentView

\ShoppingCartContentView

Response

mixed|string

Gets the HTML for the totals block

_getTotals(\OrderDetailsCartContentView $orderDetailsCartContentView) : mixed|string

Arguments

$orderDetailsCartContentView

\OrderDetailsCartContentView

Response

mixed|string

_performAction

_performAction(string $p_action) : boolean

Arguments

$p_action

string

Response

boolean

Renders and returns a template file.

_render(string $templateFile, array $contentArray) : string
inherited

Arguments

$templateFile

string

Template file to render.

$contentArray

array

Content array which represent the variables of the template.

Response

string

Rendered template.

Resets some session data that is set within the build methods of the content views

_tearDownTemporarySessionData() 

Check if the $_POST['pageToken'] or $_GET['pageToken'] variable is provided and if it's valid.

_validatePageToken(string $customExceptionMessage = null) 
inherited

Example: public function proceed(HttpContextInterface $httpContext) { parent::proceed($httpContext); // proceed http context from parent class if($_SERVER['REQUEST_METHOD'] === 'POST') { $this->_validatePageToken(); // CSRF Protection } }

Throws
\Exception

If the validation fails.

Arguments

$customExceptionMessage

string

(optional) You can specify a custom exception message.

actionAdd

actionAdd() : \JsonHttpControllerResponse
todo

use GET and POST REST-API like

Response

\JsonHttpControllerResponse

actionBuyProduct

actionBuyProduct() : \JsonHttpControllerResponse
todo

use GET and POST REST-API like

Response

\JsonHttpControllerResponse

Default action method.

actionDefault() : \HttpControllerResponseInterface
inherited

Every controller child class requires at least the default action method, which is invoked when the ::_getQueryParameterData('do') value is not separated by a trailing slash.

Every action method have to return an instance which implements the http controller response interface.

Response

\HttpControllerResponseInterface

actionDelete

actionDelete() : \JsonHttpControllerResponse
todo

use GET and POST REST-API like

Response

\JsonHttpControllerResponse

actionRedeemGift

actionRedeemGift() : \JsonHttpControllerResponse
todo

use GET and POST REST-API like

Response

\JsonHttpControllerResponse

actionUpdate

actionUpdate() : \JsonHttpControllerResponse
todo

use GET and POST REST-API like

Response

\JsonHttpControllerResponse

Searches the GXModules directory and admin/html directory for a template file, wich can be useed inside the AdminLayoutHttpControllerResponse object for the template parameter.

getTemplateFile(string $templateFile) : \ExistingFile
inherited
Throws
\Exception

if the path or file is not found

Arguments

$templateFile

string

The relative path and filename to search for

Response

\ExistingFile

containing absolute file path to the given template file

Processes a http response object which is get by invoking an action method.

proceed(\HttpContextInterface $httpContext) 
inherited

The action method is determined by the http context reader instance and the current request context. Re-implement this method in child classes to enable XSS and CSRF protection on demand.

see \HttpResponseProcessorInterface::proceed \HttpContextReaderInterface::getActionName
Throws
\LogicException

When no action method is found by the http context reader.

Arguments

$httpContext

\HttpContextInterface

Http context object which hold the request variables.

Properties

turboBuyNow

turboBuyNow : boolean
var

Type(s)

boolean

showCart

showCart : boolean
var

Type(s)

boolean

showDetails

showDetails : boolean
var

Type(s)

boolean

httpContextReader

httpContextReader : \HttpContextReaderInterface
inherited

httpResponseProcessor

httpResponseProcessor : \HttpResponseProcessorInterface
inherited

contentView

contentView : \ContentViewInterface
inherited
var

Type(s)

\ContentViewInterface

queryParametersArray

queryParametersArray : array
inherited
var

Type(s)

array

postDataArray

postDataArray : array
inherited
var

Type(s)

array

Contain the assets needed to be included in the view HTML.

assets : \AssetCollectionInterface
inherited
var

Contain the assets needed to be included in the view HTML.

Type(s)

\AssetCollectionInterface

Server data.

serverDataArray : array
inherited
var

Server data.

Type(s)

array