Completed
Branch FET/extract-activation-detecti... (285969)
by
unknown
05:45 queued 03:21
created
admin/extend/general_settings/Extend_General_Settings_Admin_Page.core.php 2 patches
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -21,14 +21,14 @@  discard block
 block discarded – undo
21 21
     public function __construct($routing = true)
22 22
     {
23 23
         parent::__construct($routing);
24
-        define('GEN_SET_CAF_TEMPLATE_PATH', EE_CORE_CAF_ADMIN_EXTEND . 'general_settings/templates/');
24
+        define('GEN_SET_CAF_TEMPLATE_PATH', EE_CORE_CAF_ADMIN_EXTEND.'general_settings/templates/');
25 25
     }
26 26
 
27 27
 
28 28
     protected function _extend_page_config()
29 29
     {
30 30
 
31
-        $this->_admin_base_path = EE_CORE_CAF_ADMIN_EXTEND . 'general_settings';
31
+        $this->_admin_base_path = EE_CORE_CAF_ADMIN_EXTEND.'general_settings';
32 32
 
33 33
         // filters and action hooks here
34 34
         add_action('AHEE__admin_option_settings__template__before', array($this, 'debug_logging_options'), 9);
@@ -60,7 +60,7 @@  discard block
 block discarded – undo
60 60
         $template_args['remote_logging_url'] = isset(EE_Registry::instance()->CFG->admin->remote_logging_url)
61 61
                                                && ! empty(EE_Registry::instance()->CFG->admin->remote_logging_url)
62 62
             ? stripslashes(EE_Registry::instance()->CFG->admin->remote_logging_url) : '';
63
-        $template = GEN_SET_CAF_TEMPLATE_PATH . 'debug_log_settings.template.php';
63
+        $template = GEN_SET_CAF_TEMPLATE_PATH.'debug_log_settings.template.php';
64 64
         EEH_Template::display_template($template, $template_args);
65 65
     }
66 66
 
Please login to merge, or discard this patch.
Indentation   +53 added lines, -53 removed lines patch added patch discarded remove patch
@@ -16,68 +16,68 @@
 block discarded – undo
16 16
  */
17 17
 class Extend_General_Settings_Admin_Page extends General_Settings_Admin_Page
18 18
 {
19
-    public function __construct($routing = true)
20
-    {
21
-        parent::__construct($routing);
22
-        define('GEN_SET_CAF_TEMPLATE_PATH', EE_CORE_CAF_ADMIN_EXTEND . 'general_settings/templates/');
23
-    }
19
+	public function __construct($routing = true)
20
+	{
21
+		parent::__construct($routing);
22
+		define('GEN_SET_CAF_TEMPLATE_PATH', EE_CORE_CAF_ADMIN_EXTEND . 'general_settings/templates/');
23
+	}
24 24
 
25 25
 
26
-    protected function _extend_page_config()
27
-    {
26
+	protected function _extend_page_config()
27
+	{
28 28
 
29
-        $this->_admin_base_path = EE_CORE_CAF_ADMIN_EXTEND . 'general_settings';
29
+		$this->_admin_base_path = EE_CORE_CAF_ADMIN_EXTEND . 'general_settings';
30 30
 
31
-        // filters and action hooks here
32
-        add_action('AHEE__admin_option_settings__template__before', array($this, 'debug_logging_options'), 9);
33
-        add_filter(
34
-            'FHEE__General_Settings_Admin_Page___update_admin_option_settings__CFG_admin',
35
-            array($this, 'update_debug_logging_options'),
36
-            10,
37
-            1
38
-        );
39
-    }
31
+		// filters and action hooks here
32
+		add_action('AHEE__admin_option_settings__template__before', array($this, 'debug_logging_options'), 9);
33
+		add_filter(
34
+			'FHEE__General_Settings_Admin_Page___update_admin_option_settings__CFG_admin',
35
+			array($this, 'update_debug_logging_options'),
36
+			10,
37
+			1
38
+		);
39
+	}
40 40
 
41 41
 
42 42
 
43
-    /*************        Logging Settings        *************/
43
+	/*************        Logging Settings        *************/
44 44
 
45
-    /**
46
-     * debug_logging_options
47
-     *
48
-     * @param array $template_args
49
-     *
50
-     * @return void
51
-     */
52
-    public function debug_logging_options($template_args = array())
53
-    {
54
-        $template_args['use_remote_logging'] = isset(EE_Registry::instance()->CFG->admin->use_remote_logging) ? absint(
55
-            EE_Registry::instance()->CFG->admin->use_remote_logging
56
-        ) : false;
57
-        $template_args['remote_logging_url'] = isset(EE_Registry::instance()->CFG->admin->remote_logging_url)
58
-                                               && ! empty(EE_Registry::instance()->CFG->admin->remote_logging_url)
59
-            ? stripslashes(EE_Registry::instance()->CFG->admin->remote_logging_url) : '';
60
-        $template = GEN_SET_CAF_TEMPLATE_PATH . 'debug_log_settings.template.php';
61
-        EEH_Template::display_template($template, $template_args);
62
-    }
45
+	/**
46
+	 * debug_logging_options
47
+	 *
48
+	 * @param array $template_args
49
+	 *
50
+	 * @return void
51
+	 */
52
+	public function debug_logging_options($template_args = array())
53
+	{
54
+		$template_args['use_remote_logging'] = isset(EE_Registry::instance()->CFG->admin->use_remote_logging) ? absint(
55
+			EE_Registry::instance()->CFG->admin->use_remote_logging
56
+		) : false;
57
+		$template_args['remote_logging_url'] = isset(EE_Registry::instance()->CFG->admin->remote_logging_url)
58
+											   && ! empty(EE_Registry::instance()->CFG->admin->remote_logging_url)
59
+			? stripslashes(EE_Registry::instance()->CFG->admin->remote_logging_url) : '';
60
+		$template = GEN_SET_CAF_TEMPLATE_PATH . 'debug_log_settings.template.php';
61
+		EEH_Template::display_template($template, $template_args);
62
+	}
63 63
 
64 64
 
65
-    /**
66
-     * update_debug_logging_options
67
-     *
68
-     * @param array $admin_options
69
-     *
70
-     * @return array
71
-     */
72
-    public function update_debug_logging_options($admin_options = array())
73
-    {
74
-        $admin_options->use_remote_logging = isset($this->_req_data['use_remote_logging']) ? absint(
75
-            $this->_req_data['use_remote_logging']
76
-        ) : $admin_options->use_remote_logging;
77
-        $admin_options->remote_logging_url = isset($this->_req_data['remote_logging_url']) ? esc_url_raw(
78
-            $this->_req_data['remote_logging_url']
79
-        ) : $admin_options->remote_logging_url;
65
+	/**
66
+	 * update_debug_logging_options
67
+	 *
68
+	 * @param array $admin_options
69
+	 *
70
+	 * @return array
71
+	 */
72
+	public function update_debug_logging_options($admin_options = array())
73
+	{
74
+		$admin_options->use_remote_logging = isset($this->_req_data['use_remote_logging']) ? absint(
75
+			$this->_req_data['use_remote_logging']
76
+		) : $admin_options->use_remote_logging;
77
+		$admin_options->remote_logging_url = isset($this->_req_data['remote_logging_url']) ? esc_url_raw(
78
+			$this->_req_data['remote_logging_url']
79
+		) : $admin_options->remote_logging_url;
80 80
 
81
-        return $admin_options;
82
-    }
81
+		return $admin_options;
82
+	}
83 83
 }
Please login to merge, or discard this patch.
caffeinated/admin/extend/events/qtips/EE_Event_Editor_Tips.lib.php 2 patches
Spacing   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -71,7 +71,7 @@  discard block
 block discarded – undo
71 71
             ),
