phpDocumentor

GambioAfterbuyAjaxController extends AdminHttpViewController
in package

Class AdminHttpViewController

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.

Table of Contents

PHRASE_MISSING_ORDER_ID  = 'missing_order_id'
PHRASE_SENT_INITIAL  = 'sent_initial'
PHRASE_SENT_SUCCESSFULLY  = 'sent_successfully'
PHRASE_SENT_UNSUCCESSFULLY  = 'sent_unsuccessfully'
PHRASE_SENT_UPDATE  = 'sent_update'
PHRASE_UNAUTHENTICATED  = 'unauthenticated'
PHRASE_UNKNOWN_ORDER_STATUS  = 'unknown_order_status'
$assets  : AssetCollectionInterface
$contentView  : ContentViewInterface
$httpContextReader  : HttpContextReaderInterface
$httpResponseProcessor  : HttpResponseProcessorInterface
$postDataArray  : array<string|int, mixed>
$queryParametersArray  : array<string|int, mixed>
$serverDataArray  : array<string|int, mixed>
$abInfoService  : AfterbuyInformationService|null
$abXmlService  : AfterbuyOrderXmlApiService|null
$logger  : AfterbuyLogger|null
$paidService  : AfterbuyCheckPaidStatusService|null
$textManager  : LanguageTextManager|null
$trackingLinkService  : AfterbuyOrderTrackingLinkService|null
__construct()  : mixed
actionDefault()  : HttpControllerResponseInterface
Default action method.
actionSendOrder()  : JsonHttpControllerResponse
proceed()  : mixed
Processes a http response object which is get by invoking an action method.
validateCurrentAdminStatus()  : mixed
Makes sure that the admin status is currently given in session
_callActionMethod()  : HttpControllerResponseInterface
Invokes an action method by the given action name.
_getPostData()  : string|null
Returns the expected $_POST value by the given key name.
_getPostDataCollection()  : KeyValueCollection
Creates and returns a key value collection which represent the global $_POST array.
_getQueryParameter()  : mixed|null
Returns the expected $_GET value by the given key name.
_getQueryParametersCollection()  : KeyValueCollection
Creates and returns a key value collection which represent the global $_GET array.
_getServerData()  : string|null
Returns the expected $_SERVER value by the given key name.
_isAdmin()  : mixed
Check if the customer is the admin.
_render()  : string
Renders and returns a template file.
_validatePageToken()  : mixed
Check if the $_POST['pageToken'] or $_GET['pageToken'] variable is provided and if it's valid.
createErrorResponse()  : JsonHttpControllerResponse
Utility method to create an error response.
createSuccessResponse()  : JsonHttpControllerResponse
Utility method to create a success response.
getOrderId()  : int
Tries to return the order id from the http query.
getTemplateFile()  : ExistingFile
Searches the GXModules directory and admin/html directory for a template file, wich can be useed inside the AdminLayoutHttpControllerResponse object for the template parameter.
isTransmitted()  : bool
Checks if order is already transmitted to afterbuy.
isValidJson()  : bool
isValidRequestMethod()  : bool
prepareJsonInput()  : array<string|int, mixed>
sendToAfterbuy()  : string
Sends the order to afterbuy. Returns a translated success message.
initServices()  : void
Initializes the controller services.
syncTrackingLinks()  : void
Tries to synchronize the Afterbuy tracking code with the given order.

Constants

Properties

Methods

actionDefault()

Default action method.

public actionDefault() : HttpControllerResponseInterface

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.

Return values
HttpControllerResponseInterface

proceed()

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

public proceed(HttpContextInterface $httpContext) : mixed

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.

Parameters
$httpContext : HttpContextInterface

Http context object which hold the request variables.

Tags
throws
LogicException

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

see
HttpContextReaderInterface::getActionName
see
HttpResponseProcessorInterface::proceed
Return values
mixed

_getPostData()

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

protected _getPostData(string $keyName) : string|null

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

Parameters
$keyName : string

Expected key of post parameter.

Return values
string|null

Either the expected value or null, of not found.

_getQueryParameter()

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

protected _getQueryParameter(string $keyName) : mixed|null

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

Parameters
$keyName : string

Expected key of query parameter.

Return values
mixed|null

Either the expected value or null, of not found.

_getServerData()

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

protected _getServerData(string $keyName) : string|null

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

Parameters
$keyName : string

Expected key of server parameter.

Return values
string|null

Either the expected value or null, of not found.

_render()

Renders and returns a template file.

protected _render(string $templateFile, array<string|int, mixed> $contentArray) : string
Parameters
$templateFile : string

Template file to render.

$contentArray : array<string|int, mixed>

Content array which represent the variables of the template.

Return values
string

Rendered template.

_validatePageToken()

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

protected _validatePageToken([string $customExceptionMessage = null ]) : mixed

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

Parameters
$customExceptionMessage : string = null

(optional) You can specify a custom exception message.

Tags
throws
Exception

If the validation fails.

Return values
mixed

getTemplateFile()

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

protected getTemplateFile(string $templateFile) : ExistingFile
Parameters
$templateFile : string

The relative path and filename to search for

Tags
throws
Exception

if the path or file is not found

Return values
ExistingFile

containing absolute file path to the given template file

isValidRequestMethod()

protected isValidRequestMethod(string $method) : bool
Parameters
$method : string
Return values
bool

prepareJsonInput()

protected prepareJsonInput(string $json) : array<string|int, mixed>
Parameters
$json : string
Return values
array<string|int, mixed>

sendToAfterbuy()

Sends the order to afterbuy. Returns a translated success message.

protected sendToAfterbuy(int $orderIdInt, AfterbuyOrderStatus $orderPaidStatus) : string

Only orders with status 'paid' or 'unpaid' are sent to Afterbuy. Unknown order status results in an error.

If the order is paid and was already sent to afterbuy, only the XML-API is used to update the order information, otherwise the whole order is sent to Afterbuy initially.

If the order is unpaid but was not send to Afterbuy, the order will be sent initially.

Parameters
$orderIdInt : int
$orderPaidStatus : AfterbuyOrderStatus
Tags
throws
AfterbuyException
Return values
string

Tries to synchronize the Afterbuy tracking code with the given order.

private syncTrackingLinks(int $orderId) : void
Parameters
$orderId : int
Return values
void

Search results