PluginProbe
MailPoet – Newsletters, Email Marketing, and Automation / 3.89.3
MailPoet – Newsletters, Email Marketing, and Automation v3.89.3
5.38.0 5.37.0 5.36.1 5.36.0 5.35.1 5.35.0 5.34.3 5.34.2 5.34.1 5.34.0 5.33.1 5.33.0 5.32.0 5.31.0 5.30.0 5.29.0 5.28.1 5.28.0 5.27.0 5.26.0 5.26.1 5.25.0 5.24.0 4.43.0 4.43.1 All 542 releases
mailpoet / lib / Subscription / Form.php

Form.php in MailPoet – Newsletters, Email Marketing, and Automation 3.89.3, at lib/Subscription/Form.php

55 lines 1.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace MailPoet\Subscription;
4
5 if (!defined('ABSPATH')) exit;
6
7
8 use MailPoet\API\JSON\API;
9 use MailPoet\API\JSON\Endpoint;
10 use MailPoet\API\JSON\Response as APIResponse;
11 use MailPoet\Util\Url as UrlHelper;
12
13 class Form {
14
15 /** @var API */
16 private $api;
17
18 /** @var UrlHelper */
19 private $urlHelper;
20
21 public function __construct(
22 API $api,
23 UrlHelper $urlHelper
24 ) {
25 $this->api = $api;
26 $this->urlHelper = $urlHelper;
27 }
28
29 public function onSubmit($requestData = false) {
30 $requestData = ($requestData) ? $requestData : $_REQUEST;
31 $this->api->setRequestData($requestData, Endpoint::TYPE_POST);
32 $formId = (!empty($requestData['data']['form_id'])) ? (int)$requestData['data']['form_id'] : false;
33 $response = $this->api->processRoute();
34 if ($response->status !== APIResponse::STATUS_OK) {
35 return (isset($response->meta['redirect_url'])) ?
36 $this->urlHelper->redirectTo($response->meta['redirect_url']) :
37 $this->urlHelper->redirectBack(
38 [
39 'mailpoet_error' => ($formId) ? $formId : true,
40 'mailpoet_success' => null,
41 ]
42 );
43 } else {
44 return (isset($response->meta['redirect_url'])) ?
45 $this->urlHelper->redirectTo($response->meta['redirect_url']) :
46 $this->urlHelper->redirectBack(
47 [
48 'mailpoet_success' => $formId,
49 'mailpoet_error' => null,
50 ]
51 );
52 }
53 }
54 }
55