72 72
             7  => array(
73 73
                 'content_id' => 'tkt-status-archived',
74
-                'target'     => '.ticket-row .tkt-status-' . EE_Ticket::archived,
74
+                'target'     => '.ticket-row .tkt-status-'.EE_Ticket::archived,
75 75
                 'content'    => $this->_ticket_status_legend(EE_Ticket::archived),
76 76
                 'options'    => array(
77 77
                     'position' => array(
@@ -84,7 +84,7 @@  discard block
 block discarded – undo
84 84
             ),
85 85
             8  => array(
86 86
                 'content_id' => 'tkt-status-expired',
87
-                'target'     => '.ticket-row .tkt-status-' . EE_Ticket::expired,
87
+                'target'     => '.ticket-row .tkt-status-'.EE_Ticket::expired,
88 88
                 'content'    => $this->_ticket_status_legend(EE_Ticket::expired),
89 89
                 'options'    => array(
90 90
                     'position' => array(
@@ -97,7 +97,7 @@  discard block
 block discarded – undo
97 97
             ),
98 98
             9  => array(
99 99
                 'content_id' => 'tkt-status-sold_out',
100
-                'target'     => '.ticket-row .tkt-status-' . EE_Ticket::sold_out,
100
+                'target'     => '.ticket-row .tkt-status-'.EE_Ticket::sold_out,
101 101
                 'content'    => $this->_ticket_status_legend(EE_Ticket::sold_out),
102 102
                 'options'    => array(
103 103
                     'position' => array(
@@ -110,7 +110,7 @@  discard block
 block discarded – undo
110 110
             ),
111 111
             10 => array(
112 112
                 'content_id' => 'tkt-status-pending',
113
-                'target'     => '.ticket-row .tkt-status-' . EE_Ticket::pending,
113
+                'target'     => '.ticket-row .tkt-status-'.EE_Ticket::pending,
114 114
                 'content'    => $this->_ticket_status_legend(EE_Ticket::pending),
115 115
                 'options'    => array(
116 116
                     'position' => array(
@@ -123,7 +123,7 @@  discard block
 block discarded – undo
123 123
             ),
124 124
             11 => array(
125 125
                 'content_id' => 'tkt-status-onsale',
126
-                'target'     => '.ticket-row .tkt-status-' . EE_Ticket::onsale,
126
+                'target'     => '.ticket-row .tkt-status-'.EE_Ticket::onsale,
127 127
                 'content'    => $this->_ticket_status_legend(EE_Ticket::onsale),
128 128
                 'options'    => array(
129 129
                     'position' => array(
@@ -173,12 +173,12 @@  discard block
 block discarded – undo
173 173
                        'Clicking the taxable ticket toggle checkbox has enabled taxes for this ticket. What this means is that when a person purchases this ticket, the tax will be applied to all prices on this ticket. You can edit the existing tax price modifier that was setup in Event Espresso by going to  %sDefault Pricing Admin Page%s (labelled "Pricing" in the Event Espresso Menu)',
174 174
                        'event_espresso'
175 175
                    ),
176
-                   '<a href="' . $price_admin_link . '" title="' . esc_attr__(
176
+                   '<a href="'.$price_admin_link.'" title="'.esc_attr__(
177 177
                        'Pricing Admin Page',
178 178
                        'event_espresso'
179
-                   ) . '">',
179
+                   ).'">',
180 180
                    '</a>'
181
-               ) . '</p>';
181
+               ).'</p>';
182 182
     }
183 183
 
184 184
     /**
Please login to merge, or discard this patch.
Indentation   +180 added lines, -180 removed lines patch added patch discarded remove patch
@@ -13,189 +13,189 @@
 block discarded – undo
13 13
  */
14 14
 class EE_Event_Editor_Tips extends EE_Qtip_Config
15 15
 {
16
-    protected function _set_tips_array()
17
-    {
18
-        $this->_qtipsa = array(
19
-            0  => array(
20
-                'content_id' => 'about-taxable-toggle',
21
-                'target'     => '.TKT-taxable-checkbox',
22
-                'content'    => $this->_get_taxable_info_content(),
23
-                'options'    => array(
24
-                    'show_only_once' => true,
25
-                    'content'        => array(
26
-                        'title' => esc_html__('Taxable Ticket Toggle', 'event_espresso'),
27
-                        'button' => true,
28
-                    ),
29
-                    'show'           => array(
30
-                        'event' => 'click',
31
-                    ),
32
-                    'hide'           => array(
33
-                        'event' => false,
34
-                    ),
35
-                    'style'          => array(
36
-                        'classes' => '',
37
-                    ),
38
-                )// defaults
39
-            ),
40
-            1  => array(
41
-                'content_id' => 'ticket-icon-help',
42
-                'target'     => '.ticket-icon',
43
-                'content'    => esc_html__('Assigned Tickets', 'event_espresso'),
44
-            ),
45
-            2  => array(
46
-                'content_id' => 'clone-icon-help',
47
-                'target'     => '.clone-icon',
48
-                'content'    => esc_html__('Duplicate this Item', 'event_espresso'),
49
-            ),
50
-            3  => array(
51
-                'content_id' => 'trash-datetime-help',
52
-                'target'     => '.datetime-edit-table .trash-icon',
53
-                'content'    => esc_html__('Trash Datetime', 'event_espresso'),
54
-            ),
55
-            4  => array(
56
-                'content_id' => 'trash-ticket-help',
57
-                'target'     => '.ticket-row .trash-icon',
58
-                'content'    => esc_html__('Trash Ticket', 'event_espresso'),
59
-            ),
60
-            5  => array(
61
-                'content_id' => 'trash-price-modifier-help',
62
-                'target'     => '.ticket-price-rows .trash-icon',
63
-                'content'    => esc_html__('Trash Price Modifier', 'event_espresso'),
64
-            ),
65
-            6  => array(
66
-                'content_id' => 'gear-icon-help',
67
-                'target'     => '.gear-icon',
68
-                'content'    => esc_html__('Advanced Settings', 'event_espresso'),
69
-            ),
70
-            7  => array(
71
-                'content_id' => 'tkt-status-archived',
72
-                'target'     => '.ticket-row .tkt-status-' . EE_Ticket::archived,
73
-                'content'    => $this->_ticket_status_legend(EE_Ticket::archived),
74
-                'options'    => array(
75
-                    'position' => array(
76
-                        'target' => 'mouse',
77
-                        'adjust' => array(
78
-                            'mouse' => false,
79
-                        ),
80
-                    ),
81
-                ),
82
-            ),
83
-            8  => array(
84
-                'content_id' => 'tkt-status-expired',
85
-                'target'     => '.ticket-row .tkt-status-' . EE_Ticket::expired,
86
-                'content'    => $this->_ticket_status_legend(EE_Ticket::expired),
87
-                'options'    => array(
88
-                    'position' => array(
89
-                        'target' => 'mouse',
90
-                        'adjust' => array(
91
-                            'mouse' => false,
92
-                        ),
93
-                    ),
94
-                ),
95
-            ),
96
-            9  => array(
97
-                'content_id' => 'tkt-status-sold_out',
98
-                'target'     => '.ticket-row .tkt-status-' . EE_Ticket::sold_out,
99
-                'content'    => $this->_ticket_status_legend(EE_Ticket::sold_out),
100
-                'options'    => array(
101
-                    'position' => array(
102
-                        'target' => 'mouse',
103
-                        'adjust' => array(
104
-                            'mouse' => false,
105
-                        ),
106
-                    ),
107
-                ),
108
-            ),
109
-            10 => array(
110
-                'content_id' => 'tkt-status-pending',
111
-                'target'     => '.ticket-row .tkt-status-' . EE_Ticket::pending,
112
-                'content'    => $this->_ticket_status_legend(EE_Ticket::pending),
113
-                'options'    => array(
114
-                    'position' => array(
115
-                        'target' => 'mouse',
116
-                        'adjust' => array(
117
-                            'mouse' => false,
118
-                        ),
119
-                    ),
120
-                ),
121
-            ),
122
-            11 => array(
123
-                'content_id' => 'tkt-status-onsale',
124
-                'target'     => '.ticket-row .tkt-status-' . EE_Ticket::onsale,
125
-                'content'    => $this->_ticket_status_legend(EE_Ticket::onsale),
126
-                'options'    => array(
127
-                    'position' => array(
128
-                        'target' => 'mouse',
129
-                        'adjust' => array(
130
-                            'mouse' => false,
131
-                        ),
132
-                    ),
133
-                ),
134
-            ),
135
-            12 => array(
136
-                'content_id' => 'sortable-tkt-drag-handle-tip',
137
-                'target'     => '.ee-ticket-sortable .sortable-drag-handle',
138
-                'content'    => esc_html__('Click and drag-n-drop to reorder tickets.', 'event_espresso'),
139
-                'options'    => array(
140
-                    'position' => array(
141
-                        'adjust' => array(
142
-                            'mouse' => false,
143
-                            'y'     => 5,
144
-                        ),
145
-                    ),
146
-                ),
147
-            ),
148
-            13 => array(
149
-                'content_id' => 'sortable-dtt-drag-handle-tip',
150
-                'target'     => '.ee-dtt-sortable .sortable-drag-handle',
151
-                'content'    => esc_html__('Click and drag-n-drop to reorder datetimes.', 'event_espresso'),
152
-                'options'    => array(
153
-                    'position' => array(
154
-                        'adjust' => array(
155
-                            'mouse' => false,
156
-                            'y'     => 5,
157
-                        ),
158
-                    ),
159
-                ),
160
-            ),
161
-        );
162
-    }
16
+	protected function _set_tips_array()
17
+	{
18
+		$this->_qtipsa = array(
19
+			0  => array(
20
+				'content_id' => 'about-taxable-toggle',
21
+				'target'     => '.TKT-taxable-checkbox',
22
+				'content'    => $this->_get_taxable_info_content(),
23
+				'options'    => array(
24
+					'show_only_once' => true,
25
+					'content'        => array(
26
+						'title' => esc_html__('Taxable Ticket Toggle', 'event_espresso'),
27
+						'button' => true,
28
+					),
29
+					'show'           => array(
30
+						'event' => 'click',
31
+					),
32
+					'hide'           => array(
33
+						'event' => false,
34
+					),
35
+					'style'          => array(
36
+						'classes' => '',
37
+					),
38
+				)// defaults
39
+			),
40
+			1  => array(
41
+				'content_id' => 'ticket-icon-help',
42
+				'target'     => '.ticket-icon',
43
+				'content'    => esc_html__('Assigned Tickets', 'event_espresso'),
44
+			),
45
+			2  => array(
46
+				'content_id' => 'clone-icon-help',
47
+				'target'     => '.clone-icon',
48
+				'content'    => esc_html__('Duplicate this Item', 'event_espresso'),
49
+			),
50
+			3  => array(
51
+				'content_id' => 'trash-datetime-help',
52
+				'target'     => '.datetime-edit-table .trash-icon',
53
+				'content'    => esc_html__('Trash Datetime', 'event_espresso'),
54
+			),
55
+			4  => array(
56
+				'content_id' => 'trash-ticket-help',
57
+				'target'     => '.ticket-row .trash-icon',
58
+				'content'    => esc_html__('Trash Ticket', 'event_espresso'),
59
+			),
60
+			5  => array(
61
+				'content_id' => 'trash-price-modifier-help',
62
+				'target'     => '.ticket-price-rows .trash-icon',
63
+				'content'    => esc_html__('Trash Price Modifier', 'event_espresso'),
64
+			),
65
+			6  => array(
66
+				'content_id' => 'gear-icon-help',
67
+				'target'     => '.gear-icon',
68
+				'content'    => esc_html__('Advanced Settings', 'event_espresso'),
69
+			),
70
+			7  => array(
71
+				'content_id' => 'tkt-status-archived',
72
+				'target'     => '.ticket-row .tkt-status-' . EE_Ticket::archived,
73
+				'content'    => $this->_ticket_status_legend(EE_Ticket::archived),
74
+				'options'    => array(
75
+					'position' => array(
76
+						'target' => 'mouse',
77
+						'adjust' => array(
78
+							'mouse' => false,
79
+						),
80
+					),
81
+				),
82
+			),
83
+			8  => array(
84
+				'content_id' => 'tkt-status-expired',
85
+				'target'     => '.ticket-row .tkt-status-' . EE_Ticket::expired,
86
+				'content'    => $this->_ticket_status_legend(EE_Ticket::expired),
87
+				'options'    => array(
88
+					'position' => array(
89
+						'target' => 'mouse',
90
+						'adjust' => array(
91
+							'mouse' => false,
92
+						),
93
+					),
94
+				),
95
+			),
96
+			9  => array(
97
+				'content_id' => 'tkt-status-sold_out',
98
+				'target'     => '.ticket-row .tkt-status-' . EE_Ticket::sold_out,
99
+				'content'    => $this->_ticket_status_legend(EE_Ticket::sold_out),
100
+				'options'    => array(
101
+					'position' => array(
102
+						'target' => 'mouse',
103
+						'adjust' => array(
104
+							'mouse' => false,
105
+						),
106
+					),
107
+				),
108
+			),
109
+			10 => array(
110
+				'content_id' => 'tkt-status-pending',
111
+				'target'     => '.ticket-row .tkt-status-' . EE_Ticket::pending,
112
+				'content'    => $this->_ticket_status_legend(EE_Ticket::pending),
113
+				'options'    => array(
114
+					'position' => array(
115
+						'target' => 'mouse',
116
+						'adjust' => array(
117
+							'mouse' => false,
118
+						),
119
+					),
120
+				),
121
+			),
122
+			11 => array(
123
+				'content_id' => 'tkt-status-onsale',
124
+				'target'     => '.ticket-row .tkt-status-' . EE_Ticket::onsale,
125
+				'content'    => $this->_ticket_status_legend(EE_Ticket::onsale),
126
+				'options'    => array(
127
+					'position' => array(
128
+						'target' => 'mouse',
129
+						'adjust' => array(
130
+							'mouse' => false,
131
+						),
132
+					),
133
+				),
134
+			),
135
+			12 => array(
136
+				'content_id' => 'sortable-tkt-drag-handle-tip',
137
+				'target'     => '.ee-ticket-sortable .sortable-drag-handle',
138
+				'content'    => esc_html__('Click and drag-n-drop to reorder tickets.', 'event_espresso'),
139
+				'options'    => array(
140
+					'position' => array(
141
+						'adjust' => array(
142
+							'mouse' => false,
143
+							'y'     => 5,
144
+						),
145
+					),
146
+				),
147
+			),
148
+			13 => array(
149
+				'content_id' => 'sortable-dtt-drag-handle-tip',
150
+				'target'     => '.ee-dtt-sortable .sortable-drag-handle',
151
+				'content'    => esc_html__('Click and drag-n-drop to reorder datetimes.', 'event_espresso'),
152
+				'options'    => array(
153
+					'position' => array(
154
+						'adjust' => array(
155
+							'mouse' => false,
156
+							'y'     => 5,
157
+						),
158
+					),
159
+				),
160
+			),
161
+		);
162
+	}
163 163
 
164 164
 
165
-    private function _get_taxable_info_content()
166
-    {
167
-        $price_admin_link = EE_Admin_Page::add_query_args_and_nonce(array('action' => 'default'), PRICING_ADMIN_URL);
168
-        return '<p>'
169
-               . sprintf(
170
-                   esc_html__(
171
-                       'Clicking the taxable ticket toggle checkbox has enabled taxes for this ticket. What this means is that when a person purchases this ticket, the tax will be applied to all prices on this ticket. You can edit the existing tax price modifier that was setup in Event Espresso by going to  %sDefault Pricing Admin Page%s (labelled "Pricing" in the Event Espresso Menu)',
172
-                       'event_espresso'
173
-                   ),
174
-                   '<a href="' . $price_admin_link . '" title="' . esc_attr__(
175
-                       'Pricing Admin Page',
176
-                       'event_espresso'
177
-                   ) . '">',
178
-                   '</a>'
179
-               ) . '</p>';
180
-    }
165
+	private function _get_taxable_info_content()
166
+	{
167
+		$price_admin_link = EE_Admin_Page::add_query_args_and_nonce(array('action' => 'default'), PRICING_ADMIN_URL);
168
+		return '<p>'
169
+			   . sprintf(
170
+				   esc_html__(
171
+					   'Clicking the taxable ticket toggle checkbox has enabled taxes for this ticket. What this means is that when a person purchases this ticket, the tax will be applied to all prices on this ticket. You can edit the existing tax price modifier that was setup in Event Espresso by going to  %sDefault Pricing Admin Page%s (labelled "Pricing" in the Event Espresso Menu)',
172
+					   'event_espresso'
173
+				   ),
174
+				   '<a href="' . $price_admin_link . '" title="' . esc_attr__(
175
+					   'Pricing Admin Page',
176
+					   'event_espresso'
177
+				   ) . '">',
178
+				   '</a>'
179
+			   ) . '</p>';
180
+	}
181 181
 
182
-    /**
183
-     * output the relevant ee-status-legend with the designated status highlighted.
184
-     *
185
-     * @param  EE_Ticket constant $status What status is set (by class)
186
-     * @return string         The status legend with the related status highlighted
187
-     */
188
-    private function _ticket_status_legend($status)
189
-    {
182
+	/**
183
+	 * output the relevant ee-status-legend with the designated status highlighted.
184
+	 *
185
+	 * @param  EE_Ticket constant $status What status is set (by class)
186
+	 * @return string         The status legend with the related status highlighted
187
+	 */
188
+	private function _ticket_status_legend($status)
189
+	{
190 190
 
191
-        $status_array = array(
192
-            'archived' => EE_Ticket::archived,
193
-            'expired'  => EE_Ticket::expired,
194
-            'sold_out' => EE_Ticket::sold_out,
195
-            'pending'  => EE_Ticket::pending,
196
-            'onsale'   => EE_Ticket::onsale,
197
-        );
191
+		$status_array = array(
192
+			'archived' => EE_Ticket::archived,
193
+			'expired'  => EE_Ticket::expired,
194
+			'sold_out' => EE_Ticket::sold_out,
195
+			'pending'  => EE_Ticket::pending,
196
+			'onsale'   => EE_Ticket::onsale,
197
+		);
198 198
 
199
-        return EEH_Template::status_legend($status_array, $status);
200
-    }
199
+		return EEH_Template::status_legend($status_array, $status);
200
+	}
201 201
 }
Please login to merge, or discard this patch.
message_type/newsletter/EE_Messages_Email_Newsletter_Validator.class.php 2 patches
Indentation   +65 added lines, -65 removed lines patch added patch discarded remove patch
@@ -11,72 +11,72 @@
 block discarded – undo
11 11
  */
12 12
 class EE_Messages_Email_Newsletter_Validator extends EE_Messages_Validator
13 13
 {
14
-    /**
15
-     * EE_Messages_Email_Newsletter_Validator constructor.
16
-     *
17
-     * @param array $fields
18
-     * @param string $context
19
-     * @throws EE_Error
20
-     * @throws ReflectionException
21
-     */
22
-    public function __construct(array $fields, $context)
23
-    {
24
-        $this->_m_name = 'email';
25
-        $this->_mt_name = 'newsletter';
14
+	/**
15
+	 * EE_Messages_Email_Newsletter_Validator constructor.
16
+	 *
17
+	 * @param array $fields
18
+	 * @param string $context
19
+	 * @throws EE_Error
20
+	 * @throws ReflectionException
21
+	 */
22
+	public function __construct(array $fields, $context)
23
+	{
24
+		$this->_m_name = 'email';
25
+		$this->_mt_name = 'newsletter';
26 26
 
27
-        parent::__construct($fields, $context);
28
-    }
27
+		parent::__construct($fields, $context);
28
+	}
29 29
 
30
-    /**
31
-     * custom validator (restricting what was originally set by the messenger)
32
-     */
33
-    protected function _modify_validator()
34
-    {
35
-        if ($this->_context === 'attendee') {
36
-            $this->_valid_shortcodes_modifier[ $this->_context ]['from'] = array(
37
-                'recipient_details',
38
-                'email',
39
-                'organization',
40
-            );
41
-        }
30
+	/**
31
+	 * custom validator (restricting what was originally set by the messenger)
32
+	 */
33
+	protected function _modify_validator()
34
+	{
35
+		if ($this->_context === 'attendee') {
36
+			$this->_valid_shortcodes_modifier[ $this->_context ]['from'] = array(
37
+				'recipient_details',
38
+				'email',
39
+				'organization',
40
+			);
41
+		}
42 42
 
43
-        // excluded shortcodes
44
-        $fields = array('to', 'from', 'subject', 'content', 'newsletter_content');
45
-        foreach ($fields as $field) {
46
-            $this->_specific_shortcode_excludes[ $field ] = array(
47
-                '[RECIPIENT_REGISTRATION_CODE]',
48
-                '[EVENT_AUTHOR_FORMATTED_EMAIL]',
49
-                '[EVENT_AUTHOR_EMAIL]',
50
-            );
51
-        }
52
-        $add_excludes = array(
53
-            '[RECIPIENT_FNAME]',
54
-            '[RECIPIENT_LNAME]',
55
-            '[RECIPIENT_EMAIL]',
56
-            '[COMPANY]',
57
-            '[CO_ADD1]',
58
-            '[CO_ADD2]',
59
-            '[CO_CITY]',
60
-            '[CO_STATE]',
61
-            '[CO_ZIP]',
62
-            '[CO_LOGO]',
63
-            '[CO_PHONE]',
64
-            '[CO_LOGO_URL]',
65
-            '[CO_FACEBOOK_URL]',
66
-            '[CO_TWITTER_URL]',
67
-            '[CO_PINTEREST_URL]',
68
-            '[CO_GOOGLE_URL]',
69
-            '[CO_LINKEDIN_URL]',
70
-            '[CO_INSTAGRAM_URL]',
71
-        );
72
-        $this->_specific_shortcode_excludes['from'] =
73
-            array_merge(
74
-                $this->_specific_shortcode_excludes['from'],
75
-                $add_excludes
76
-            );
77
-        $this->_specific_shortcode_excludes['content'] = array_merge(
78
-            $this->_specific_shortcode_excludes['content'],
79
-            array('[DISPLAY_PDF_URL]', '[DISPLAY_PDF_BUTTON]')
80
-        );
81
-    }
43
+		// excluded shortcodes
44
+		$fields = array('to', 'from', 'subject', 'content', 'newsletter_content');
45
+		foreach ($fields as $field) {
46
+			$this->_specific_shortcode_excludes[ $field ] = array(
47
+				'[RECIPIENT_REGISTRATION_CODE]',
48
+				'[EVENT_AUTHOR_FORMATTED_EMAIL]',
49
+				'[EVENT_AUTHOR_EMAIL]',
50
+			);
51
+		}
52
+		$add_excludes = array(
53
+			'[RECIPIENT_FNAME]',
54
+			'[RECIPIENT_LNAME]',
55
+			'[RECIPIENT_EMAIL]',
56
+			'[COMPANY]',
57
+			'[CO_ADD1]',
58
+			'[CO_ADD2]',
59
+			'[CO_CITY]',
60
+			'[CO_STATE]',
61
+			'[CO_ZIP]',
62
+			'[CO_LOGO]',
63
+			'[CO_PHONE]',
64
+			'[CO_LOGO_URL]',
65
+			'[CO_FACEBOOK_URL]',
66
+			'[CO_TWITTER_URL]',
67
+			'[CO_PINTEREST_URL]',
68
+			'[CO_GOOGLE_URL]',
69
+			'[CO_LINKEDIN_URL]',
70
+			'[CO_INSTAGRAM_URL]',
71
+		);
72
+		$this->_specific_shortcode_excludes['from'] =
73
+			array_merge(
74
+				$this->_specific_shortcode_excludes['from'],
75
+				$add_excludes
76
+			);
77
+		$this->_specific_shortcode_excludes['content'] = array_merge(
78
+			$this->_specific_shortcode_excludes['content'],
79
+			array('[DISPLAY_PDF_URL]', '[DISPLAY_PDF_BUTTON]')
80
+		);
81
+	}
82 82
 }
Please login to merge, or discard this patch.
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -33,7 +33,7 @@  discard block
 block discarded – undo
33 33
     protected function _modify_validator()
34 34
     {
35 35
         if ($this->_context === 'attendee') {
36
-            $this->_valid_shortcodes_modifier[ $this->_context ]['from'] = array(
36
+            $this->_valid_shortcodes_modifier[$this->_context]['from'] = array(
37 37
                 'recipient_details',
38 38
                 'email',
39 39
                 'organization',
@@ -43,7 +43,7 @@  discard block
 block discarded – undo
43 43
         // excluded shortcodes
44 44
         $fields = array('to', 'from', 'subject', 'content', 'newsletter_content');
45 45
         foreach ($fields as $field) {
46
-            $this->_specific_shortcode_excludes[ $field ] = array(
46
+            $this->_specific_shortcode_excludes[$field] = array(
47 47
                 '[RECIPIENT_REGISTRATION_CODE]',
48 48
                 '[EVENT_AUTHOR_FORMATTED_EMAIL]',
49 49
                 '[EVENT_AUTHOR_EMAIL]',
Please login to merge, or discard this patch.
messages/message_type/newsletter/EE_Newsletter_message_type.class.php 2 patches
Spacing   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -114,11 +114,11 @@  discard block
 block discarded – undo
114 114
 
115 115
         foreach ($this->_valid_shortcodes as $context => $shortcodes) {
116 116
             foreach ($shortcodes as $key => $shortcode) {
117
-                if (! in_array($shortcode, $included_shortcodes, true)) {
118
-                    unset($this->_valid_shortcodes[ $context ][ $key ]);
117
+                if ( ! in_array($shortcode, $included_shortcodes, true)) {
118
+                    unset($this->_valid_shortcodes[$context][$key]);
119 119
                 }
120 120
             }
121
-            $this->_valid_shortcodes[ $context ][] = 'newsletter';
121
+            $this->_valid_shortcodes[$context][] = 'newsletter';
122 122
         }
123 123
     }
124 124
 
@@ -148,23 +148,23 @@  discard block
 block discarded – undo
148 148
                 ? $details['att_obj']
149 149
                 : null;
150 150
 
151
-            if (! $attendee instanceof EE_Attendee) {
151
+            if ( ! $attendee instanceof EE_Attendee) {
152 152
                 continue;
153 153
             }
154 154
 
155 155
             // set $aee from attendee object
156 156
             $aee['att_obj'] = $attendee;
157
-            $aee['reg_objs'] = isset($this->_data->attendees[ $attendee->ID() ]['reg_objs'])
158
-                ? $this->_data->attendees[ $attendee->ID() ]['reg_objs']
157
+            $aee['reg_objs'] = isset($this->_data->attendees[$attendee->ID()]['reg_objs'])
158
+                ? $this->_data->attendees[$attendee->ID()]['reg_objs']
159 159
                 : array();
160 160
             $aee['attendee_email'] = $attendee->email();
161
-            $aee['tkt_objs'] = isset($this->_data->attendees[ $attendee->ID() ]['tkt_objs'])
162
-                ? $this->_data->attendees[ $attendee->ID() ]['tkt_objs']
161
+            $aee['tkt_objs'] = isset($this->_data->attendees[$attendee->ID()]['tkt_objs'])
162
+                ? $this->_data->attendees[$attendee->ID()]['tkt_objs']
163 163
                 : array();
164 164
 
165
-            if (isset($this->_data->attendees[ $attendee->ID() ]['evt_objs'])) {
166
-                $aee['evt_objs'] = $this->_data->attendees[ $attendee->ID() ]['evt_objs'];
167
-                $aee['events'] = $this->_data->attendees[ $attendee->ID() ]['evt_objs'];
165
+            if (isset($this->_data->attendees[$attendee->ID()]['evt_objs'])) {
166
+                $aee['evt_objs'] = $this->_data->attendees[$attendee->ID()]['evt_objs'];
167
+                $aee['events'] = $this->_data->attendees[$attendee->ID()]['evt_objs'];
168 168
             } else {
169 169
                 $aee['evt_objs'] = $aee['events'] = array();
170 170
             }
@@ -199,8 +199,8 @@  discard block
 block discarded – undo
199 199
         $excluded_fields = array(
200 200
             'email' => array('cc')
201 201
         );
202
-        return isset($excluded_fields[ $messenger_name ])
203
-            ? $excluded_fields[ $messenger_name ]
202
+        return isset($excluded_fields[$messenger_name])
203
+            ? $excluded_fields[$messenger_name]
204 204
             : parent::excludedFieldsForMessenger($messenger_name);
205 205
     }
206 206
 }
Please login to merge, or discard this patch.
Indentation   +190 added lines, -190 removed lines patch added patch discarded remove patch
@@ -12,194 +12,194 @@
 block discarded – undo
12 12
  */
13 13
 class EE_Newsletter_message_type extends EE_message_type
14 14
 {
15
-    public function __construct()
16
-    {
17
-        $this->name = 'newsletter';
18
-        $this->description = esc_html__(
19
-            'Batch message type messages are triggered manually by the admin for sending notifications to a selected group of recipients. This should only be used for more general notification type messages that contain information specific for the recipients. For "newsletter" type messages we recommend using an email list service like MailChimp, because sending non-related mail-outs to contacts increases the risk of your site domain getting added to spam lists, which will prevent messages getting to users.',
20
-            'event_espresso'
21
-        );
22
-        $this->label = array(
23
-            'singular' => esc_html__('batch', 'event_espresso'),
24
-            'plural'   => esc_html__('batches', 'event_espresso'),
25
-        );
26
-        $this->_master_templates = array(
27
-            'email' => 'registration',
28
-        );
29
-
30
-        parent::__construct();
31
-    }
32
-
33
-
34
-    /**
35
-     * Sets admin_registered_pages property
36
-     */
37
-    protected function _set_admin_pages()
38
-    {
39
-        $this->admin_registered_pages = array(); // no admin pages to register this with.
40
-    }
41
-
42
-
43
-    /**
44
-     * Sets property related to data handler.
45
-     */
46
-    protected function _set_data_handler()
47
-    {
48
-        $this->_data_handler = 'Registrations';
49
-        $this->_single_message = $this->_data instanceof EE_Registration;
50
-    }
51
-
52
-
53
-    /**
54
-     * Returns the data for the given context for this message type.
55
-     * @param string          $context
56
-     * @param EE_Registration $registration
57
-     * @param int             $id
58
-     * @return array|mixed
59
-     */
60
-    protected function _get_data_for_context($context, EE_Registration $registration, $id)
61
-    {
62
-        // newsletter message type data handler is 'Registrations' and it expects an array of EE_Registration objects.
63
-        return array($registration);
64
-    }
65
-
66
-
67
-    /**
68
-     * Sets the admin settings fields property for this message type.
69
-     */
70
-    protected function _set_admin_settings_fields()
71
-    {
72
-        $this->_admin_settings_fields = array();
73
-    }
74
-
75
-
76
-    /**
77
-     * Sets the contexts for this message type.
78
-     */
79
-    protected function _set_contexts()
80
-    {
81
-        $this->_context_label = array(
82
-            'label'       => esc_html__('recipient', 'event_espresso'),
83
-            'plural'      => esc_html__('recipients', 'event_espresso'),
84
-            'description' => esc_html__('Recipient\'s are who will receive the message.', 'event_espresso'),
85
-        );
86
-
87
-        $this->_contexts = array(
88
-            'attendee' => array(
89
-                'label'       => esc_html__('Registrant', 'event_espresso'),
90
-                'description' => esc_html__('This template goes to selected registrants.', 'event_espresso'),
91
-            ),
92
-        );
93
-    }
94
-
95
-
96
-    /**
97
-     * used to set the valid shortcodes.
98
-     * For the newsletter message type we only have two valid shortcode libraries in use, recipient details and
99
-     * organization.  That's it!
100
-     *
101
-     * @since   4.3.0
102
-     * @return  void
103
-     */
104
-    protected function _set_valid_shortcodes()
105
-    {
106
-        parent::_set_valid_shortcodes();
107
-
108
-        $included_shortcodes = array(
109
-            'recipient_details',
110
-            'organization',
111
-            'newsletter',
112
-        );
113
-
114
-        foreach ($this->_valid_shortcodes as $context => $shortcodes) {
115
-            foreach ($shortcodes as $key => $shortcode) {
116
-                if (! in_array($shortcode, $included_shortcodes, true)) {
117
-                    unset($this->_valid_shortcodes[ $context ][ $key ]);
118
-                }
119
-            }
120
-            $this->_valid_shortcodes[ $context ][] = 'newsletter';
121
-        }
122
-    }
123
-
124
-
125
-    /**
126
-     * Override default _attendee_addressees in EE_message_type because we want to loop through the registrations
127
-     * for EE_message_type.
128
-     *
129
-     * @return array
130
-     * @throws EE_Error
131
-     * @throws InvalidArgumentException
132
-     * @throws ReflectionException
133
-     * @throws \EventEspresso\core\exceptions\InvalidDataTypeException
134
-     * @throws \EventEspresso\core\exceptions\InvalidInterfaceException
135
-     */
136
-    protected function _attendee_addressees()
137
-    {
138
-        $addressee = array();
139
-
140
-        // looping through registrations
141
-        foreach ($this->_data->registrations as $reg_id => $details) {
142
-            // set $attendee array to blank on each loop
143
-            $aee = array();
144
-
145
-            // need to get the attendee from this registration.
146
-            $attendee = isset($details['att_obj']) && $details['att_obj'] instanceof EE_Attendee
147
-                ? $details['att_obj']
148
-                : null;
149
-
150
-            if (! $attendee instanceof EE_Attendee) {
151
-                continue;
152
-            }
153
-
154
-            // set $aee from attendee object
155
-            $aee['att_obj'] = $attendee;
156
-            $aee['reg_objs'] = isset($this->_data->attendees[ $attendee->ID() ]['reg_objs'])
157
-                ? $this->_data->attendees[ $attendee->ID() ]['reg_objs']
158
-                : array();
159
-            $aee['attendee_email'] = $attendee->email();
160
-            $aee['tkt_objs'] = isset($this->_data->attendees[ $attendee->ID() ]['tkt_objs'])
161
-                ? $this->_data->attendees[ $attendee->ID() ]['tkt_objs']
162
-                : array();
163
-
164
-            if (isset($this->_data->attendees[ $attendee->ID() ]['evt_objs'])) {
165
-                $aee['evt_objs'] = $this->_data->attendees[ $attendee->ID() ]['evt_objs'];
166
-                $aee['events'] = $this->_data->attendees[ $attendee->ID() ]['evt_objs'];
167
-            } else {
168
-                $aee['evt_objs'] = $aee['events'] = array();
169
-            }
170
-
171
-            $aee['reg_obj'] = isset($details['reg_obj'])
172
-                ? $details['reg_obj']
173
-                : null;
174
-            $aee['attendees'] = $this->_data->attendees;
175
-
176
-            // merge in the primary attendee data
177
-            $aee = array_merge($this->_default_addressee_data, $aee);
178
-
179
-            // make sure txn is set
180
-            if (empty($aee['txn']) && $aee['reg_obj'] instanceof EE_Registration) {
181
-                $aee['txn'] = $aee['reg_obj']->transaction();
182
-            }
183
-
184
-            $addressee[] = new EE_Messages_Addressee($aee);
185
-        }
186
-        return $addressee;
187
-    }
188
-
189
-    /**
190
-     * Allows a message type to specifically exclude template fields for the provided messenger.
191
-     * Filtered so this can be programmatically altered as well.
192
-     *
193
-     * @param string $messenger_name name of messenger
194
-     * @return array
195
-     */
196
-    public function excludedFieldsForMessenger($messenger_name)
197
-    {
198
-        $excluded_fields = array(
199
-            'email' => array('cc')
200
-        );
201
-        return isset($excluded_fields[ $messenger_name ])
202
-            ? $excluded_fields[ $messenger_name ]
203
-            : parent::excludedFieldsForMessenger($messenger_name);
204
-    }
15
+	public function __construct()
16
+	{
17
+		$this->name = 'newsletter';
18
+		$this->description = esc_html__(
19
+			'Batch message type messages are triggered manually by the admin for sending notifications to a selected group of recipients. This should only be used for more general notification type messages that contain information specific for the recipients. For "newsletter" type messages we recommend using an email list service like MailChimp, because sending non-related mail-outs to contacts increases the risk of your site domain getting added to spam lists, which will prevent messages getting to users.',
20
+			'event_espresso'
21
+		);
22
+		$this->label = array(
23
+			'singular' => esc_html__('batch', 'event_espresso'),
24
+			'plural'   => esc_html__('batches', 'event_espresso'),
25
+		);
26
+		$this->_master_templates = array(
27
+			'email' => 'registration',
28
+		);
29
+
30
+		parent::__construct();
31
+	}
32
+
33
+
34
+	/**
35
+	 * Sets admin_registered_pages property
36
+	 */
37
+	protected function _set_admin_pages()
38
+	{
39
+		$this->admin_registered_pages = array(); // no admin pages to register this with.
40
+	}
41
+
42
+
43
+	/**
44
+	 * Sets property related to data handler.
45
+	 */
46
+	protected function _set_data_handler()
47
+	{
48
+		$this->_data_handler = 'Registrations';
49
+		$this->_single_message = $this->_data instanceof EE_Registration;
50
+	}
51
+
52
+
53
+	/**
54
+	 * Returns the data for the given context for this message type.
55
+	 * @param string          $context
56
+	 * @param EE_Registration $registration
57
+	 * @param int             $id
58
+	 * @return array|mixed
59
+	 */
60
+	protected function _get_data_for_context($context, EE_Registration $registration, $id)
61
+	{
62
+		// newsletter message type data handler is 'Registrations' and it expects an array of EE_Registration objects.
63
+		return array($registration);
64
+	}
65
+
66
+
67
+	/**
68
+	 * Sets the admin settings fields property for this message type.
69
+	 */
70
+	protected function _set_admin_settings_fields()
71
+	{
72
+		$this->_admin_settings_fields = array();
73
+	}
74
+
75
+
76
+	/**
77
+	 * Sets the contexts for this message type.
78
+	 */
79
+	protected function _set_contexts()
80
+	{
81
+		$this->_context_label = array(
82
+			'label'       => esc_html__('recipient', 'event_espresso'),
83
+			'plural'      => esc_html__('recipients', 'event_espresso'),
84
+			'description' => esc_html__('Recipient\'s are who will receive the message.', 'event_espresso'),
85
+		);
86
+
87
+		$this->_contexts = array(
88
+			'attendee' => array(
89
+				'label'       => esc_html__('Registrant', 'event_espresso'),
90
+				'description' => esc_html__('This template goes to selected registrants.', 'event_espresso'),
91
+			),
92
+		);
93
+	}
94
+
95
+
96
+	/**
97
+	 * used to set the valid shortcodes.
98
+	 * For the newsletter message type we only have two valid shortcode libraries in use, recipient details and
99
+	 * organization.  That's it!
100
+	 *
101
+	 * @since   4.3.0
102
+	 * @return  void
103
+	 */
104
+	protected function _set_valid_shortcodes()
105
+	{
106
+		parent::_set_valid_shortcodes();
107
+
108
+		$included_shortcodes = array(
109
+			'recipient_details',
110
+			'organization',
111
+			'newsletter',
112
+		);
113
+
114
+		foreach ($this->_valid_shortcodes as $context => $shortcodes) {
115
+			foreach ($shortcodes as $key => $shortcode) {
116
+				if (! in_array($shortcode, $included_shortcodes, true)) {
117
+					unset($this->_valid_shortcodes[ $context ][ $key ]);
118
+				}
119
+			}
120
+			$this->_valid_shortcodes[ $context ][] = 'newsletter';
121
+		}
122
+	}
123
+
124
+
125
+	/**
126
+	 * Override default _attendee_addressees in EE_message_type because we want to loop through the registrations
127
+	 * for EE_message_type.
128
+	 *
129
+	 * @return array
130
+	 * @throws EE_Error
131
+	 * @throws InvalidArgumentException
132
+	 * @throws ReflectionException
133
+	 * @throws \EventEspresso\core\exceptions\InvalidDataTypeException
134
+	 * @throws \EventEspresso\core\exceptions\InvalidInterfaceException
135
+	 */
136
+	protected function _attendee_addressees()
137
+	{
138
+		$addressee = array();
139
+
140
+		// looping through registrations
141
+		foreach ($this->_data->registrations as $reg_id => $details) {
142
+			// set $attendee array to blank on each loop
143
+			$aee = array();
144
+
145
+			// need to get the attendee from this registration.
146
+			$attendee = isset($details['att_obj']) && $details['att_obj'] instanceof EE_Attendee
147
+				? $details['att_obj']
148
+				: null;
149
+
150
+			if (! $attendee instanceof EE_Attendee) {
151
+				continue;
152
+			}
153
+
154
+			// set $aee from attendee object
155
+			$aee['att_obj'] = $attendee;
156
+			$aee['reg_objs'] = isset($this->_data->attendees[ $attendee->ID() ]['reg_objs'])
157
+				? $this->_data->attendees[ $attendee->ID() ]['reg_objs']
158
+				: array();
159
+			$aee['attendee_email'] = $attendee->email();
160
+			$aee['tkt_objs'] = isset($this->_data->attendees[ $attendee->ID() ]['tkt_objs'])
161
+				? $this->_data->attendees[ $attendee->ID() ]['tkt_objs']
162
+				: array();
163
+
164
+			if (isset($this->_data->attendees[ $attendee->ID() ]['evt_objs'])) {
165
+				$aee['evt_objs'] = $this->_data->attendees[ $attendee->ID() ]['evt_objs'];
166
+				$aee['events'] = $this->_data->attendees[ $attendee->ID() ]['evt_objs'];
167
+			} else {
168
+				$aee['evt_objs'] = $aee['events'] = array();
169
+			}
170
+
171
+			$aee['reg_obj'] = isset($details['reg_obj'])
172
+				? $details['reg_obj']
173
+				: null;
174
+			$aee['attendees'] = $this->_data->attendees;
175
+
176
+			// merge in the primary attendee data
177
+			$aee = array_merge($this->_default_addressee_data, $aee);
178
+
179
+			// make sure txn is set
180
+			if (empty($aee['txn']) && $aee['reg_obj'] instanceof EE_Registration) {
181
+				$aee['txn'] = $aee['reg_obj']->transaction();
182
+			}
183
+
184
+			$addressee[] = new EE_Messages_Addressee($aee);
185
+		}
186
+		return $addressee;
187
+	}
188
+
189
+	/**
190
+	 * Allows a message type to specifically exclude template fields for the provided messenger.
191
+	 * Filtered so this can be programmatically altered as well.
192
+	 *
193
+	 * @param string $messenger_name name of messenger
194
+	 * @return array
195
+	 */
196
+	public function excludedFieldsForMessenger($messenger_name)
197
+	{
198
+		$excluded_fields = array(
199
+			'email' => array('cc')
200
+		);
201
+		return isset($excluded_fields[ $messenger_name ])
202
+			? $excluded_fields[ $messenger_name ]
203
+			: parent::excludedFieldsForMessenger($messenger_name);
204
+	}
205 205
 }
Please login to merge, or discard this patch.
cancelled_registration/EE_Cancelled_Registration_message_type.class.php 2 patches
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -67,8 +67,8 @@
 block discarded – undo
67 67
 
68 68
         // remove unwanted transaction shortcode
69 69
         foreach ($this->_valid_shortcodes as $context => $shortcodes) {
70
-            if (($key = array_search('transaction', $shortcodes) ) !== false) {
71
-                unset($this->_valid_shortcodes[ $context ][ $key ]);
70
+            if (($key = array_search('transaction', $shortcodes)) !== false) {
71
+                unset($this->_valid_shortcodes[$context][$key]);
72 72
             }
73 73
         }
74 74
     }
Please login to merge, or discard this patch.
Indentation   +48 added lines, -48 removed lines patch added patch discarded remove patch
@@ -15,61 +15,61 @@
 block discarded – undo
15 15
 class EE_Cancelled_Registration_message_type extends EE_Registration_Base_message_type
16 16
 {
17 17
 
18
-    public function __construct()
19
-    {
20
-        $this->name = 'cancelled_registration';
21
-        $this->description = esc_html__('This message type is for messages sent to registrants when their registration is cancelled.', 'event_espresso');
22
-        $this->label = array(
23
-            'singular' => esc_html__('registration cancelled', 'event_espresso'),
24
-            'plural' => esc_html__('registrations cancelled', 'event_espresso')
25
-            );
26
-        $this->_master_templates = array(
27
-            'email' => 'not_approved_registration'
28
-            );
29
-        parent::__construct();
30
-    }
18
+	public function __construct()
19
+	{
20
+		$this->name = 'cancelled_registration';
21
+		$this->description = esc_html__('This message type is for messages sent to registrants when their registration is cancelled.', 'event_espresso');
22
+		$this->label = array(
23
+			'singular' => esc_html__('registration cancelled', 'event_espresso'),
24
+			'plural' => esc_html__('registrations cancelled', 'event_espresso')
25
+			);
26
+		$this->_master_templates = array(
27
+			'email' => 'not_approved_registration'
28
+			);
29
+		parent::__construct();
30
+	}
31 31
 
32 32
 
33 33
 
34 34
 
35
-    /**
36
-     * _set_contexts
37
-     * This sets up the contexts associated with the message_type
38
-     *
39
-     * @access  protected
40
-     * @return  void
41
-     */
42
-    protected function _set_contexts()
43
-    {
44
-        $this->_context_label = array(
45
-            'label' => esc_html__('recipient', 'event_espresso'),
46
-            'plural' => esc_html__('recipients', 'event_espresso'),
47
-            'description' => esc_html__('Recipient\'s are who will receive the template.  You may want different registration details sent out depending on who the recipient is', 'event_espresso')
48
-            );
35
+	/**
36
+	 * _set_contexts
37
+	 * This sets up the contexts associated with the message_type
38
+	 *
39
+	 * @access  protected
40
+	 * @return  void
41
+	 */
42
+	protected function _set_contexts()
43
+	{
44
+		$this->_context_label = array(
45
+			'label' => esc_html__('recipient', 'event_espresso'),
46
+			'plural' => esc_html__('recipients', 'event_espresso'),
47
+			'description' => esc_html__('Recipient\'s are who will receive the template.  You may want different registration details sent out depending on who the recipient is', 'event_espresso')
48
+			);
49 49
 
50
-        $this->_contexts = array(
51
-            'admin' => array(
52
-                'label' => esc_html__('Event Admin', 'event_espresso'),
53
-                'description' => esc_html__('This template is what event administrators will receive with an cancelled registration', 'event_espresso')
54
-                ),
55
-            'attendee' => array(
56
-                'label' => esc_html__('Registrant', 'event_espresso'),
57
-                'description' => esc_html__('This template is what each registrant for the event will receive when their registration is cancelled.', 'event_espresso')
58
-                )
59
-            );
60
-    }
50
+		$this->_contexts = array(
51
+			'admin' => array(
52
+				'label' => esc_html__('Event Admin', 'event_espresso'),
53
+				'description' => esc_html__('This template is what event administrators will receive with an cancelled registration', 'event_espresso')
54
+				),
55
+			'attendee' => array(
56
+				'label' => esc_html__('Registrant', 'event_espresso'),
57
+				'description' => esc_html__('This template is what each registrant for the event will receive when their registration is cancelled.', 'event_espresso')
58
+				)
59
+			);
60
+	}
61 61
 
62 62
 
63 63
 
64
-    protected function _set_valid_shortcodes()
65
-    {
66
-        parent::_set_valid_shortcodes();
64
+	protected function _set_valid_shortcodes()
65
+	{
66
+		parent::_set_valid_shortcodes();
67 67
 
68
-        // remove unwanted transaction shortcode
69
-        foreach ($this->_valid_shortcodes as $context => $shortcodes) {
70
-            if (($key = array_search('transaction', $shortcodes) ) !== false) {
71
-                unset($this->_valid_shortcodes[ $context ][ $key ]);
72
-            }
73
-        }
74
-    }
68
+		// remove unwanted transaction shortcode
69
+		foreach ($this->_valid_shortcodes as $context => $shortcodes) {
70
+			if (($key = array_search('transaction', $shortcodes) ) !== false) {
71
+				unset($this->_valid_shortcodes[ $context ][ $key ]);
72
+			}
73
+		}
74
+	}
75 75
 }
Please login to merge, or discard this patch.
caffeinated/core/libraries/shortcodes/EE_Question_Shortcodes.lib.php 2 patches
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -49,15 +49,15 @@  discard block
 block discarded – undo
49 49
     protected function _parser($shortcode)
50 50
     {
51 51
 
52
-        if (! $this->_data instanceof EE_Answer || ! isset($this->_extra_data['data']) || ! $this->_extra_data['data'] instanceof EE_Messages_Addressee) {
52
+        if ( ! $this->_data instanceof EE_Answer || ! isset($this->_extra_data['data']) || ! $this->_extra_data['data'] instanceof EE_Messages_Addressee) {
53 53
             return '';
54 54
         }
55 55
 
56 56
         switch ($shortcode) {
57 57
             case '[QUESTION]':
58
-                $question = isset($this->_extra_data['data']->questions[ $this->_data->ID() ])
59
-                    ? $this->_extra_data['data']->questions[ $this->_data->ID() ] : $this->_data->question();
60
-                if (! $question instanceof EE_Question) {
58
+                $question = isset($this->_extra_data['data']->questions[$this->_data->ID()])
59
+                    ? $this->_extra_data['data']->questions[$this->_data->ID()] : $this->_data->question();
60
+                if ( ! $question instanceof EE_Question) {
61 61
                     return ''; // get out because we can't figure out what the question is.
62 62
                 }
63 63
 
@@ -66,9 +66,9 @@  discard block
 block discarded – undo
66 66
 
67 67
             case '[ANSWER]':
68 68
                 // need to get the question to determine the type of question (some questions require translation of the answer).
69
-                $question = isset($this->_extra_data['data']->questions[ $this->_data->ID() ])
70
-                    ? $this->_extra_data['data']->questions[ $this->_data->ID() ] : $this->_data->question();
71
-                if (! $question instanceof EE_Question) {
69
+                $question = isset($this->_extra_data['data']->questions[$this->_data->ID()])
70
+                    ? $this->_extra_data['data']->questions[$this->_data->ID()] : $this->_data->question();
71
+                if ( ! $question instanceof EE_Question) {
72 72
                     return ''; // get out cause we can't figure out what the question type is!
73 73
                 }
74 74
 
Please login to merge, or discard this patch.
Indentation   +70 added lines, -70 removed lines patch added patch discarded remove patch
@@ -17,85 +17,85 @@
 block discarded – undo
17 17
  */
18 18
 class EE_Question_Shortcodes extends EE_Shortcodes
19 19
 {
20
-    /**
21
-     * _init_props
22
-     *
23
-     * @access protected
24
-     * @return void
25
-     */
26
-    protected function _init_props()
27
-    {
28
-        $this->label = esc_html__('Attendee Shortcodes', 'event_espresso');
29
-        $this->description = esc_html__('All shortcodes specific to attendee related data', 'event_espresso');
30
-        $this->_shortcodes = array(
31
-            '[QUESTION]' => esc_html__('Will parse to a question.', 'event_espresso'),
32
-            '[ANSWER]'   => esc_html__('Will parse to the answer for a question', 'event_espresso'),
33
-        );
34
-    }
20
+	/**
21
+	 * _init_props
22
+	 *
23
+	 * @access protected
24
+	 * @return void
25
+	 */
26
+	protected function _init_props()
27
+	{
28
+		$this->label = esc_html__('Attendee Shortcodes', 'event_espresso');
29
+		$this->description = esc_html__('All shortcodes specific to attendee related data', 'event_espresso');
30
+		$this->_shortcodes = array(
31
+			'[QUESTION]' => esc_html__('Will parse to a question.', 'event_espresso'),
32
+			'[ANSWER]'   => esc_html__('Will parse to the answer for a question', 'event_espresso'),
33
+		);
34
+	}
35 35
 
36 36
 
37
-    /**
38
-     * This method will give parsing instructions for each shortcode defined in the _shortcodes array.  Child methods
39
-     * will have to take care of handling.
40
-     *
41
-     * @access protected
42
-     *
43
-     * @param string $shortcode the shortcode to be parsed.
44
-     *
45
-     * @return string parsed shortcode
46
-     */
47
-    protected function _parser($shortcode)
48
-    {
37
+	/**
38
+	 * This method will give parsing instructions for each shortcode defined in the _shortcodes array.  Child methods
39
+	 * will have to take care of handling.
40
+	 *
41
+	 * @access protected
42
+	 *
43
+	 * @param string $shortcode the shortcode to be parsed.
44
+	 *
45
+	 * @return string parsed shortcode
46
+	 */
47
+	protected function _parser($shortcode)
48
+	{
49 49
 
50
-        if (! $this->_data instanceof EE_Answer || ! isset($this->_extra_data['data']) || ! $this->_extra_data['data'] instanceof EE_Messages_Addressee) {
51
-            return '';
52
-        }
50
+		if (! $this->_data instanceof EE_Answer || ! isset($this->_extra_data['data']) || ! $this->_extra_data['data'] instanceof EE_Messages_Addressee) {
51
+			return '';
52
+		}
53 53
 
54
-        switch ($shortcode) {
55
-            case '[QUESTION]':
56
-                $question = isset($this->_extra_data['data']->questions[ $this->_data->ID() ])
57
-                    ? $this->_extra_data['data']->questions[ $this->_data->ID() ] : $this->_data->question();
58
-                if (! $question instanceof EE_Question) {
59
-                    return ''; // get out because we can't figure out what the question is.
60
-                }
54
+		switch ($shortcode) {
55
+			case '[QUESTION]':
56
+				$question = isset($this->_extra_data['data']->questions[ $this->_data->ID() ])
57
+					? $this->_extra_data['data']->questions[ $this->_data->ID() ] : $this->_data->question();
58
+				if (! $question instanceof EE_Question) {
59
+					return ''; // get out because we can't figure out what the question is.
60
+				}
61 61
 
62
-                return $question->get('QST_display_text');
63
-                break;
62
+				return $question->get('QST_display_text');
63
+				break;
64 64
 
65
-            case '[ANSWER]':
66
-                // need to get the question to determine the type of question (some questions require translation of the answer).
67
-                $question = isset($this->_extra_data['data']->questions[ $this->_data->ID() ])
68
-                    ? $this->_extra_data['data']->questions[ $this->_data->ID() ] : $this->_data->question();
69
-                if (! $question instanceof EE_Question) {
70
-                    return ''; // get out cause we can't figure out what the question type is!
71
-                }
65
+			case '[ANSWER]':
66
+				// need to get the question to determine the type of question (some questions require translation of the answer).
67
+				$question = isset($this->_extra_data['data']->questions[ $this->_data->ID() ])
68
+					? $this->_extra_data['data']->questions[ $this->_data->ID() ] : $this->_data->question();
69
+				if (! $question instanceof EE_Question) {
70
+					return ''; // get out cause we can't figure out what the question type is!
71
+				}
72 72
 
73
-                // what we show for the answer depends on the question type!
74
-                switch ($question->get('QST_type')) {
75
-                    case 'STATE':
76
-                        $state = EEM_State::instance()->get_one_by_ID($this->_data->get('ANS_value'));
77
-                        $answer = $state instanceof EE_State ? $state->name() : '';
78
-                        break;
73
+				// what we show for the answer depends on the question type!
74
+				switch ($question->get('QST_type')) {
75
+					case 'STATE':
76
+						$state = EEM_State::instance()->get_one_by_ID($this->_data->get('ANS_value'));
77
+						$answer = $state instanceof EE_State ? $state->name() : '';
78
+						break;
79 79
 
80
-                    case 'COUNTRY':
81
-                        $country = EEM_Country::instance()->get_one_by_ID($this->_data->get('ANS_value'));
82
-                        $answer = $country instanceof EE_Country ? $country->name() : '';
83
-                        break;
80
+					case 'COUNTRY':
81
+						$country = EEM_Country::instance()->get_one_by_ID($this->_data->get('ANS_value'));
82
+						$answer = $country instanceof EE_Country ? $country->name() : '';
83
+						break;
84 84
 
85
-                    default:
86
-                        $answer = $this->_data->get_pretty('ANS_value', 'no_wpautop');
87
-                        break;
88
-                }
85
+					default:
86
+						$answer = $this->_data->get_pretty('ANS_value', 'no_wpautop');
87
+						break;
88
+				}
89 89
 
90
-                return apply_filters(
91
-                    'FHEE__EE_Question_Shortcodes___parser__answer',
92
-                    $answer,
93
-                    $question,
94
-                    $this->_data
95
-                );
96
-                break;
97
-        }
90
+				return apply_filters(
91
+					'FHEE__EE_Question_Shortcodes___parser__answer',
92
+					$answer,
93
+					$question,
94
+					$this->_data
95
+				);
96
+				break;
97
+		}
98 98
 
99
-        return '';
100
-    }
99
+		return '';
100
+	}
101 101
 }
Please login to merge, or discard this patch.
events_archive_caff/templates/admin-event-list-settings.template.php 2 patches
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -50,7 +50,7 @@
 block discarded – undo
50 50
             </label>
51 51
         </th>
52 52
         <td>
53
-            <p><?php echo site_url() . '/ '
53
+            <p><?php echo site_url().'/ '
54 54
                           . EEH_Form_Fields::text(
55 55
                               'not_used',
56 56
                               EE_Registry::instance()->CFG->core->event_cpt_slug,
Please login to merge, or discard this patch.
Indentation   +108 added lines, -108 removed lines patch added patch discarded remove patch
@@ -5,18 +5,18 @@  discard block
 block discarded – undo
5 5
 add_filter('FHEE__EEH_Form_Fields__label_html', '__return_empty_string');
6 6
 
7 7
 $values = EEH_Form_Fields::prep_answer_options(
8
-    array(
9
-        array('id' => 1, 'text' => esc_html__('Yes', 'event_espresso')),
10
-        array('id' => 0, 'text' => esc_html__('No', 'event_espresso')),
11
-    )
8
+	array(
9
+		array('id' => 1, 'text' => esc_html__('Yes', 'event_espresso')),
10
+		array('id' => 0, 'text' => esc_html__('No', 'event_espresso')),
11
+	)
12 12
 );
13 13
 
14 14
 $description = EEH_Form_Fields::prep_answer_options(
15
-    array(
16
-        array('id' => 0, 'text' => esc_html__('none', 'event_espresso')),
17
-        array('id' => 1, 'text' => esc_html__('excerpt (short desc)', 'event_espresso')),
18
-        array('id' => 2, 'text' => esc_html__('full description', 'event_espresso')),
19
-    )
15
+	array(
16
+		array('id' => 0, 'text' => esc_html__('none', 'event_espresso')),
17
+		array('id' => 1, 'text' => esc_html__('excerpt (short desc)', 'event_espresso')),
18
+		array('id' => 2, 'text' => esc_html__('full description', 'event_espresso')),
19
+	)
20 20
 );
21 21
 
22 22
 ?>
@@ -35,14 +35,14 @@  discard block
 block discarded – undo
35 35
         <th>
36 36
             <label for="event_listings_url">
37 37
                 <?php esc_html_e('Event Listings URL', 'event_espresso'); ?><?php echo EEH_Template::get_help_tab_link(
38
-                    'event_listings_url_info'
39
-                ); ?>
38
+					'event_listings_url_info'
39
+				); ?>
40 40
             </label>
41 41
         </th>
42 42
         <td>
43 43
             <a id="event_listings_url" class="ee-admin-settings-hdr-lnk small-text"
44 44
                href="<?php echo EEH_Event_View::event_archive_url(); ?>"><?php
45
-                echo EEH_Event_View::event_archive_url(); ?></a>
45
+				echo EEH_Event_View::event_archive_url(); ?></a>
46 46
         </td>
47 47
     </tr>
48 48
 
@@ -54,30 +54,30 @@  discard block
 block discarded – undo
54 54
         </th>
55 55
         <td>
56 56
             <p><?php echo site_url() . '/ '
57
-                          . EEH_Form_Fields::text(
58
-                              'not_used',
59
-                              EE_Registry::instance()->CFG->core->event_cpt_slug,
60
-                              'event_cpt_slug',
61
-                              'event_cpt_slug',
62
-                              'regular'
63
-                          ); ?></p>
57
+						  . EEH_Form_Fields::text(
58
+							  'not_used',
59
+							  EE_Registry::instance()->CFG->core->event_cpt_slug,
60
+							  'event_cpt_slug',
61
+							  'event_cpt_slug',
62
+							  'regular'
63
+						  ); ?></p>
64 64
             <p class="description"><?php
65
-                esc_html_e(
66
-                    'This allows you to configure what slug is used for the url of all event pages.',
67
-                    'event_espresso'
68
-                ); ?></p>
65
+				esc_html_e(
66
+					'This allows you to configure what slug is used for the url of all event pages.',
67
+					'event_espresso'
68
+				); ?></p>
69 69
             <?php if (has_filter('FHEE__EE_Register_CPTs__register_CPT__rewrite')) : ?>
70 70
                 <p class="important-notice">
71 71
                     <?php
72
-                    sprintf(
73
-                        esc_html__(
74
-                            'Usage of the %1$s FHEE__EE_Register_CPTs__register_CPT__rewrite %2$s filter has been detected.  Please be aware that while this filter is being used, this setting has no affect.',
75
-                            'event_espresso'
76
-                        ),
77
-                        '<code>',
78
-                        '</code>'
79
-                    );
80
-                    ?>
72
+					sprintf(
73
+						esc_html__(
74
+							'Usage of the %1$s FHEE__EE_Register_CPTs__register_CPT__rewrite %2$s filter has been detected.  Please be aware that while this filter is being used, this setting has no affect.',
75
+							'event_espresso'
76
+						),
77
+						'<code>',
78
+						'</code>'
79
+					);
80
+					?>
81 81
                 </p>
82 82
             <?php endif; ?>
83 83
         </td>
@@ -91,17 +91,17 @@  discard block
 block discarded – undo
91 91
         </th>
92 92
         <td>
93 93
             <?php echo EEH_Form_Fields::select(
94
-                'display_status_banner',
95
-                $display_status_banner,
96
-                $values,
97
-                'EED_Events_Archive_display_status_banner',
98
-                'EED_Events_Archive_display_status_banner'
99
-            ); ?>
94
+				'display_status_banner',
95
+				$display_status_banner,
96
+				$values,
97
+				'EED_Events_Archive_display_status_banner',
98
+				'EED_Events_Archive_display_status_banner'
99
+			); ?>
100 100
             <p class="description"><?php
101
-                esc_html_e(
102
-                    'Selecting "Yes" will inject an Event Status banner with the title whenever Events are displaying on the events archive page.',
103
-                    'event_espresso'
104
-                ); ?></p>
101
+				esc_html_e(
102
+					'Selecting "Yes" will inject an Event Status banner with the title whenever Events are displaying on the events archive page.',
103
+					'event_espresso'
104
+				); ?></p>
105 105
         </td>
106 106
     </tr>
107 107
 
@@ -109,18 +109,18 @@  discard block
 block discarded – undo
109 109
         <th>
110 110
             <label for="EED_Events_Archive_display_description">
111 111
                 <?php esc_html_e('Display Description', 'event_espresso'); ?><?php echo EEH_Template::get_help_tab_link(
112
-                    'display_description_info'
113
-                ); ?>
112
+					'display_description_info'
113
+				); ?>
114 114
             </label>
115 115
         </th>
116 116
         <td>
117 117
             <?php echo EEH_Form_Fields::select(
118
-                'description',
119
-                $display_description,
120
-                $description,
121
-                'EED_Events_Archive_display_description',
122
-                'EED_Events_Archive_display_description'
123
-            ); ?>
118
+				'description',
119
+				$display_description,
120
+				$description,
121
+				'EED_Events_Archive_display_description',
122
+				'EED_Events_Archive_display_description'
123
+			); ?>
124 124
         </td>
125 125
     </tr>
126 126
 
@@ -128,18 +128,18 @@  discard block
 block discarded – undo
128 128
         <th>
129 129
             <label for="EED_Events_Archive_display_ticket_selector">
130 130
                 <?php esc_html_e('Display Ticket Selector', 'event_espresso'); ?><?php echo EEH_Template::get_help_tab_link(
131
-                    'display_ticket_selector_info'
132
-                ); ?>
131
+					'display_ticket_selector_info'
132
+				); ?>
133 133
             </label>
134 134
         </th>
135 135
         <td>
136 136
             <?php echo EEH_Form_Fields::select(
137
-                'ticket_selector',
138
-                $display_ticket_selector,
139
-                $values,
140
-                'EED_Events_Archive_display_ticket_selector',
141
-                'EED_Events_Archive_display_ticket_selector'
142
-            ); ?>
137
+				'ticket_selector',
138
+				$display_ticket_selector,
139
+				$values,
140
+				'EED_Events_Archive_display_ticket_selector',
141
+				'EED_Events_Archive_display_ticket_selector'
142
+			); ?>
143 143
         </td>
144 144
     </tr>
145 145
 
@@ -147,18 +147,18 @@  discard block
 block discarded – undo
147 147
         <th>
148 148
             <label for="EED_Events_Archive_display_datetimes">
149 149
                 <?php esc_html_e('Display Datetimes', 'event_espresso'); ?><?php echo EEH_Template::get_help_tab_link(
150
-                    'display_datetimes_info'
151
-                ); ?>
150
+					'display_datetimes_info'
151
+				); ?>
152 152
             </label>
153 153
         </th>
154 154
         <td>
155 155
             <?php echo EEH_Form_Fields::select(
156
-                'venue_details',
157
-                $display_datetimes,
158
-                $values,
159
-                'EED_Events_Archive_display_datetimes',
160
-                'EED_Events_Archive_display_datetimes'
161
-            ); ?>
156
+				'venue_details',
157
+				$display_datetimes,
158
+				$values,
159
+				'EED_Events_Archive_display_datetimes',
160
+				'EED_Events_Archive_display_datetimes'
161
+			); ?>
162 162
         </td>
163 163
     </tr>
164 164
 
@@ -166,18 +166,18 @@  discard block
 block discarded – undo
166 166
         <th>
167 167
             <label for="EED_Events_Archive_display_venue">
168 168
                 <?php esc_html_e('Display Venue Details', 'event_espresso'); ?><?php echo EEH_Template::get_help_tab_link(
169
-                    'display_venue_details_info'
170
-                ); ?>
169
+					'display_venue_details_info'
170
+				); ?>
171 171
             </label>
172 172
         </th>
173 173
         <td>
174 174
             <?php echo EEH_Form_Fields::select(
175
-                'display_venue',
176
-                $display_venue,
177
-                $values,
178
-                'EED_Events_Archive_display_venue',
179
-                'EED_Events_Archive_display_venue'
180
-            ); ?>
175
+				'display_venue',
176
+				$display_venue,
177
+				$values,
178
+				'EED_Events_Archive_display_venue',
179
+				'EED_Events_Archive_display_venue'
180
+			); ?>
181 181
         </td>
182 182
     </tr>
183 183
 
@@ -185,18 +185,18 @@  discard block
 block discarded – undo
185 185
         <th>
186 186
             <label for="EED_Events_Archive_display_expired_events">
187 187
                 <?php esc_html_e('Display Expired Events', 'event_espresso'); ?><?php echo EEH_Template::get_help_tab_link(
188
-                    'display_expired_events_info'
189
-                ); ?>
188
+					'display_expired_events_info'
189
+				); ?>
190 190
             </label>
191 191
         </th>
192 192
         <td>
193 193
             <?php echo EEH_Form_Fields::select(
194
-                'expired_events',
195
-                $display_expired_events,
196
-                $values,
197
-                'EED_Events_Archive_display_expired_events',
198
-                'EED_Events_Archive_display_expired_events'
199
-            ); ?>
194
+				'expired_events',
195
+				$display_expired_events,
196
+				$values,
197
+				'EED_Events_Archive_display_expired_events',
198
+				'EED_Events_Archive_display_expired_events'
199
+			); ?>
200 200
         </td>
201 201
     </tr>
202 202
 
@@ -204,43 +204,43 @@  discard block
 block discarded – undo
204 204
         <th>
205 205
             <label for="EED_Events_Archive_use_sortable_display_order">
206 206
                 <?php esc_html_e(
207
-                    'Use Custom Display Order?',
208
-                    'event_espresso'
209
-                ); ?><?php // echo EEH_Template::get_help_tab_link('use_sortable_display_order_info');?>
207
+					'Use Custom Display Order?',
208
+					'event_espresso'
209
+				); ?><?php // echo EEH_Template::get_help_tab_link('use_sortable_display_order_info');?>
210 210
             </label>
211 211
         </th>
212 212
         <td>
213 213
             <?php echo EEH_Form_Fields::select(
214
-                'use_sortable_display_order',
215
-                $use_sortable_display_order,
216
-                $values,
217
-                'EED_Events_Archive_use_sortable_display_order',
218
-                'EED_Events_Archive_use_sortable_display_order'
219
-            ); ?>
214
+				'use_sortable_display_order',
215
+				$use_sortable_display_order,
216
+				$values,
217
+				'EED_Events_Archive_use_sortable_display_order',
218
+				'EED_Events_Archive_use_sortable_display_order'
219
+			); ?>
220 220
         </td>
221 221
     </tr>
222 222
 
223 223
     <tr>
224 224
         <th>
225 225
             <?php esc_html_e(
226
-                'Display Order',
227
-                'event_espresso'
228
-            ); ?><?php // echo EEH_Template::get_help_tab_link( 'event_archive_order_info' ); ?>
226
+				'Display Order',
227
+				'event_espresso'
228
+			); ?><?php // echo EEH_Template::get_help_tab_link( 'event_archive_order_info' ); ?>
229 229
         </th>
230 230
         <td>
231 231
 
232 232
             <?php wp_nonce_field(
233
-                'espresso_update_event_archive_order',
234
-                'espresso_update_event_archive_order_nonce',
235
-                false
236
-            ); ?>
233
+				'espresso_update_event_archive_order',
234
+				'espresso_update_event_archive_order_nonce',
235
+				false
236
+			); ?>
237 237
             <?php echo wp_kses($event_archive_display_order, AllowedTags::getWithFormTags()); ?>
238 238
 
239 239
             <p class="description"><?php
240
-                esc_html_e(
241
-                    'Drag and Drop the above to determine the display order of the Event Description, Date and Times, Ticket Selector, and Venue Information on the event archive page.',
242
-                    'event_espresso'
243
-                ); ?></p>
240
+				esc_html_e(
241
+					'Drag and Drop the above to determine the display order of the Event Description, Date and Times, Ticket Selector, and Venue Information on the event archive page.',
242
+					'event_espresso'
243
+				); ?></p>
244 244
 
245 245
         </td>
246 246
     </tr>
@@ -253,12 +253,12 @@  discard block
 block discarded – undo
253 253
         </th>
254 254
         <td>
255 255
             <?php echo EEH_Form_Fields::select(
256
-                'reset_event_list_settings',
257
-                0,
258
-                $values,
259
-                'EED_Events_Archive_reset_event_list_settings',
260
-                'EED_Events_Archive_reset_event_list_settings'
261
-            ); ?>
256
+				'reset_event_list_settings',
257
+				0,
258
+				$values,
259
+				'EED_Events_Archive_reset_event_list_settings',
260
+				'EED_Events_Archive_reset_event_list_settings'
261
+			); ?>
262 262
         </td>
263 263
     </tr>
264 264
 
Please login to merge, or discard this patch.
caffeinated/modules/recaptcha/templates/recaptcha.template.php 2 patches
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -1,6 +1,6 @@
 block discarded – undo
1 1
 <?php
2 2
 if (! defined('EVENT_ESPRESSO_VERSION')) {
3
-    exit('No direct script access allowed');
3
+	exit('No direct script access allowed');
4 4
 }
5 5
 /** @type string $recaptcha_language */
6 6
 /** @type string $recaptcha_publickey */
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@
 block discarded – undo
1 1
 <?php
2
-if (! defined('EVENT_ESPRESSO_VERSION')) {
2
+if ( ! defined('EVENT_ESPRESSO_VERSION')) {
3 3
     exit('No direct script access allowed');
4 4
 }
5 5
 /** @type string $recaptcha_language */
Please login to merge, or discard this patch.
caffeinated/payment_methods/Paypal_Pro/EEG_Paypal_Pro.gateway.php 2 patches
Spacing   +29 added lines, -29 removed lines patch added patch discarded remove patch
@@ -77,13 +77,13 @@  discard block
 block discarded – undo
77 77
     public function do_direct_payment($payment, $billing_info = null)
78 78
     {
79 79
         $transaction = $payment->transaction();
80
-        if (! $transaction instanceof EEI_Transaction) {
80
+        if ( ! $transaction instanceof EEI_Transaction) {
81 81
             throw new EE_Error(
82 82
                 esc_html__('No transaction for payment while paying with PayPal Pro.', 'event_espresso')
83 83
             );
84 84
         }
85 85
         $primary_registrant = $transaction->primary_registration();
86
-        if (! $primary_registrant instanceof EEI_Registration) {
86
+        if ( ! $primary_registrant instanceof EEI_Registration) {
87 87
             throw new EE_Error(
88 88
                 esc_html__(
89 89
                     'No primary registration on transaction while paying with PayPal Pro.',
@@ -92,7 +92,7 @@  discard block
 block discarded – undo
92 92
             );
93 93
         }
94 94
         $attendee = $primary_registrant->attendee();
95
-        if (! $attendee instanceof EEI_Attendee) {
95
+        if ( ! $attendee instanceof EEI_Attendee) {
96 96
             throw new EE_Error(
97 97
                 esc_html__(
98 98
                     'No attendee on primary registration while paying with PayPal Pro.',
@@ -189,7 +189,7 @@  discard block
 block discarded – undo
189 189
             // Required.  Credit card number.  No spaces or punctuation.
190 190
             'acct'           => $billing_info['credit_card'],
191 191
             // Required.  Credit card expiration date.  Format is MMYYYY
192
-            'expdate'        => $billing_info['exp_month'] . $billing_info['exp_year'],
192
+            'expdate'        => $billing_info['exp_month'].$billing_info['exp_year'],
193 193
             // Requirements determined by your PayPal account settings.  Security digits for credit card.
194 194
             'cvv2'           => $billing_info['cvv'],
195 195
         );
@@ -241,7 +241,7 @@  discard block
 block discarded – undo
241 241
         $ShippingAddress = array(
242 242
             'shiptoname'     => substr($use_registration_address_info
243 243
                 ? $attendee->full_name()
244
-                : $billing_info['first_name'] . ' ' . $billing_info['last_name'], 0, 32),
244
+                : $billing_info['first_name'].' '.$billing_info['last_name'], 0, 32),
245 245
             'shiptostreet'   => substr($use_registration_address_info
246 246
                 ? $attendee->address()
247 247
                 : $billing_info['address'], 0, 100),
@@ -270,7 +270,7 @@  discard block
 block discarded – undo
270 270
             'currencycode' => $payment->currency_code(),
271 271
             // Required if you include itemized cart details. (L_AMTn, etc.)
272 272
             // Subtotal of items not including S&H, or tax.
273
-            'itemamt'      => $gateway_formatter->formatCurrency($item_amount),//
273
+            'itemamt'      => $gateway_formatter->formatCurrency($item_amount), //
274 274
             // Total shipping costs for the order.  If you specify shippingamt, you must also specify itemamt.
275 275
             'shippingamt'  => '',
276 276
             // Total handling costs for the order.  If you specify handlingamt, you must also specify itemamt.
@@ -283,10 +283,10 @@  discard block
 block discarded – undo
283 283
             // Free-form field for your own use.  256 char max.
284 284
             'custom'       => $primary_registrant ? $primary_registrant->ID() : '',
285 285
             // Your own invoice or tracking number
286
-            'invnum'       => wp_generate_password(12, false),// $transaction->ID(),
286
+            'invnum'       => wp_generate_password(12, false), // $transaction->ID(),
287 287
             // URL for receiving Instant Payment Notifications.  This overrides what your profile is set to use.
288 288
             'notifyurl'    => '',
289
-            'buttonsource' => 'EventEspresso_SP',// EE will blow up if you change this
289
+            'buttonsource' => 'EventEspresso_SP', // EE will blow up if you change this
290 290
         );
291 291
         // Wrap all data arrays into a single, "master" array which will be passed into the class function.
292 292
         $PayPalRequestData = array(
@@ -396,52 +396,52 @@  discard block
 block discarded – undo
396 396
         // DP Fields
397 397
         $DPFields = isset($DataArray['DPFields']) ? $DataArray['DPFields'] : array();
398 398
         foreach ($DPFields as $DPFieldsVar => $DPFieldsVal) {
399
-            $DPFieldsNVP .= '&' . strtoupper($DPFieldsVar) . '=' . urlencode($DPFieldsVal);
399
+            $DPFieldsNVP .= '&'.strtoupper($DPFieldsVar).'='.urlencode($DPFieldsVal);
400 400
         }
401 401
         // CC Details Fields
402 402
         $CCDetails = isset($DataArray['CCDetails']) ? $DataArray['CCDetails'] : array();
403 403
         foreach ($CCDetails as $CCDetailsVar => $CCDetailsVal) {
404
-            $CCDetailsNVP .= '&' . strtoupper($CCDetailsVar) . '=' . urlencode($CCDetailsVal);
404
+            $CCDetailsNVP .= '&'.strtoupper($CCDetailsVar).'='.urlencode($CCDetailsVal);
405 405
         }
406 406
         // PayerInfo Type Fields
407 407
         $PayerInfo = isset($DataArray['PayerInfo']) ? $DataArray['PayerInfo'] : array();
408 408
         foreach ($PayerInfo as $PayerInfoVar => $PayerInfoVal) {
409
-            $PayerInfoNVP .= '&' . strtoupper($PayerInfoVar) . '=' . urlencode($PayerInfoVal);
409
+            $PayerInfoNVP .= '&'.strtoupper($PayerInfoVar).'='.urlencode($PayerInfoVal);
410 410
         }
411 411
         // Payer Name Fields
412 412
         $PayerName = isset($DataArray['PayerName']) ? $DataArray['PayerName'] : array();
413 413
         foreach ($PayerName as $PayerNameVar => $PayerNameVal) {
414
-            $PayerNameNVP .= '&' . strtoupper($PayerNameVar) . '=' . urlencode($PayerNameVal);
414
+            $PayerNameNVP .= '&'.strtoupper($PayerNameVar).'='.urlencode($PayerNameVal);
415 415
         }
416 416
         // Address Fields (Billing)
417 417
         $BillingAddress = isset($DataArray['BillingAddress']) ? $DataArray['BillingAddress'] : array();
418 418
         foreach ($BillingAddress as $BillingAddressVar => $BillingAddressVal) {
419
-            $BillingAddressNVP .= '&' . strtoupper($BillingAddressVar) . '=' . urlencode($BillingAddressVal);
419
+            $BillingAddressNVP .= '&'.strtoupper($BillingAddressVar).'='.urlencode($BillingAddressVal);
420 420
         }
421 421
         // Payment Details Type Fields
422 422
         $PaymentDetails = isset($DataArray['PaymentDetails']) ? $DataArray['PaymentDetails'] : array();
423 423
         foreach ($PaymentDetails as $PaymentDetailsVar => $PaymentDetailsVal) {
424
-            $PaymentDetailsNVP .= '&' . strtoupper($PaymentDetailsVar) . '=' . urlencode($PaymentDetailsVal);
424
+            $PaymentDetailsNVP .= '&'.strtoupper($PaymentDetailsVar).'='.urlencode($PaymentDetailsVal);
425 425
         }
426 426
         // Payment Details Item Type Fields
427 427
         $OrderItems = isset($DataArray['OrderItems']) ? $DataArray['OrderItems'] : array();
428 428
         $n = 0;
429 429
         foreach ($OrderItems as $OrderItemsVar => $OrderItemsVal) {
430
-            $CurrentItem = $OrderItems[ $OrderItemsVar ];
430
+            $CurrentItem = $OrderItems[$OrderItemsVar];
431 431
             foreach ($CurrentItem as $CurrentItemVar => $CurrentItemVal) {
432
-                $OrderItemsNVP .= '&' . strtoupper($CurrentItemVar) . $n . '=' . urlencode($CurrentItemVal);
432
+                $OrderItemsNVP .= '&'.strtoupper($CurrentItemVar).$n.'='.urlencode($CurrentItemVal);
433 433
             }
434 434
             $n++;
435 435
         }
436 436
         // Ship To Address Fields
437 437
         $ShippingAddress = isset($DataArray['ShippingAddress']) ? $DataArray['ShippingAddress'] : array();
438 438
         foreach ($ShippingAddress as $ShippingAddressVar => $ShippingAddressVal) {
439
-            $ShippingAddressNVP .= '&' . strtoupper($ShippingAddressVar) . '=' . urlencode($ShippingAddressVal);
439
+            $ShippingAddressNVP .= '&'.strtoupper($ShippingAddressVar).'='.urlencode($ShippingAddressVal);
440 440
         }
441 441
         // 3D Secure Fields
442 442
         $Secure3D = isset($DataArray['Secure3D']) ? $DataArray['Secure3D'] : array();
443 443
         foreach ($Secure3D as $Secure3DVar => $Secure3DVal) {
444
-            $Secure3DNVP .= '&' . strtoupper($Secure3DVar) . '=' . urlencode($Secure3DVal);
444
+            $Secure3DNVP .= '&'.strtoupper($Secure3DVar).'='.urlencode($Secure3DVal);
445 445
         }
446 446
         // Now that we have each chunk we need to go ahead and append them all together for our entire NVP string
447 447
         $NVPRequest = 'USER='
@@ -512,7 +512,7 @@  discard block
 block discarded – undo
512 512
             $valuepos = strpos($NVPString, '&') ? strpos($NVPString, '&') : strlen($NVPString);
513 513
             $valval = substr($NVPString, $keypos + 1, $valuepos - $keypos - 1);
514 514
             // decoding the response
515
-            $proArray[ $keyval ] = urldecode($valval);
515
+            $proArray[$keyval] = urldecode($valval);
516 516
             $NVPString = substr($NVPString, $valuepos + 1, strlen($NVPString));
517 517
         }
518 518
         return $proArray;
@@ -545,16 +545,16 @@  discard block
 block discarded – undo
545 545
     {
546 546
         $Errors = array();
547 547
         $n = 0;
548
-        while (isset($DataArray[ 'L_ERRORCODE' . $n . '' ])) {
549
-            $LErrorCode = isset($DataArray[ 'L_ERRORCODE' . $n . '' ]) ? $DataArray[ 'L_ERRORCODE' . $n . '' ] : '';
550
-            $LShortMessage = isset($DataArray[ 'L_SHORTMESSAGE' . $n . '' ])
551
-                ? $DataArray[ 'L_SHORTMESSAGE' . $n . '' ]
548
+        while (isset($DataArray['L_ERRORCODE'.$n.''])) {
549
+            $LErrorCode = isset($DataArray['L_ERRORCODE'.$n.'']) ? $DataArray['L_ERRORCODE'.$n.''] : '';
550
+            $LShortMessage = isset($DataArray['L_SHORTMESSAGE'.$n.''])
551
+                ? $DataArray['L_SHORTMESSAGE'.$n.'']
552 552
                 : '';
553
-            $LLongMessage = isset($DataArray[ 'L_LONGMESSAGE' . $n . '' ])
554
-                ? $DataArray[ 'L_LONGMESSAGE' . $n . '' ]
553
+            $LLongMessage = isset($DataArray['L_LONGMESSAGE'.$n.''])
554
+                ? $DataArray['L_LONGMESSAGE'.$n.'']
555 555
                 : '';
556
-            $LSeverityCode = isset($DataArray[ 'L_SEVERITYCODE' . $n . '' ])
557
-                ? $DataArray[ 'L_SEVERITYCODE' . $n . '' ]
556
+            $LSeverityCode = isset($DataArray['L_SEVERITYCODE'.$n.''])
557
+                ? $DataArray['L_SEVERITYCODE'.$n.'']
558 558
                 : '';
559 559
             $CurrentItem = array(
560 560
                 'L_ERRORCODE'    => $LErrorCode,
@@ -581,7 +581,7 @@  discard block
 block discarded – undo
581 581
     {
582 582
         $error = '';
583 583
         foreach ($Errors as $ErrorVar => $ErrorVal) {
584
-            $CurrentError = $Errors[ $ErrorVar ];
584
+            $CurrentError = $Errors[$ErrorVar];
585 585
             foreach ($CurrentError as $CurrentErrorVar => $CurrentErrorVal) {
586 586
                 $CurrentVarName = '';
587 587
                 if ($CurrentErrorVar == 'L_ERRORCODE') {
@@ -593,7 +593,7 @@  discard block
 block discarded – undo
593 593
                 } elseif ($CurrentErrorVar == 'L_SEVERITYCODE') {
594 594
                     $CurrentVarName = 'Severity Code';
595 595
                 }
596
-                $error .= '<br />' . $CurrentVarName . ': ' . $CurrentErrorVal;
596
+                $error .= '<br />'.$CurrentVarName.': '.$CurrentErrorVal;
597 597
             }
598 598
         }
599 599
         return $error;
Please login to merge, or discard this patch.
Indentation   +606 added lines, -606 removed lines patch added patch discarded remove patch
@@ -13,610 +13,610 @@
 block discarded – undo
13 13
  */
14 14
 class EEG_Paypal_Pro extends EE_Onsite_Gateway
15 15
 {
16
-    /**
17
-     * @var $_paypal_api_username string
18
-     */
19
-    protected $_api_username = null;
20
-
21
-    /**
22
-     * @var $_api_password string
23
-     */
24
-    protected $_api_password = null;
25
-
26
-    /**
27
-     * @var $_api_signature string
28
-     */
29
-    protected $_api_signature = null;
30
-
31
-    /**
32
-     * @var $_credit_card_types array with the keys for credit card types accepted on this account
33
-     */
34
-    protected $_credit_card_types    = null;
35
-
36
-    protected $_currencies_supported = array(
37
-        'USD',
38
-        'GBP',
39
-        'CAD',
40
-        'AUD',
41
-        'BRL',
42
-        'CHF',
43
-        'CZK',
44
-        'DKK',
45
-        'EUR',
46
-        'HKD',
47
-        'HUF',
48
-        'ILS',
49
-        'JPY',
50
-        'MXN',
51
-        'MYR',
52
-        'NOK',
53
-        'NZD',
54
-        'PHP',
55
-        'PLN',
56
-        'SEK',
57
-        'SGD',
58
-        'THB',
59
-        'TRY',
60
-        'TWD',
61
-        'RUB',
62
-        'INR',
63
-    );
64
-
65
-
66
-
67
-    /**
68
-     * @param EEI_Payment $payment
69
-     * @param array       $billing_info {
70
-     * @type string $credit_card
71
-     * @type string $credit_card_type
72
-     * @type string $exp_month always 2 characters
73
-     * @type string $exp_year always 4 characters
74
-     * @type string $cvv
75
-     * }
76
-     * @see      parent::do_direct_payment for more info
77
-     * @return EE_Payment|EEI_Payment
78
-     * @throws EE_Error
79
-     */
80
-    public function do_direct_payment($payment, $billing_info = null)
81
-    {
82
-        $transaction = $payment->transaction();
83
-        if (! $transaction instanceof EEI_Transaction) {
84
-            throw new EE_Error(
85
-                esc_html__('No transaction for payment while paying with PayPal Pro.', 'event_espresso')
86
-            );
87
-        }
88
-        $primary_registrant = $transaction->primary_registration();
89
-        if (! $primary_registrant instanceof EEI_Registration) {
90
-            throw new EE_Error(
91
-                esc_html__(
92
-                    'No primary registration on transaction while paying with PayPal Pro.',
93
-                    'event_espresso'
94
-                )
95
-            );
96
-        }
97
-        $attendee = $primary_registrant->attendee();
98
-        if (! $attendee instanceof EEI_Attendee) {
99
-            throw new EE_Error(
100
-                esc_html__(
101
-                    'No attendee on primary registration while paying with PayPal Pro.',
102
-                    'event_espresso'
103
-                )
104
-            );
105
-        }
106
-        $gateway_formatter = $this->_get_gateway_formatter();
107
-        $order_description = substr($gateway_formatter->formatOrderDescription($payment), 0, 127);
108
-        // charge for the full amount. Show itemized list
109
-        if ($this->_money->compare_floats($payment->amount(), $transaction->total(), '==')) {
110
-            $item_num = 1;
111
-            $total_line_item = $transaction->total_line_item();
112
-            $order_items = array();
113
-            foreach ($total_line_item->get_items() as $line_item) {
114
-                // ignore line items with a quantity of 0
115
-                if ($line_item->quantity() == 0) {
116
-                    continue;
117
-                }
118
-                // For percent items, whose unit_price is 0, use the total instead.
119
-                if ($line_item->is_percent()) {
120
-                    $unit_price = $line_item->total();
121
-                    $line_item_quantity = 1;
122
-                } else {
123
-                    $unit_price = $line_item->unit_price();
124
-                    $line_item_quantity = $line_item->quantity();
125
-                }
126
-                $item = array(
127
-                    // Item Name.  127 char max.
128
-                    'l_name'                 => substr(
129
-                        $gateway_formatter->formatLineItemName($line_item, $payment),
130
-                        0,
131
-                        127
132
-                    ),
133
-                    // Item description.  127 char max.
134
-                    'l_desc'                 => substr(
135
-                        $gateway_formatter->formatLineItemDesc($line_item, $payment),
136
-                        0,
137
-                        127
138
-                    ),
139
-                    // Cost of individual item.
140
-                    'l_amt'                  => $unit_price,
141
-                    // Item Number.  127 char max.
142
-                    'l_number'               => $item_num++,
143
-                    // Item quantity.  Must be any positive integer.
144
-                    'l_qty'                  => $line_item_quantity,
145
-                    // Item's sales tax amount.
146
-                    'l_taxamt'               => '',
147
-                    // eBay auction number of item.
148
-                    'l_ebayitemnumber'       => '',
149
-                    // eBay transaction ID of purchased item.
150
-                    'l_ebayitemauctiontxnid' => '',
151
-                    // eBay order ID for the item.
152
-                    'l_ebayitemorderid'      => '',
153
-                );
154
-                // add to array of all items
155
-                array_push($order_items, $item);
156
-            }
157
-            $item_amount = $total_line_item->get_items_total();
158
-            $tax_amount = $total_line_item->get_total_tax();
159
-        } else {
160
-            $order_items = array();
161
-            $item_amount = $payment->amount();
162
-            $tax_amount = 0;
163
-            array_push($order_items, array(
164
-                // Item Name.  127 char max.
165
-                'l_name'   => substr(
166
-                    $gateway_formatter->formatPartialPaymentLineItemName($payment),
167
-                    0,
168
-                    127
169
-                ),
170
-                // Item description.  127 char max.
171
-                'l_desc'   => substr(
172
-                    $gateway_formatter->formatPartialPaymentLineItemDesc($payment),
173
-                    0,
174
-                    127
175
-                ),
176
-                // Cost of individual item.
177
-                'l_amt'    => $payment->amount(),
178
-                // Item Number.  127 char max.
179
-                'l_number' => 1,
180
-                // Item quantity.  Must be any positive integer.
181
-                'l_qty'    => 1,
182
-            ));
183
-        }
184
-
185
-
186
-        /** @var RequestInterface $request */
187
-        $request = LoaderFactory::getLoader()->getShared(RequestInterface::class);
188
-        // Populate data arrays with order data.
189
-        $DPFields = array(
190
-            // How you want to obtain payment ?
191
-            // Authorization indicates the payment is a basic auth subject to settlement with Auth & Capture.
192
-            // Sale indicates that this is a final sale for which you are requesting payment.  Default is Sale.
193
-            'paymentaction'    => 'Sale',
194
-            // Required.  IP address of the payer's browser.
195
-            'ipaddress'        => $request->ipAddress(),
196
-            // Flag to determine whether you want the results returned by FMF.  1 or 0.  Default is 0.
197
-            'returnfmfdetails' => '1',
198
-        );
199
-        $CCDetails = array(
200
-            // Required. Type of credit card.  Visa, MasterCard, Discover, Amex, Maestro, Solo.
201
-            // If Maestro or Solo, the currency code must be GBP.
202
-            //  In addition, either start date or issue number must be specified.
203
-            'creditcardtype' => $billing_info['credit_card_type'],
204
-            // Required.  Credit card number.  No spaces or punctuation.
205
-            'acct'           => $billing_info['credit_card'],
206
-            // Required.  Credit card expiration date.  Format is MMYYYY
207
-            'expdate'        => $billing_info['exp_month'] . $billing_info['exp_year'],
208
-            // Requirements determined by your PayPal account settings.  Security digits for credit card.
209
-            'cvv2'           => $billing_info['cvv'],
210
-        );
211
-        $PayerInfo = array(
212
-            // Email address of payer.
213
-            'email'       => $billing_info['email'],
214
-            // Unique PayPal customer ID for payer.
215
-            'payerid'     => '',
216
-            // Status of payer.  Values are verified or unverified
217
-            'payerstatus' => '',
218
-            // Payer's business name.
219
-            'business'    => '',
220
-        );
221
-        $PayerName = array(
222
-            // Payer's salutation.  20 char max.
223
-            'salutation' => '',
224
-            // Payer's first name.  25 char max.
225
-            'firstname'  => substr($billing_info['first_name'], 0, 25),
226
-            // Payer's middle name.  25 char max.
227
-            'middlename' => '',
228
-            // Payer's last name.  25 char max.
229
-            'lastname'   => substr($billing_info['last_name'], 0, 25),
230
-            // Payer's suffix.  12 char max.
231
-            'suffix'     => '',
232
-        );
233
-        $BillingAddress = array(
234
-            // Required.  First street address.
235
-            'street'      => $billing_info['address'],
236
-            // Second street address.
237
-            'street2'     => $billing_info['address2'],
238
-            // Required.  Name of City.
239
-            'city'        => $billing_info['city'],
240
-            // Required. Name of State or Province.
241
-            'state'       => substr($billing_info['state'], 0, 40),
242
-            // Required.  Country code.
243
-            'countrycode' => $billing_info['country'],
244
-            // Required.  Postal code of payer.
245
-            'zip'         => $billing_info['zip'],
246
-        );
247
-        // check if the registration info contains the needed fields for paypal pro
248
-        // (see https://developer.paypal.com/docs/classic/api/merchant/DoDirectPayment_API_Operation_NVP/)
249
-        if ($attendee->address() && $attendee->city() && $attendee->country_ID()) {
250
-            $use_registration_address_info = true;
251
-        } else {
252
-            $use_registration_address_info = false;
253
-        }
254
-        // so if the attendee has enough data to fill out PayPal Pro's shipping info, use it.
255
-        // If not, use the billing info again
256
-        $ShippingAddress = array(
257
-            'shiptoname'     => substr($use_registration_address_info
258
-                ? $attendee->full_name()
259
-                : $billing_info['first_name'] . ' ' . $billing_info['last_name'], 0, 32),
260
-            'shiptostreet'   => substr($use_registration_address_info
261
-                ? $attendee->address()
262
-                : $billing_info['address'], 0, 100),
263
-            'shiptostreet2'  => substr($use_registration_address_info
264
-                ? $attendee->address2() : $billing_info['address2'], 0, 100),
265
-            'shiptocity'     => substr($use_registration_address_info
266
-                ? $attendee->city()
267
-                : $billing_info['city'], 0, 40),
268
-            'shiptostate'          => substr($use_registration_address_info
269
-                ? $attendee->state_name()
270
-                : $billing_info['state'], 0, 40),
271
-            'shiptocountry'  => $use_registration_address_info
272
-                ? $attendee->country_ID()
273
-                : $billing_info['country'],
274
-            'shiptozip'      => substr($use_registration_address_info
275
-                ? $attendee->zip()
276
-                : $billing_info['zip'], 0, 20),
277
-            'shiptophonenum' => substr($use_registration_address_info
278
-                ? $attendee->phone()
279
-                : $billing_info['phone'], 0, 20),
280
-        );
281
-        $PaymentDetails = array(
282
-            // Required.  Total amount of order, including shipping, handling, and tax.
283
-            'amt'          => $gateway_formatter->formatCurrency($payment->amount()),
284
-            // Required.  Three-letter currency code.  Default is USD.
285
-            'currencycode' => $payment->currency_code(),
286
-            // Required if you include itemized cart details. (L_AMTn, etc.)
287
-            // Subtotal of items not including S&H, or tax.
288
-            'itemamt'      => $gateway_formatter->formatCurrency($item_amount),//
289
-            // Total shipping costs for the order.  If you specify shippingamt, you must also specify itemamt.
290
-            'shippingamt'  => '',
291
-            // Total handling costs for the order.  If you specify handlingamt, you must also specify itemamt.
292
-            'handlingamt'  => '',
293
-            // Required if you specify itemized cart tax details.
294
-            // Sum of tax for all items on the order.  Total sales tax.
295
-            'taxamt'       => $gateway_formatter->formatCurrency($tax_amount),
296
-            // Description of the order the customer is purchasing.  127 char max.
297
-            'desc'         => $order_description,
298
-            // Free-form field for your own use.  256 char max.
299
-            'custom'       => $primary_registrant ? $primary_registrant->ID() : '',
300
-            // Your own invoice or tracking number
301
-            'invnum'       => wp_generate_password(12, false),// $transaction->ID(),
302
-            // URL for receiving Instant Payment Notifications.  This overrides what your profile is set to use.
303
-            'notifyurl'    => '',
304
-            'buttonsource' => 'EventEspresso_SP',// EE will blow up if you change this
305
-        );
306
-        // Wrap all data arrays into a single, "master" array which will be passed into the class function.
307
-        $PayPalRequestData = array(
308
-            'DPFields'        => $DPFields,
309
-            'CCDetails'       => $CCDetails,
310
-            'PayerInfo'       => $PayerInfo,
311
-            'PayerName'       => $PayerName,
312
-            'BillingAddress'  => $BillingAddress,
313
-            'ShippingAddress' => $ShippingAddress,
314
-            'PaymentDetails'  => $PaymentDetails,
315
-            'OrderItems'      => $order_items,
316
-        );
317
-        $this->_log_clean_request($PayPalRequestData, $payment);
318
-        try {
319
-            $PayPalResult = $this->prep_and_curl_request($PayPalRequestData);
320
-            // remove PCI-sensitive data so it doesn't get stored
321
-            $PayPalResult = $this->_log_clean_response($PayPalResult, $payment);
322
-            if (isset($PayPalResult['L_ERRORCODE0']) && $PayPalResult['L_ERRORCODE0'] === '10002') {
323
-                $message = esc_html__('PayPal did not accept your API username, password, or signature. Please double-check these credentials and if debug mode is on.', 'event_espresso');
324
-            } elseif (isset($PayPalResult['L_LONGMESSAGE0'])) {
325
-                $message = $PayPalResult['L_LONGMESSAGE0'];
326
-            } else {
327
-                $message = $PayPalResult['ACK'];
328
-            }
329
-            if (empty($PayPalResult['RAWRESPONSE'])) {
330
-                $payment->set_status($this->_pay_model->failed_status());
331
-                $payment->set_gateway_response(esc_html__('No response received from Paypal Pro', 'event_espresso'));
332
-                $payment->set_details($PayPalResult);
333
-            } else {
334
-                if ($this->_APICallSuccessful($PayPalResult)) {
335
-                    $payment->set_status($this->_pay_model->approved_status());
336
-                } else {
337
-                    $payment->set_status($this->_pay_model->declined_status());
338
-                }
339
-                // make sure we interpret the AMT as a float, not an international string
340
-                // (where periods are thousand separators)
341
-                $payment->set_amount(isset($PayPalResult['AMT']) ? floatval($PayPalResult['AMT']) : 0);
342
-                $payment->set_gateway_response($message);
343
-                $payment->set_txn_id_chq_nmbr(isset($PayPalResult['TRANSACTIONID'])
344
-                    ? $PayPalResult['TRANSACTIONID']
345
-                    : null);
346
-                $primary_registration_code = $primary_registrant instanceof EE_Registration
347
-                    ? $primary_registrant->reg_code()
348
-                    : '';
349
-                $payment->set_extra_accntng($primary_registration_code);
350
-                $payment->set_details($PayPalResult);
351
-            }
352
-        } catch (Exception $e) {
353
-            $payment->set_status($this->_pay_model->failed_status());
354
-            $payment->set_gateway_response($e->getMessage());
355
-        }
356
-        // $payment->set_status( $this->_pay_model->declined_status() );
357
-        // $payment->set_gateway_response( '' );
358
-        return $payment;
359
-    }
360
-
361
-
362
-
363
-    /**
364
-     * CLeans out sensitive CC data and then logs it, and returns the cleaned request
365
-     *
366
-     * @param array       $request
367
-     * @param EEI_Payment $payment
368
-     * @return void
369
-     */
370
-    private function _log_clean_request($request, $payment)
371
-    {
372
-        $cleaned_request_data = $request;
373
-        unset($cleaned_request_data['CCDetails']['acct']);
374
-        unset($cleaned_request_data['CCDetails']['cvv2']);
375
-        unset($cleaned_request_data['CCDetails']['expdate']);
376
-        $this->log(array('Paypal Request' => $cleaned_request_data), $payment);
377
-    }
378
-
379
-
380
-
381
-    /**
382
-     * Cleans the response, logs it, and returns it
383
-     *
384
-     * @param array       $response
385
-     * @param EEI_Payment $payment
386
-     * @return array cleaned
387
-     */
388
-    private function _log_clean_response($response, $payment)
389
-    {
390
-        unset($response['REQUESTDATA']['CREDITCARDTYPE']);
391
-        unset($response['REQUESTDATA']['ACCT']);
392
-        unset($response['REQUESTDATA']['EXPDATE']);
393
-        unset($response['REQUESTDATA']['CVV2']);
394
-        unset($response['RAWREQUEST']);
395
-        $this->log(array('Paypal Response' => $response), $payment);
396
-        return $response;
397
-    }
398
-
399
-
400
-
401
-    /**
402
-     * @param $DataArray
403
-     * @return array
404
-     */
405
-    private function prep_and_curl_request($DataArray)
406
-    {
407
-        // Create empty holders for each portion of the NVP string
408
-        $DPFieldsNVP = '&METHOD=DoDirectPayment&BUTTONSOURCE=AngellEYE_PHP_Class_DDP';
409
-        $CCDetailsNVP = '';
410
-        $PayerInfoNVP = '';
411
-        $PayerNameNVP = '';
412
-        $BillingAddressNVP = '';
413
-        $ShippingAddressNVP = '';
414
-        $PaymentDetailsNVP = '';
415
-        $OrderItemsNVP = '';
416
-        $Secure3DNVP = '';
417
-        // DP Fields
418
-        $DPFields = isset($DataArray['DPFields']) ? $DataArray['DPFields'] : array();
419
-        foreach ($DPFields as $DPFieldsVar => $DPFieldsVal) {
420
-            $DPFieldsNVP .= '&' . strtoupper($DPFieldsVar) . '=' . urlencode($DPFieldsVal);
421
-        }
422
-        // CC Details Fields
423
-        $CCDetails = isset($DataArray['CCDetails']) ? $DataArray['CCDetails'] : array();
424
-        foreach ($CCDetails as $CCDetailsVar => $CCDetailsVal) {
425
-            $CCDetailsNVP .= '&' . strtoupper($CCDetailsVar) . '=' . urlencode($CCDetailsVal);
426
-        }
427
-        // PayerInfo Type Fields
428
-        $PayerInfo = isset($DataArray['PayerInfo']) ? $DataArray['PayerInfo'] : array();
429
-        foreach ($PayerInfo as $PayerInfoVar => $PayerInfoVal) {
430
-            $PayerInfoNVP .= '&' . strtoupper($PayerInfoVar) . '=' . urlencode($PayerInfoVal);
431
-        }
432
-        // Payer Name Fields
433
-        $PayerName = isset($DataArray['PayerName']) ? $DataArray['PayerName'] : array();
434
-        foreach ($PayerName as $PayerNameVar => $PayerNameVal) {
435
-            $PayerNameNVP .= '&' . strtoupper($PayerNameVar) . '=' . urlencode($PayerNameVal);
436
-        }
437
-        // Address Fields (Billing)
438
-        $BillingAddress = isset($DataArray['BillingAddress']) ? $DataArray['BillingAddress'] : array();
439
-        foreach ($BillingAddress as $BillingAddressVar => $BillingAddressVal) {
440
-            $BillingAddressNVP .= '&' . strtoupper($BillingAddressVar) . '=' . urlencode($BillingAddressVal);
441
-        }
442
-        // Payment Details Type Fields
443
-        $PaymentDetails = isset($DataArray['PaymentDetails']) ? $DataArray['PaymentDetails'] : array();
444
-        foreach ($PaymentDetails as $PaymentDetailsVar => $PaymentDetailsVal) {
445
-            $PaymentDetailsNVP .= '&' . strtoupper($PaymentDetailsVar) . '=' . urlencode($PaymentDetailsVal);
446
-        }
447
-        // Payment Details Item Type Fields
448
-        $OrderItems = isset($DataArray['OrderItems']) ? $DataArray['OrderItems'] : array();
449
-        $n = 0;
450
-        foreach ($OrderItems as $OrderItemsVar => $OrderItemsVal) {
451
-            $CurrentItem = $OrderItems[ $OrderItemsVar ];
452
-            foreach ($CurrentItem as $CurrentItemVar => $CurrentItemVal) {
453
-                $OrderItemsNVP .= '&' . strtoupper($CurrentItemVar) . $n . '=' . urlencode($CurrentItemVal);
454
-            }
455
-            $n++;
456
-        }
457
-        // Ship To Address Fields
458
-        $ShippingAddress = isset($DataArray['ShippingAddress']) ? $DataArray['ShippingAddress'] : array();
459
-        foreach ($ShippingAddress as $ShippingAddressVar => $ShippingAddressVal) {
460
-            $ShippingAddressNVP .= '&' . strtoupper($ShippingAddressVar) . '=' . urlencode($ShippingAddressVal);
461
-        }
462
-        // 3D Secure Fields
463
-        $Secure3D = isset($DataArray['Secure3D']) ? $DataArray['Secure3D'] : array();
464
-        foreach ($Secure3D as $Secure3DVar => $Secure3DVal) {
465
-            $Secure3DNVP .= '&' . strtoupper($Secure3DVar) . '=' . urlencode($Secure3DVal);
466
-        }
467
-        // Now that we have each chunk we need to go ahead and append them all together for our entire NVP string
468
-        $NVPRequest = 'USER='
469
-                      . $this->_api_username
470
-                      . '&PWD='
471
-                      . $this->_api_password
472
-                      . '&VERSION=64.0'
473
-                      . '&SIGNATURE='
474
-                      . $this->_api_signature
475
-                      . $DPFieldsNVP
476
-                      . $CCDetailsNVP
477
-                      . $PayerInfoNVP
478
-                      . $PayerNameNVP
479
-                      . $BillingAddressNVP
480
-                      . $PaymentDetailsNVP
481
-                      . $OrderItemsNVP
482
-                      . $ShippingAddressNVP
483
-                      . $Secure3DNVP;
484
-        $NVPResponse = $this->_CURLRequest($NVPRequest);
485
-        $NVPRequestArray = $this->_NVPToArray($NVPRequest);
486
-        $NVPResponseArray = $this->_NVPToArray($NVPResponse);
487
-        $Errors = $this->_GetErrors($NVPResponseArray);
488
-        $NVPResponseArray['ERRORS'] = $Errors;
489
-        $NVPResponseArray['REQUESTDATA'] = $NVPRequestArray;
490
-        $NVPResponseArray['RAWREQUEST'] = $NVPRequest;
491
-        $NVPResponseArray['RAWRESPONSE'] = $NVPResponse;
492
-        return $NVPResponseArray;
493
-    }
494
-
495
-
496
-
497
-    /**
498
-     * @param $Request
499
-     * @return mixed
500
-     */
501
-    private function _CURLRequest($Request)
502
-    {
503
-        $EndPointURL = $this->_debug_mode ? 'https://api-3t.sandbox.paypal.com/nvp' : 'https://api-3t.paypal.com/nvp';
504
-        $curl = curl_init();
505
-        curl_setopt($curl, CURLOPT_VERBOSE, apply_filters('FHEE__EEG_Paypal_Pro__CurlRequest__CURLOPT_VERBOSE', true));
506
-        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
507
-        curl_setopt($curl, CURLOPT_TIMEOUT, 60);
508
-        curl_setopt($curl, CURLOPT_URL, $EndPointURL);
509
-        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
510
-        curl_setopt($curl, CURLOPT_POSTFIELDS, $Request);
511
-        curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
512
-        // execute the curl POST
513
-        $Response = curl_exec($curl);
514
-        curl_close($curl);
515
-        return $Response;
516
-    }
517
-
518
-
519
-
520
-    /**
521
-     * @param $NVPString
522
-     * @return array
523
-     */
524
-    private function _NVPToArray($NVPString)
525
-    {
526
-        // prepare responses into array
527
-        $proArray = array();
528
-        while (strlen($NVPString)) {
529
-            // name
530
-            $keypos = strpos($NVPString, '=');
531
-            $keyval = substr($NVPString, 0, $keypos);
532
-            // value
533
-            $valuepos = strpos($NVPString, '&') ? strpos($NVPString, '&') : strlen($NVPString);
534
-            $valval = substr($NVPString, $keypos + 1, $valuepos - $keypos - 1);
535
-            // decoding the response
536
-            $proArray[ $keyval ] = urldecode($valval);
537
-            $NVPString = substr($NVPString, $valuepos + 1, strlen($NVPString));
538
-        }
539
-        return $proArray;
540
-    }
541
-
542
-
543
-
544
-    /**
545
-     * @param array $PayPalResult
546
-     * @return bool
547
-     */
548
-    private function _APICallSuccessful($PayPalResult)
549
-    {
550
-        $approved = false;
551
-        // check main response message from PayPal
552
-        if (isset($PayPalResult['ACK']) && ! empty($PayPalResult['ACK'])) {
553
-            $ack = strtoupper($PayPalResult['ACK']);
554
-            $approved = ($ack == 'SUCCESS' || $ack == 'SUCCESSWITHWARNING' || $ack == 'PARTIALSUCCESS') ? true : false;
555
-        }
556
-        return $approved;
557
-    }
558
-
559
-
560
-
561
-    /**
562
-     * @param $DataArray
563
-     * @return array
564
-     */
565
-    private function _GetErrors($DataArray)
566
-    {
567
-        $Errors = array();
568
-        $n = 0;
569
-        while (isset($DataArray[ 'L_ERRORCODE' . $n . '' ])) {
570
-            $LErrorCode = isset($DataArray[ 'L_ERRORCODE' . $n . '' ]) ? $DataArray[ 'L_ERRORCODE' . $n . '' ] : '';
571
-            $LShortMessage = isset($DataArray[ 'L_SHORTMESSAGE' . $n . '' ])
572
-                ? $DataArray[ 'L_SHORTMESSAGE' . $n . '' ]
573
-                : '';
574
-            $LLongMessage = isset($DataArray[ 'L_LONGMESSAGE' . $n . '' ])
575
-                ? $DataArray[ 'L_LONGMESSAGE' . $n . '' ]
576
-                : '';
577
-            $LSeverityCode = isset($DataArray[ 'L_SEVERITYCODE' . $n . '' ])
578
-                ? $DataArray[ 'L_SEVERITYCODE' . $n . '' ]
579
-                : '';
580
-            $CurrentItem = array(
581
-                'L_ERRORCODE'    => $LErrorCode,
582
-                'L_SHORTMESSAGE' => $LShortMessage,
583
-                'L_LONGMESSAGE'  => $LLongMessage,
584
-                'L_SEVERITYCODE' => $LSeverityCode,
585
-            );
586
-            array_push($Errors, $CurrentItem);
587
-            $n++;
588
-        }
589
-        return $Errors;
590
-    }
591
-
592
-
593
-
594
-    /**
595
-     *        nothing to see here...  move along....
596
-     *
597
-     * @access protected
598
-     * @param $Errors
599
-     * @return string
600
-     */
601
-    private function _DisplayErrors($Errors)
602
-    {
603
-        $error = '';
604
-        foreach ($Errors as $ErrorVar => $ErrorVal) {
605
-            $CurrentError = $Errors[ $ErrorVar ];
606
-            foreach ($CurrentError as $CurrentErrorVar => $CurrentErrorVal) {
607
-                $CurrentVarName = '';
608
-                if ($CurrentErrorVar == 'L_ERRORCODE') {
609
-                    $CurrentVarName = 'Error Code';
610
-                } elseif ($CurrentErrorVar == 'L_SHORTMESSAGE') {
611
-                    $CurrentVarName = 'Short Message';
612
-                } elseif ($CurrentErrorVar == 'L_LONGMESSAGE') {
613
-                    $CurrentVarName = 'Long Message';
614
-                } elseif ($CurrentErrorVar == 'L_SEVERITYCODE') {
615
-                    $CurrentVarName = 'Severity Code';
616
-                }
617
-                $error .= '<br />' . $CurrentVarName . ': ' . $CurrentErrorVal;
618
-            }
619
-        }
620
-        return $error;
621
-    }
16
+	/**
17
+	 * @var $_paypal_api_username string
18
+	 */
19
+	protected $_api_username = null;
20
+
21
+	/**
22
+	 * @var $_api_password string
23
+	 */
24
+	protected $_api_password = null;
25
+
26
+	/**
27
+	 * @var $_api_signature string
28
+	 */
29
+	protected $_api_signature = null;
30
+
31
+	/**
32
+	 * @var $_credit_card_types array with the keys for credit card types accepted on this account
33
+	 */
34
+	protected $_credit_card_types    = null;
35
+
36
+	protected $_currencies_supported = array(
37
+		'USD',
38
+		'GBP',
39
+		'CAD',
40
+		'AUD',
41
+		'BRL',
42
+		'CHF',
43
+		'CZK',
44
+		'DKK',
45
+		'EUR',
46
+		'HKD',
47
+		'HUF',
48
+		'ILS',
49
+		'JPY',
50
+		'MXN',
51
+		'MYR',
52
+		'NOK',
53
+		'NZD',
54
+		'PHP',
55
+		'PLN',
56
+		'SEK',
57
+		'SGD',
58
+		'THB',
59
+		'TRY',
60
+		'TWD',
61
+		'RUB',
62
+		'INR',
63
+	);
64
+
65
+
66
+
67
+	/**
68
+	 * @param EEI_Payment $payment
69
+	 * @param array       $billing_info {
70
+	 * @type string $credit_card
71
+	 * @type string $credit_card_type
72
+	 * @type string $exp_month always 2 characters
73
+	 * @type string $exp_year always 4 characters
74
+	 * @type string $cvv
75
+	 * }
76
+	 * @see      parent::do_direct_payment for more info
77
+	 * @return EE_Payment|EEI_Payment
78
+	 * @throws EE_Error
79
+	 */
80
+	public function do_direct_payment($payment, $billing_info = null)
81
+	{
82
+		$transaction = $payment->transaction();
83
+		if (! $transaction instanceof EEI_Transaction) {
84
+			throw new EE_Error(
85
+				esc_html__('No transaction for payment while paying with PayPal Pro.', 'event_espresso')
86
+			);
87
+		}
88
+		$primary_registrant = $transaction->primary_registration();
89
+		if (! $primary_registrant instanceof EEI_Registration) {
90
+			throw new EE_Error(
91
+				esc_html__(
92
+					'No primary registration on transaction while paying with PayPal Pro.',
93
+					'event_espresso'
94
+				)
95
+			);
96
+		}
97
+		$attendee = $primary_registrant->attendee();
98
+		if (! $attendee instanceof EEI_Attendee) {
99
+			throw new EE_Error(
100
+				esc_html__(
101
+					'No attendee on primary registration while paying with PayPal Pro.',
102
+					'event_espresso'
103
+				)
104
+			);
105
+		}
106
+		$gateway_formatter = $this->_get_gateway_formatter();
107
+		$order_description = substr($gateway_formatter->formatOrderDescription($payment), 0, 127);
108
+		// charge for the full amount. Show itemized list
109
+		if ($this->_money->compare_floats($payment->amount(), $transaction->total(), '==')) {
110
+			$item_num = 1;
111
+			$total_line_item = $transaction->total_line_item();
112
+			$order_items = array();
113
+			foreach ($total_line_item->get_items() as $line_item) {
114
+				// ignore line items with a quantity of 0
115
+				if ($line_item->quantity() == 0) {
116
+					continue;
117
+				}
118
+				// For percent items, whose unit_price is 0, use the total instead.
119
+				if ($line_item->is_percent()) {
120
+					$unit_price = $line_item->total();
121
+					$line_item_quantity = 1;
122
+				} else {
123
+					$unit_price = $line_item->unit_price();
124
+					$line_item_quantity = $line_item->quantity();
125
+				}
126
+				$item = array(
127
+					// Item Name.  127 char max.
128
+					'l_name'                 => substr(
129
+						$gateway_formatter->formatLineItemName($line_item, $payment),
130
+						0,
131
+						127
132
+					),
133
+					// Item description.  127 char max.
134
+					'l_desc'                 => substr(
135
+						$gateway_formatter->formatLineItemDesc($line_item, $payment),
136
+						0,
137
+						127
138
+					),
139
+					// Cost of individual item.
140
+					'l_amt'                  => $unit_price,
141
+					// Item Number.  127 char max.
142
+					'l_number'               => $item_num++,
143
+					// Item quantity.  Must be any positive integer.
144
+					'l_qty'                  => $line_item_quantity,
145
+					// Item's sales tax amount.
146
+					'l_taxamt'               => '',
147
+					// eBay auction number of item.
148
+					'l_ebayitemnumber'       => '',
149
+					// eBay transaction ID of purchased item.
150
+					'l_ebayitemauctiontxnid' => '',
151
+					// eBay order ID for the item.
152
+					'l_ebayitemorderid'      => '',
153
+				);
154
+				// add to array of all items
155
+				array_push($order_items, $item);
156
+			}
157
+			$item_amount = $total_line_item->get_items_total();
158
+			$tax_amount = $total_line_item->get_total_tax();
159
+		} else {
160
+			$order_items = array();
161
+			$item_amount = $payment->amount();
162
+			$tax_amount = 0;
163
+			array_push($order_items, array(
164
+				// Item Name.  127 char max.
165
+				'l_name'   => substr(
166
+					$gateway_formatter->formatPartialPaymentLineItemName($payment),
167
+					0,
168
+					127
169
+				),
170
+				// Item description.  127 char max.
171
+				'l_desc'   => substr(
172
+					$gateway_formatter->formatPartialPaymentLineItemDesc($payment),
173
+					0,
174
+					127
175
+				),
176
+				// Cost of individual item.
177
+				'l_amt'    => $payment->amount(),
178
+				// Item Number.  127 char max.
179
+				'l_number' => 1,
180
+				// Item quantity.  Must be any positive integer.
181
+				'l_qty'    => 1,
182
+			));
183
+		}
184
+
185
+
186
+		/** @var RequestInterface $request */
187
+		$request = LoaderFactory::getLoader()->getShared(RequestInterface::class);
188
+		// Populate data arrays with order data.
189
+		$DPFields = array(
190
+			// How you want to obtain payment ?
191
+			// Authorization indicates the payment is a basic auth subject to settlement with Auth & Capture.
192
+			// Sale indicates that this is a final sale for which you are requesting payment.  Default is Sale.
193
+			'paymentaction'    => 'Sale',
194
+			// Required.  IP address of the payer's browser.
195
+			'ipaddress'        => $request->ipAddress(),
196
+			// Flag to determine whether you want the results returned by FMF.  1 or 0.  Default is 0.
197
+			'returnfmfdetails' => '1',
198
+		);
199
+		$CCDetails = array(
200
+			// Required. Type of credit card.  Visa, MasterCard, Discover, Amex, Maestro, Solo.
201
+			// If Maestro or Solo, the currency code must be GBP.
202
+			//  In addition, either start date or issue number must be specified.
203
+			'creditcardtype' => $billing_info['credit_card_type'],
204
+			// Required.  Credit card number.  No spaces or punctuation.
205
+			'acct'           => $billing_info['credit_card'],
206
+			// Required.  Credit card expiration date.  Format is MMYYYY
207
+			'expdate'        => $billing_info['exp_month'] . $billing_info['exp_year'],
208
+			// Requirements determined by your PayPal account settings.  Security digits for credit card.
209
+			'cvv2'           => $billing_info['cvv'],
210
+		);
211
+		$PayerInfo = array(
212
+			// Email address of payer.
213
+			'email'       => $billing_info['email'],
214
+			// Unique PayPal customer ID for payer.
215
+			'payerid'     => '',
216
+			// Status of payer.  Values are verified or unverified
217
+			'payerstatus' => '',
218
+			// Payer's business name.
219
+			'business'    => '',
220
+		);
221
+		$PayerName = array(
222
+			// Payer's salutation.  20 char max.
223
+			'salutation' => '',
224
+			// Payer's first name.  25 char max.
225
+			'firstname'  => substr($billing_info['first_name'], 0, 25),
226
+			// Payer's middle name.  25 char max.
227
+			'middlename' => '',
228
+			// Payer's last name.  25 char max.
229
+			'lastname'   => substr($billing_info['last_name'], 0, 25),
230
+			// Payer's suffix.  12 char max.
231
+			'suffix'     => '',
232
+		);
233
+		$BillingAddress = array(
234
+			// Required.  First street address.
235
+			'street'      => $billing_info['address'],
236
+			// Second street address.
237
+			'street2'     => $billing_info['address2'],
238
+			// Required.  Name of City.
239
+			'city'        => $billing_info['city'],
240
+			// Required. Name of State or Province.
241
+			'state'       => substr($billing_info['state'], 0, 40),
242
+			// Required.  Country code.
243
+			'countrycode' => $billing_info['country'],
244
+			// Required.  Postal code of payer.
245
+			'zip'         => $billing_info['zip'],
246
+		);
247
+		// check if the registration info contains the needed fields for paypal pro
248
+		// (see https://developer.paypal.com/docs/classic/api/merchant/DoDirectPayment_API_Operation_NVP/)
249
+		if ($attendee->address() && $attendee->city() && $attendee->country_ID()) {
250
+			$use_registration_address_info = true;
251
+		} else {
252
+			$use_registration_address_info = false;
253
+		}
254
+		// so if the attendee has enough data to fill out PayPal Pro's shipping info, use it.
255
+		// If not, use the billing info again
256
+		$ShippingAddress = array(
257
+			'shiptoname'     => substr($use_registration_address_info
258
+				? $attendee->full_name()
259
+				: $billing_info['first_name'] . ' ' . $billing_info['last_name'], 0, 32),
260
+			'shiptostreet'   => substr($use_registration_address_info
261
+				? $attendee->address()
262
+				: $billing_info['address'], 0, 100),
263
+			'shiptostreet2'  => substr($use_registration_address_info
264
+				? $attendee->address2() : $billing_info['address2'], 0, 100),
265
+			'shiptocity'     => substr($use_registration_address_info
266
+				? $attendee->city()
267
+				: $billing_info['city'], 0, 40),
268
+			'shiptostate'          => substr($use_registration_address_info
269
+				? $attendee->state_name()
270
+				: $billing_info['state'], 0, 40),
271
+			'shiptocountry'  => $use_registration_address_info
272
+				? $attendee->country_ID()
273
+				: $billing_info['country'],
274
+			'shiptozip'      => substr($use_registration_address_info
275
+				? $attendee->zip()
276
+				: $billing_info['zip'], 0, 20),
277
+			'shiptophonenum' => substr($use_registration_address_info
278
+				? $attendee->phone()
279
+				: $billing_info['phone'], 0, 20),
280
+		);
281
+		$PaymentDetails = array(
282
+			// Required.  Total amount of order, including shipping, handling, and tax.
283
+			'amt'          => $gateway_formatter->formatCurrency($payment->amount()),
284
+			// Required.  Three-letter currency code.  Default is USD.
285
+			'currencycode' => $payment->currency_code(),
286
+			// Required if you include itemized cart details. (L_AMTn, etc.)
287
+			// Subtotal of items not including S&H, or tax.
288
+			'itemamt'      => $gateway_formatter->formatCurrency($item_amount),//
289
+			// Total shipping costs for the order.  If you specify shippingamt, you must also specify itemamt.
290
+			'shippingamt'  => '',
291
+			// Total handling costs for the order.  If you specify handlingamt, you must also specify itemamt.
292
+			'handlingamt'  => '',
293
+			// Required if you specify itemized cart tax details.
294
+			// Sum of tax for all items on the order.  Total sales tax.
295
+			'taxamt'       => $gateway_formatter->formatCurrency($tax_amount),
296
+			// Description of the order the customer is purchasing.  127 char max.
297
+			'desc'         => $order_description,
298
+			// Free-form field for your own use.  256 char max.
299
+			'custom'       => $primary_registrant ? $primary_registrant->ID() : '',
300
+			// Your own invoice or tracking number
301
+			'invnum'       => wp_generate_password(12, false),// $transaction->ID(),
302
+			// URL for receiving Instant Payment Notifications.  This overrides what your profile is set to use.
303
+			'notifyurl'    => '',
304
+			'buttonsource' => 'EventEspresso_SP',// EE will blow up if you change this
305
+		);
306
+		// Wrap all data arrays into a single, "master" array which will be passed into the class function.
307
+		$PayPalRequestData = array(
308
+			'DPFields'        => $DPFields,
309
+			'CCDetails'       => $CCDetails,
310
+			'PayerInfo'       => $PayerInfo,
311
+			'PayerName'       => $PayerName,
312
+			'BillingAddress'  => $BillingAddress,
313
+			'ShippingAddress' => $ShippingAddress,
314
+			'PaymentDetails'  => $PaymentDetails,
315
+			'OrderItems'      => $order_items,
316
+		);
317
+		$this->_log_clean_request($PayPalRequestData, $payment);
318
+		try {
319
+			$PayPalResult = $this->prep_and_curl_request($PayPalRequestData);
320
+			// remove PCI-sensitive data so it doesn't get stored
321
+			$PayPalResult = $this->_log_clean_response($PayPalResult, $payment);
322
+			if (isset($PayPalResult['L_ERRORCODE0']) && $PayPalResult['L_ERRORCODE0'] === '10002') {
323
+				$message = esc_html__('PayPal did not accept your API username, password, or signature. Please double-check these credentials and if debug mode is on.', 'event_espresso');
324
+			} elseif (isset($PayPalResult['L_LONGMESSAGE0'])) {
325
+				$message = $PayPalResult['L_LONGMESSAGE0'];
326
+			} else {
327
+				$message = $PayPalResult['ACK'];
328
+			}
329
+			if (empty($PayPalResult['RAWRESPONSE'])) {
330
+				$payment->set_status($this->_pay_model->failed_status());
331
+				$payment->set_gateway_response(esc_html__('No response received from Paypal Pro', 'event_espresso'));
332
+				$payment->set_details($PayPalResult);
333
+			} else {
334
+				if ($this->_APICallSuccessful($PayPalResult)) {
335
+					$payment->set_status($this->_pay_model->approved_status());
336
+				} else {
337
+					$payment->set_status($this->_pay_model->declined_status());
338
+				}
339
+				// make sure we interpret the AMT as a float, not an international string
340
+				// (where periods are thousand separators)
341
+				$payment->set_amount(isset($PayPalResult['AMT']) ? floatval($PayPalResult['AMT']) : 0);
342
+				$payment->set_gateway_response($message);
343
+				$payment->set_txn_id_chq_nmbr(isset($PayPalResult['TRANSACTIONID'])
344
+					? $PayPalResult['TRANSACTIONID']
345
+					: null);
346
+				$primary_registration_code = $primary_registrant instanceof EE_Registration
347
+					? $primary_registrant->reg_code()
348
+					: '';
349
+				$payment->set_extra_accntng($primary_registration_code);
350
+				$payment->set_details($PayPalResult);
351
+			}
352
+		} catch (Exception $e) {
353
+			$payment->set_status($this->_pay_model->failed_status());
354
+			$payment->set_gateway_response($e->getMessage());
355
+		}
356
+		// $payment->set_status( $this->_pay_model->declined_status() );
357
+		// $payment->set_gateway_response( '' );
358
+		return $payment;
359
+	}
360
+
361
+
362
+
363
+	/**
364
+	 * CLeans out sensitive CC data and then logs it, and returns the cleaned request
365
+	 *
366
+	 * @param array       $request
367
+	 * @param EEI_Payment $payment
368
+	 * @return void
369
+	 */
370
+	private function _log_clean_request($request, $payment)
371
+	{
372
+		$cleaned_request_data = $request;
373
+		unset($cleaned_request_data['CCDetails']['acct']);
374
+		unset($cleaned_request_data['CCDetails']['cvv2']);
375
+		unset($cleaned_request_data['CCDetails']['expdate']);
376
+		$this->log(array('Paypal Request' => $cleaned_request_data), $payment);
377
+	}
378
+
379
+
380
+
381
+	/**
382
+	 * Cleans the response, logs it, and returns it
383
+	 *
384
+	 * @param array       $response
385
+	 * @param EEI_Payment $payment
386
+	 * @return array cleaned
387
+	 */
388
+	private function _log_clean_response($response, $payment)
389
+	{
390
+		unset($response['REQUESTDATA']['CREDITCARDTYPE']);
391
+		unset($response['REQUESTDATA']['ACCT']);
392
+		unset($response['REQUESTDATA']['EXPDATE']);
393
+		unset($response['REQUESTDATA']['CVV2']);
394
+		unset($response['RAWREQUEST']);
395
+		$this->log(array('Paypal Response' => $response), $payment);
396
+		return $response;
397
+	}
398
+
399
+
400
+
401
+	/**
402
+	 * @param $DataArray
403
+	 * @return array
404
+	 */
405
+	private function prep_and_curl_request($DataArray)
406
+	{
407
+		// Create empty holders for each portion of the NVP string
408
+		$DPFieldsNVP = '&METHOD=DoDirectPayment&BUTTONSOURCE=AngellEYE_PHP_Class_DDP';
409
+		$CCDetailsNVP = '';
410
+		$PayerInfoNVP = '';
411
+		$PayerNameNVP = '';
412
+		$BillingAddressNVP = '';
413
+		$ShippingAddressNVP = '';
414
+		$PaymentDetailsNVP = '';
415
+		$OrderItemsNVP = '';
416
+		$Secure3DNVP = '';
417
+		// DP Fields
418
+		$DPFields = isset($DataArray['DPFields']) ? $DataArray['DPFields'] : array();
419
+		foreach ($DPFields as $DPFieldsVar => $DPFieldsVal) {
420
+			$DPFieldsNVP .= '&' . strtoupper($DPFieldsVar) . '=' . urlencode($DPFieldsVal);
421
+		}
422
+		// CC Details Fields
423
+		$CCDetails = isset($DataArray['CCDetails']) ? $DataArray['CCDetails'] : array();
424
+		foreach ($CCDetails as $CCDetailsVar => $CCDetailsVal) {
425
+			$CCDetailsNVP .= '&' . strtoupper($CCDetailsVar) . '=' . urlencode($CCDetailsVal);
426
+		}
427
+		// PayerInfo Type Fields
428
+		$PayerInfo = isset($DataArray['PayerInfo']) ? $DataArray['PayerInfo'] : array();
429
+		foreach ($PayerInfo as $PayerInfoVar => $PayerInfoVal) {
430
+			$PayerInfoNVP .= '&' . strtoupper($PayerInfoVar) . '=' . urlencode($PayerInfoVal);
431
+		}
432
+		// Payer Name Fields
433
+		$PayerName = isset($DataArray['PayerName']) ? $DataArray['PayerName'] : array();
434
+		foreach ($PayerName as $PayerNameVar => $PayerNameVal) {
435
+			$PayerNameNVP .= '&' . strtoupper($PayerNameVar) . '=' . urlencode($PayerNameVal);
436
+		}
437
+		// Address Fields (Billing)
438
+		$BillingAddress = isset($DataArray['BillingAddress']) ? $DataArray['BillingAddress'] : array();
439
+		foreach ($BillingAddress as $BillingAddressVar => $BillingAddressVal) {
440
+			$BillingAddressNVP .= '&' . strtoupper($BillingAddressVar) . '=' . urlencode($BillingAddressVal);
441
+		}
442
+		// Payment Details Type Fields
443
+		$PaymentDetails = isset($DataArray['PaymentDetails']) ? $DataArray['PaymentDetails'] : array();
444
+		foreach ($PaymentDetails as $PaymentDetailsVar => $PaymentDetailsVal) {
445
+			$PaymentDetailsNVP .= '&' . strtoupper($PaymentDetailsVar) . '=' . urlencode($PaymentDetailsVal);
446
+		}
447
+		// Payment Details Item Type Fields
448
+		$OrderItems = isset($DataArray['OrderItems']) ? $DataArray['OrderItems'] : array();
449
+		$n = 0;
450
+		foreach ($OrderItems as $OrderItemsVar => $OrderItemsVal) {
451
+			$CurrentItem = $OrderItems[ $OrderItemsVar ];
452
+			foreach ($CurrentItem as $CurrentItemVar => $CurrentItemVal) {
453
+				$OrderItemsNVP .= '&' . strtoupper($CurrentItemVar) . $n . '=' . urlencode($CurrentItemVal);
454
+			}
455
+			$n++;
456
+		}
457
+		// Ship To Address Fields
458
+		$ShippingAddress = isset($DataArray['ShippingAddress']) ? $DataArray['ShippingAddress'] : array();
459
+		foreach ($ShippingAddress as $ShippingAddressVar => $ShippingAddressVal) {
460
+			$ShippingAddressNVP .= '&' . strtoupper($ShippingAddressVar) . '=' . urlencode($ShippingAddressVal);
461
+		}
462
+		// 3D Secure Fields
463
+		$Secure3D = isset($DataArray['Secure3D']) ? $DataArray['Secure3D'] : array();
464
+		foreach ($Secure3D as $Secure3DVar => $Secure3DVal) {
465
+			$Secure3DNVP .= '&' . strtoupper($Secure3DVar) . '=' . urlencode($Secure3DVal);
466
+		}
467
+		// Now that we have each chunk we need to go ahead and append them all together for our entire NVP string
468
+		$NVPRequest = 'USER='
469
+					  . $this->_api_username
470
+					  . '&PWD='
471
+					  . $this->_api_password
472
+					  . '&VERSION=64.0'
473
+					  . '&SIGNATURE='
474
+					  . $this->_api_signature
475
+					  . $DPFieldsNVP
476
+					  . $CCDetailsNVP
477
+					  . $PayerInfoNVP
478
+					  . $PayerNameNVP
479
+					  . $BillingAddressNVP
480
+					  . $PaymentDetailsNVP
481
+					  . $OrderItemsNVP
482
+					  . $ShippingAddressNVP
483
+					  . $Secure3DNVP;
484
+		$NVPResponse = $this->_CURLRequest($NVPRequest);
485
+		$NVPRequestArray = $this->_NVPToArray($NVPRequest);
486
+		$NVPResponseArray = $this->_NVPToArray($NVPResponse);
487
+		$Errors = $this->_GetErrors($NVPResponseArray);
488
+		$NVPResponseArray['ERRORS'] = $Errors;
489
+		$NVPResponseArray['REQUESTDATA'] = $NVPRequestArray;
490
+		$NVPResponseArray['RAWREQUEST'] = $NVPRequest;
491
+		$NVPResponseArray['RAWRESPONSE'] = $NVPResponse;
492
+		return $NVPResponseArray;
493
+	}
494
+
495
+
496
+
497
+	/**
498
+	 * @param $Request
499
+	 * @return mixed
500
+	 */
501
+	private function _CURLRequest($Request)
502
+	{
503
+		$EndPointURL = $this->_debug_mode ? 'https://api-3t.sandbox.paypal.com/nvp' : 'https://api-3t.paypal.com/nvp';
504
+		$curl = curl_init();
505
+		curl_setopt($curl, CURLOPT_VERBOSE, apply_filters('FHEE__EEG_Paypal_Pro__CurlRequest__CURLOPT_VERBOSE', true));
506
+		curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
507
+		curl_setopt($curl, CURLOPT_TIMEOUT, 60);
508
+		curl_setopt($curl, CURLOPT_URL, $EndPointURL);
509
+		curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
510
+		curl_setopt($curl, CURLOPT_POSTFIELDS, $Request);
511
+		curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
512
+		// execute the curl POST
513
+		$Response = curl_exec($curl);
514
+		curl_close($curl);
515
+		return $Response;
516
+	}
517
+
518
+
519
+
520
+	/**
521
+	 * @param $NVPString
522
+	 * @return array
523
+	 */
524
+	private function _NVPToArray($NVPString)
525
+	{
526
+		// prepare responses into array
527
+		$proArray = array();
528
+		while (strlen($NVPString)) {
529
+			// name
530
+			$keypos = strpos($NVPString, '=');
531
+			$keyval = substr($NVPString, 0, $keypos);
532
+			// value
533
+			$valuepos = strpos($NVPString, '&') ? strpos($NVPString, '&') : strlen($NVPString);
534
+			$valval = substr($NVPString, $keypos + 1, $valuepos - $keypos - 1);
535
+			// decoding the response
536
+			$proArray[ $keyval ] = urldecode($valval);
537
+			$NVPString = substr($NVPString, $valuepos + 1, strlen($NVPString));
538
+		}
539
+		return $proArray;
540
+	}
541
+
542
+
543
+
544
+	/**
545
+	 * @param array $PayPalResult
546
+	 * @return bool
547
+	 */
548
+	private function _APICallSuccessful($PayPalResult)
549
+	{
550
+		$approved = false;
551
+		// check main response message from PayPal
552
+		if (isset($PayPalResult['ACK']) && ! empty($PayPalResult['ACK'])) {
553
+			$ack = strtoupper($PayPalResult['ACK']);
554
+			$approved = ($ack == 'SUCCESS' || $ack == 'SUCCESSWITHWARNING' || $ack == 'PARTIALSUCCESS') ? true : false;
555
+		}
556
+		return $approved;
557
+	}
558
+
559
+
560
+
561
+	/**
562
+	 * @param $DataArray
563
+	 * @return array
564
+	 */
565
+	private function _GetErrors($DataArray)
566
+	{
567
+		$Errors = array();
568
+		$n = 0;
569
+		while (isset($DataArray[ 'L_ERRORCODE' . $n . '' ])) {
570
+			$LErrorCode = isset($DataArray[ 'L_ERRORCODE' . $n . '' ]) ? $DataArray[ 'L_ERRORCODE' . $n . '' ] : '';
571
+			$LShortMessage = isset($DataArray[ 'L_SHORTMESSAGE' . $n . '' ])
572
+				? $DataArray[ 'L_SHORTMESSAGE' . $n . '' ]
573
+				: '';
574
+			$LLongMessage = isset($DataArray[ 'L_LONGMESSAGE' . $n . '' ])
575
+				? $DataArray[ 'L_LONGMESSAGE' . $n . '' ]
576
+				: '';
577
+			$LSeverityCode = isset($DataArray[ 'L_SEVERITYCODE' . $n . '' ])
578
+				? $DataArray[ 'L_SEVERITYCODE' . $n . '' ]
579
+				: '';
580
+			$CurrentItem = array(
581
+				'L_ERRORCODE'    => $LErrorCode,
582
+				'L_SHORTMESSAGE' => $LShortMessage,
583
+				'L_LONGMESSAGE'  => $LLongMessage,
584
+				'L_SEVERITYCODE' => $LSeverityCode,
585
+			);
586
+			array_push($Errors, $CurrentItem);
587
+			$n++;
588
+		}
589
+		return $Errors;
590
+	}
591
+
592
+
593
+
594
+	/**
595
+	 *        nothing to see here...  move along....
596
+	 *
597
+	 * @access protected
598
+	 * @param $Errors
599
+	 * @return string
600
+	 */
601
+	private function _DisplayErrors($Errors)
602
+	{
603
+		$error = '';
604
+		foreach ($Errors as $ErrorVar => $ErrorVal) {
605
+			$CurrentError = $Errors[ $ErrorVar ];
606
+			foreach ($CurrentError as $CurrentErrorVar => $CurrentErrorVal) {
607
+				$CurrentVarName = '';
608
+				if ($CurrentErrorVar == 'L_ERRORCODE') {
609
+					$CurrentVarName = 'Error Code';
610
+				} elseif ($CurrentErrorVar == 'L_SHORTMESSAGE') {
611
+					$CurrentVarName = 'Short Message';
612
+				} elseif ($CurrentErrorVar == 'L_LONGMESSAGE') {
613
+					$CurrentVarName = 'Long Message';
614
+				} elseif ($CurrentErrorVar == 'L_SEVERITYCODE') {
615
+					$CurrentVarName = 'Severity Code';
616
+				}
617
+				$error .= '<br />' . $CurrentVarName . ': ' . $CurrentErrorVal;
618
+			}
619
+		}
620
+		return $error;
621
+	}
622 622
 }
Please login to merge, or discard this patch.