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.
package
|
HttpViewControllers
|
Methods
__construct
__construct(\HttpContextReaderInterface $httpContextReader, \HttpResponseProcessorInterface $httpResponseProcessor, \ContentViewInterface $defaultContentView)
inherited
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.
_findCountryByID
_findCountryByID( $country_id)
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
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.
determines if a payment module is currently installed.
_isValidPayment( $paymentCode) : boolean
Caveat: This only works for modules where the filename (plus '.php') is identical with the module code.
Arguments
Response
boolean
true if module is installed
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.
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.
dummy action for the bank transaction pending URL.
actionBankTxnPending()
The flow that used to require this has recently been deprecated by PayPal.
invalidates session data when the user cancels an ECS login
actionCancelECS()
sets the ECS shopping cart flag to true.
actionCartECS()
The flag is used in ECSButton.js as an indication that the customer is to be redirected to PayPal for an ECS
login. This is required for the ECS button on products pages to work as intended.
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
returns content for installments options popup
actionInstallmentOptions()
called by a CheckoutSuccessExtender to end an ECS guest session
actionLogoffECSCustomer()
Endpoint for paylink processing.
actionPaylink()
Paylinks created from the order details page are directed at this action. If the paycode hash is valid
a payment will be created and the customer redirected to PayPal to approve the payment.
action used in return URLs for the paylink feature.
actionPaylinkReturn()
Takes the PayerID from the query parameters and executes the payment created by actionPaylink(),
then displays a quick thank you note.
creates a PayPal payment for the ECS flow and redirects the customer to the ECS login page.
actionPrepareECS()
called as the return URL when a customer returns from an ECS login.
actionReturnFromECS()
If the customer is not logged in, a guest account will be created from data provided by PayPal.
called by the third party payments integration in PayPal Plus, this action simply sets one of the supported
payment methods as the selected method and invalidates the PayPal payment which has been created for the
paywall.
actionSetPayment()
This action can be called from a cronjob to update orders still in pending state.
actionStatusUpdate()
Supposed to be used as a replacement for Webhooks in cases where the shop is inaccessible for PayPal,
e.g. due to missing TLS accessibility.
called by PayPal to deliver Webhook notifications.
actionWebhook()
Any incoming notification will be recorded in the order status history of the corresponding order.
If the HMAC signature check fails, a warning will be added.
Notifications of type PAYMENT.SALE.COMPLETED cause the order to be transferred to the status for completed
orders.
getCustomerByEmail
getCustomerByEmail( $email_address)
getCustomerCountryIdByIso2
getCustomerCountryIdByIso2( $iso2)
determines LocaleCode from session data
getLocale()
returns a QueryBuilder instance for database access.
getQueryBuilder() : \CI_DB_query_builder
Response
\CI_DB_query_builder
Returns a database driver that can be used for db operations.
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
loginCustomer
loginCustomer(\Customer $customer)
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
|
\HttpContextReaderInterface::getActionName
\HttpResponseProcessorInterface::proceed
|
|
|
Throws |
- \LogicException
When no action method is found by the http context reader.
|
Arguments
Heuristically splits up a street address into its component street name and house number
splitStreet( $street_address) : array
Arguments
Response
array
with keys 'street' and 'house_no'
Properties
Helper for language-specific texts
paypalText : \PayPalText
var
|
Helper for language-specific texts
|
Type(s)
\PayPalText
configurationStorage
configurationStorage : \PayPalConfigurationStorage
Type(s)
\PayPalConfigurationStorage
logger
logger : \PayPalLogger
httpContextReader
httpContextReader : \HttpContextReaderInterface
inherited
httpResponseProcessor
httpResponseProcessor : \HttpResponseProcessorInterface
inherited
contentView
contentView : \ContentViewInterface
inherited
queryParametersArray
queryParametersArray : array
inherited
postDataArray
postDataArray : array
inherited
Contain the assets needed to be included in the view HTML.
assets : \AssetCollectionInterface
inherited
Server data.
serverDataArray : array
inherited