Completed
Branch models-cleanup/main (de94a1)
by
unknown
14:03 queued 11:37
created
core/domain/services/pue/Stats.php 2 patches
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -76,9 +76,9 @@  discard block
 block discarded – undo
76 76
     public function statsCallback()
77 77
     {
78 78
         // returns a callback that can is used to retrieve the stats to send along to the pue server.
79
-        return function () {
79
+        return function() {
80 80
             // we only send stats one a week, so let's see if our stat timestamp has expired.
81
-            if (! $this->sendStats()) {
81
+            if ( ! $this->sendStats()) {
82 82
                 return array();
83 83
             }
84 84
             return $this->stats_gatherer->stats();
@@ -126,9 +126,9 @@  discard block
 block discarded – undo
126 126
      */
127 127
     public static function optinText($extra = true)
128 128
     {
129
-        if (! $extra) {
129
+        if ( ! $extra) {
130 130
             echo '<h2 class="ee-admin-settings-hdr" '
131
-                 . (! $extra ? 'id="UXIP_settings"' : '')
131
+                 . ( ! $extra ? 'id="UXIP_settings"' : '')
132 132
                  . '>'
133 133
                  . esc_html__('User eXperience Improvement Program (UXIP)', 'event_espresso')
134 134
                  . EEH_Template::get_help_tab_link('organization_logo_info')
@@ -159,7 +159,7 @@  discard block
 block discarded – undo
159 159
                 ),
160 160
                 '<a href="https://eventespresso.com/about/user-experience-improvement-program-uxip/" target="_blank">',
161 161
                 '</a>',
162
-                '<a href="' . $settings_url . '" target="_blank">',
162
+                '<a href="'.$settings_url.'" target="_blank">',
163 163
                 '</a>'
164 164
             );
165 165
         }
@@ -173,14 +173,14 @@  discard block
 block discarded – undo
173 173
     {
174 174
         wp_register_script(
175 175
             'ee-data-optin-js',
176
-            EE_GLOBAL_ASSETS_URL . 'scripts/ee-data-optin.js',
176
+            EE_GLOBAL_ASSETS_URL.'scripts/ee-data-optin.js',
177 177
             array('jquery'),
178 178
             EVENT_ESPRESSO_VERSION,
179 179
             true
180 180
         );
181 181
         wp_register_style(
182 182
             'ee-data-optin-css',
183
-            EE_GLOBAL_ASSETS_URL . 'css/ee-data-optin.css',
183
+            EE_GLOBAL_ASSETS_URL.'css/ee-data-optin.css',
184 184
             array(),
185 185
             EVENT_ESPRESSO_VERSION
186 186
         );
Please login to merge, or discard this patch.
Indentation   +201 added lines, -201 removed lines patch added patch discarded remove patch
@@ -19,86 +19,86 @@  discard block
 block discarded – undo
19 19
 class Stats
20 20
 {
21 21
 
22
-    const OPTIONS_KEY_EXPIRY_TIMESTAMP_FOR_SENDING_STATS = 'ee_uxip_stats_expiry';
23
-
24
-    /**
25
-     * @var Config
26
-     */
27
-    private $config;
28
-
29
-
30
-    /**
31
-     * @var StatsGatherer
32
-     */
33
-    private $stats_gatherer;
34
-
35
-
36
-    /**
37
-     * @var EE_Maintenance_Mode
38
-     */
39
-    private $maintenance_mode;
40
-
41
-    public function __construct(
42
-        Config $config,
43
-        EE_Maintenance_Mode $maintenance_mode,
44
-        StatsGatherer $stats_gatherer
45
-    ) {
46
-        $this->config = $config;
47
-        $this->maintenance_mode = $maintenance_mode;
48
-        $this->stats_gatherer = $stats_gatherer;
49
-        $this->setUxipNotices();
50
-    }
51
-
52
-
53
-    /**
54
-     * Displays uxip opt-in notice if necessary.
55
-     */
56
-    private function setUxipNotices()
57
-    {
58
-        if ($this->canDisplayNotices()) {
59
-            add_action('admin_notices', array($this, 'optinNotice'));
60
-            add_action('admin_enqueue_scripts', array($this, 'enqueueScripts'));
61
-            add_action('wp_ajax_espresso_data_optin', array($this, 'ajaxHandler'));
62
-        }
63
-    }
64
-
65
-
66
-    /**
67
-     * This returns the callback that PluginUpdateEngineChecker will use for getting any extra stats to send.
68
-     *
69
-     * @return Closure
70
-     */
71
-    public function statsCallback()
72
-    {
73
-        // returns a callback that can is used to retrieve the stats to send along to the pue server.
74
-        return function () {
75
-            // we only send stats one a week, so let's see if our stat timestamp has expired.
76
-            if (! $this->sendStats()) {
77
-                return array();
78
-            }
79
-            return $this->stats_gatherer->stats();
80
-        };
81
-    }
82
-
83
-
84
-    /**
85
-     * Return whether notices can be displayed or not
86
-     *
87
-     * @return bool
88
-     */
89
-    private function canDisplayNotices()
90
-    {
91
-        return ! $this->config->hasNotifiedForUxip()
92
-               && $this->maintenance_mode->level() !== EE_Maintenance_Mode::level_2_complete_maintenance;
93
-    }
94
-
95
-
96
-    /**
97
-     * Callback for the admin_notices hook that outputs the UXIP optin-in notice.
98
-     */
99
-    public function optinNotice()
100
-    {
101
-        ?>
22
+	const OPTIONS_KEY_EXPIRY_TIMESTAMP_FOR_SENDING_STATS = 'ee_uxip_stats_expiry';
23
+
24
+	/**
25
+	 * @var Config
26
+	 */
27
+	private $config;
28
+
29
+
30
+	/**
31
+	 * @var StatsGatherer
32
+	 */
33
+	private $stats_gatherer;
34
+
35
+
36
+	/**
37
+	 * @var EE_Maintenance_Mode
38
+	 */
39
+	private $maintenance_mode;
40
+
41
+	public function __construct(
42
+		Config $config,
43
+		EE_Maintenance_Mode $maintenance_mode,
44
+		StatsGatherer $stats_gatherer
45
+	) {
46
+		$this->config = $config;
47
+		$this->maintenance_mode = $maintenance_mode;
48
+		$this->stats_gatherer = $stats_gatherer;
49
+		$this->setUxipNotices();
50
+	}
51
+
52
+
53
+	/**
54
+	 * Displays uxip opt-in notice if necessary.
55
+	 */
56
+	private function setUxipNotices()
57
+	{
58
+		if ($this->canDisplayNotices()) {
59
+			add_action('admin_notices', array($this, 'optinNotice'));
60
+			add_action('admin_enqueue_scripts', array($this, 'enqueueScripts'));
61
+			add_action('wp_ajax_espresso_data_optin', array($this, 'ajaxHandler'));
62
+		}
63
+	}
64
+
65
+
66
+	/**
67
+	 * This returns the callback that PluginUpdateEngineChecker will use for getting any extra stats to send.
68
+	 *
69
+	 * @return Closure
70
+	 */
71
+	public function statsCallback()
72
+	{
73
+		// returns a callback that can is used to retrieve the stats to send along to the pue server.
74
+		return function () {
75
+			// we only send stats one a week, so let's see if our stat timestamp has expired.
76
+			if (! $this->sendStats()) {
77
+				return array();
78
+			}
79
+			return $this->stats_gatherer->stats();
80
+		};
81
+	}
82
+
83
+
84
+	/**
85
+	 * Return whether notices can be displayed or not
86
+	 *
87
+	 * @return bool
88
+	 */
89
+	private function canDisplayNotices()
90
+	{
91
+		return ! $this->config->hasNotifiedForUxip()
92
+			   && $this->maintenance_mode->level() !== EE_Maintenance_Mode::level_2_complete_maintenance;
93
+	}
94
+
95
+
96
+	/**
97
+	 * Callback for the admin_notices hook that outputs the UXIP optin-in notice.
98
+	 */
99
+	public function optinNotice()
100
+	{
101
+		?>
102 102
         <div class="updated data-collect-optin" id="espresso-data-collect-optin-container">
103 103
             <div id="data-collect-optin-options-container">
104 104
                 <span class="dashicons dashicons-admin-site"></span>
@@ -111,125 +111,125 @@  discard block
 block discarded – undo
111 111
             </div>
112 112
         </div>
113 113
         <?php
114
-    }
115
-
116
-
117
-    /**
118
-     * Retrieves the optin text (static so it can be used in multiple places as necessary).
119
-     *
120
-     * @param bool $extra
121
-     */
122
-    public static function optinText($extra = true)
123
-    {
124
-        if (! $extra) {
125
-            echo '<h2 class="ee-admin-settings-hdr" '
126
-                 . (! $extra ? 'id="UXIP_settings"' : '')
127
-                 . '>'
128
-                 . esc_html__('User eXperience Improvement Program (UXIP)', 'event_espresso')
129
-                 . EEH_Template::get_help_tab_link('organization_logo_info')
130
-                 . '</h2>';
131
-            printf(
132
-                esc_html__(
133
-                    '%1$sPlease help us make Event Espresso better and vote for your favorite features.%2$s The %3$sUser eXperience Improvement Program (UXIP)%4$s, has been created so when you use Event Espresso you are voting for the features and settings that are important to you. The UXIP helps us understand how you use our products and services, track problems and in what context. If you opt-out of the UXIP you essentially elect for us to disregard how you use Event Espresso as we build new features and make changes. Participation in the program is completely voluntary and it is disabled by default. The end results of the UXIP are software improvements to better meet your needs. The data we collect will never be sold, traded, or misused in any way. %5$sPlease see our %6$sPrivacy Policy%7$s for more information.',
134
-                    'event_espresso'
135
-                ),
136
-                '<p><em>',
137
-                '</em></p>',
138
-                '<a href="https://eventespresso.com/about/user-experience-improvement-program-uxip/" target="_blank">',
139
-                '</a>',
140
-                '<br><br>',
141
-                '<a href="https://eventespresso.com/about/privacy-policy/" target="_blank">',
142
-                '</a>'
143
-            );
144
-        } else {
145
-            $settings_url = EEH_URL::add_query_args_and_nonce(
146
-                array('action' => 'default'),
147
-                admin_url('admin.php?page=espresso_general_settings')
148
-            );
149
-            $settings_url .= '#UXIP_settings';
150
-            printf(
151
-                esc_html__(
152
-                    'The Event Espresso UXIP feature is not yet active on your site. For %1$smore info%2$s and to opt-in %3$sclick here%4$s.',
153
-                    'event_espresso'
154
-                ),
155
-                '<a href="https://eventespresso.com/about/user-experience-improvement-program-uxip/" target="_blank">',
156
-                '</a>',
157
-                '<a href="' . $settings_url . '" target="_blank">',
158
-                '</a>'
159
-            );
160
-        }
161
-    }
162
-
163
-
164
-    /**
165
-     * Callback for admin_enqueue_scripts that sets up the scripts and styles for the uxip notice
166
-     */
167
-    public function enqueueScripts()
168
-    {
169
-        wp_register_script(
170
-            'ee-data-optin-js',
171
-            EE_GLOBAL_ASSETS_URL . 'scripts/ee-data-optin.js',
172
-            array('jquery'),
173
-            EVENT_ESPRESSO_VERSION,
174
-            true
175
-        );
176
-        wp_register_style(
177
-            'ee-data-optin-css',
178
-            EE_GLOBAL_ASSETS_URL . 'css/ee-data-optin.css',
179
-            array(),
180
-            EVENT_ESPRESSO_VERSION
181
-        );
182
-
183
-        wp_enqueue_script('ee-data-optin-js');
184
-        wp_enqueue_style('ee-data-optin-css');
185
-    }
186
-
187
-
188
-    /**
189
-     * Callback for wp_ajax_espresso_data_optin that handles the ajax request
190
-     */
191
-    public function ajaxHandler()
192
-    {
193
-        // verify nonce
194
-        if (isset($_POST['nonce']) && ! wp_verify_nonce($_POST['nonce'], 'ee-data-optin')) {
195
-            exit();
196
-        }
197
-
198
-        // update has notified option
199
-        $this->config->setHasNotifiedAboutUxip();
200
-        exit();
201
-    }
202
-
203
-
204
-    /**
205
-     * Used to determine whether additional stats are sent.
206
-     */
207
-    private function sendStats()
208
-    {
209
-        return $this->config->isOptedInForUxip()
210
-               && $this->maintenance_mode->level() !== EE_Maintenance_Mode::level_2_complete_maintenance
211
-               && $this->statSendTimestampExpired();
212
-    }
213
-
214
-
215
-    /**
216
-     * Returns true when the timestamp used to track whether stats get sent (currently a weekly interval) is expired.
217
-     * Returns false otherwise.
218
-     *
219
-     * @return bool
220
-     */
221
-    private function statSendTimestampExpired()
222
-    {
223
-        $current_expiry = get_option(self::OPTIONS_KEY_EXPIRY_TIMESTAMP_FOR_SENDING_STATS, null);
224
-        if ($current_expiry === null) {
225
-            add_option(self::OPTIONS_KEY_EXPIRY_TIMESTAMP_FOR_SENDING_STATS, time() + WEEK_IN_SECONDS, '', 'no');
226
-            return true;
227
-        }
228
-
229
-        if (time() > (int) $current_expiry) {
230
-            update_option(self::OPTIONS_KEY_EXPIRY_TIMESTAMP_FOR_SENDING_STATS, time() + WEEK_IN_SECONDS);
231
-            return true;
232
-        }
233
-        return false;
234
-    }
114
+	}
115
+
116
+
117
+	/**
118
+	 * Retrieves the optin text (static so it can be used in multiple places as necessary).
119
+	 *
120
+	 * @param bool $extra
121
+	 */
122
+	public static function optinText($extra = true)
123
+	{
124
+		if (! $extra) {
125
+			echo '<h2 class="ee-admin-settings-hdr" '
126
+				 . (! $extra ? 'id="UXIP_settings"' : '')
127
+				 . '>'
128
+				 . esc_html__('User eXperience Improvement Program (UXIP)', 'event_espresso')
129
+				 . EEH_Template::get_help_tab_link('organization_logo_info')
130
+				 . '</h2>';
131
+			printf(
132
+				esc_html__(
133
+					'%1$sPlease help us make Event Espresso better and vote for your favorite features.%2$s The %3$sUser eXperience Improvement Program (UXIP)%4$s, has been created so when you use Event Espresso you are voting for the features and settings that are important to you. The UXIP helps us understand how you use our products and services, track problems and in what context. If you opt-out of the UXIP you essentially elect for us to disregard how you use Event Espresso as we build new features and make changes. Participation in the program is completely voluntary and it is disabled by default. The end results of the UXIP are software improvements to better meet your needs. The data we collect will never be sold, traded, or misused in any way. %5$sPlease see our %6$sPrivacy Policy%7$s for more information.',
134
+					'event_espresso'
135
+				),
136
+				'<p><em>',
137
+				'</em></p>',
138
+				'<a href="https://eventespresso.com/about/user-experience-improvement-program-uxip/" target="_blank">',
139
+				'</a>',
140
+				'<br><br>',
141
+				'<a href="https://eventespresso.com/about/privacy-policy/" target="_blank">',
142
+				'</a>'
143
+			);
144
+		} else {
145
+			$settings_url = EEH_URL::add_query_args_and_nonce(
146
+				array('action' => 'default'),
147
+				admin_url('admin.php?page=espresso_general_settings')
148
+			);
149
+			$settings_url .= '#UXIP_settings';
150
+			printf(
151
+				esc_html__(
152
+					'The Event Espresso UXIP feature is not yet active on your site. For %1$smore info%2$s and to opt-in %3$sclick here%4$s.',
153
+					'event_espresso'
154
+				),
155
+				'<a href="https://eventespresso.com/about/user-experience-improvement-program-uxip/" target="_blank">',
156
+				'</a>',
157
+				'<a href="' . $settings_url . '" target="_blank">',
158
+				'</a>'
159
+			);
160
+		}
161
+	}
162
+
163
+
164
+	/**
165
+	 * Callback for admin_enqueue_scripts that sets up the scripts and styles for the uxip notice
166
+	 */
167
+	public function enqueueScripts()
168
+	{
169
+		wp_register_script(
170
+			'ee-data-optin-js',
171
+			EE_GLOBAL_ASSETS_URL . 'scripts/ee-data-optin.js',
172
+			array('jquery'),
173
+			EVENT_ESPRESSO_VERSION,
174
+			true
175
+		);
176
+		wp_register_style(
177
+			'ee-data-optin-css',
178
+			EE_GLOBAL_ASSETS_URL . 'css/ee-data-optin.css',
179
+			array(),
180
+			EVENT_ESPRESSO_VERSION
181
+		);
182
+
183
+		wp_enqueue_script('ee-data-optin-js');
184
+		wp_enqueue_style('ee-data-optin-css');
185
+	}
186
+
187
+
188
+	/**
189
+	 * Callback for wp_ajax_espresso_data_optin that handles the ajax request
190
+	 */
191
+	public function ajaxHandler()
192
+	{
193
+		// verify nonce
194
+		if (isset($_POST['nonce']) && ! wp_verify_nonce($_POST['nonce'], 'ee-data-optin')) {
195
+			exit();
196
+		}
197
+
198
+		// update has notified option
199
+		$this->config->setHasNotifiedAboutUxip();
200
+		exit();
201
+	}
202
+
203
+
204
+	/**
205
+	 * Used to determine whether additional stats are sent.
206
+	 */
207
+	private function sendStats()
208
+	{
209
+		return $this->config->isOptedInForUxip()
210
+			   && $this->maintenance_mode->level() !== EE_Maintenance_Mode::level_2_complete_maintenance
211
+			   && $this->statSendTimestampExpired();
212
+	}
213
+
214
+
215
+	/**
216
+	 * Returns true when the timestamp used to track whether stats get sent (currently a weekly interval) is expired.
217
+	 * Returns false otherwise.
218
+	 *
219
+	 * @return bool
220
+	 */
221
+	private function statSendTimestampExpired()
222
+	{
223
+		$current_expiry = get_option(self::OPTIONS_KEY_EXPIRY_TIMESTAMP_FOR_SENDING_STATS, null);
224
+		if ($current_expiry === null) {
225
+			add_option(self::OPTIONS_KEY_EXPIRY_TIMESTAMP_FOR_SENDING_STATS, time() + WEEK_IN_SECONDS, '', 'no');
226
+			return true;
227
+		}
228
+
229
+		if (time() > (int) $current_expiry) {
230
+			update_option(self::OPTIONS_KEY_EXPIRY_TIMESTAMP_FOR_SENDING_STATS, time() + WEEK_IN_SECONDS);
231
+			return true;
232
+		}
233
+		return false;
234
+	}
235 235
 }
Please login to merge, or discard this patch.
core/domain/services/ticket/CancelTicketLineItemService.php 2 patches
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -88,7 +88,7 @@  discard block
 block discarded – undo
88 88
             );
89 89
             $success = \EEH_Line_Item::add_item($transaction->total_line_item(), $cancelled_line_item);
90 90
         }
91
-        if (! $success) {
91
+        if ( ! $success) {
92 92
             throw new \RuntimeException(
93 93
                 sprintf(
94 94
                     __('An error occurred while attempting to cancel ticket line item %1$s', 'event_espresso'),
@@ -124,7 +124,7 @@  discard block
 block discarded – undo
124 124
                 break;
125 125
             }
126 126
         }
127
-        if (! ($line_item instanceof \EE_Line_Item && $line_item->OBJ_type() === 'Ticket')) {
127
+        if ( ! ($line_item instanceof \EE_Line_Item && $line_item->OBJ_type() === 'Ticket')) {
128 128
             throw new EntityNotFoundException('Line Item Ticket ID', $ticket->ID());
129 129
         }
130 130
         return $line_item;
Please login to merge, or discard this patch.
Indentation   +106 added lines, -106 removed lines patch added patch discarded remove patch
@@ -20,114 +20,114 @@
 block discarded – undo
20 20
 {
21 21
 
22 22
 
23
-    /**
24
-     * @param \EE_Registration $registration
25
-     * @param int              $quantity
26
-     * @return bool|int
27
-     */
28
-    public function forRegistration(\EE_Registration $registration, $quantity = 1)
29
-    {
30
-        return $this->cancel(
31
-            $registration->transaction(),
32
-            $registration->ticket(),
33
-            $quantity,
34
-            $registration->ticket_line_item()
35
-        );
36
-    }
23
+	/**
24
+	 * @param \EE_Registration $registration
25
+	 * @param int              $quantity
26
+	 * @return bool|int
27
+	 */
28
+	public function forRegistration(\EE_Registration $registration, $quantity = 1)
29
+	{
30
+		return $this->cancel(
31
+			$registration->transaction(),
32
+			$registration->ticket(),
33
+			$quantity,
34
+			$registration->ticket_line_item()
35
+		);
36
+	}
37 37
 
38 38
 
39
-    /**
40
-     * @param \EE_Transaction $transaction
41
-     * @param \EE_Ticket      $ticket
42
-     * @param int             $quantity
43
-     * @param \EE_Line_Item   $ticket_line_item
44
-     * @return bool|int
45
-     */
46
-    public function cancel(
47
-        \EE_Transaction $transaction,
48
-        \EE_Ticket $ticket,
49
-        $quantity = 1,
50
-        \EE_Line_Item $ticket_line_item = null
51
-    ) {
52
-        $ticket_line_item = $ticket_line_item instanceof \EE_Line_Item
53
-            ? $ticket_line_item
54
-            : $this->getTicketLineItem($transaction, $ticket);
55
-        // first we need to decrement the ticket quantity
56
-        \EEH_Line_Item::decrement_quantity($ticket_line_item, $quantity);
57
-        // no tickets left for this line item ?
58
-        if ((int) $ticket_line_item->quantity() === 0) {
59
-            // then just set this line item as cancelled, save, and get out
60
-            $ticket_line_item->set_type(\EEM_Line_Item::type_cancellation);
61
-            $success = $ticket_line_item->save();
62
-        } else {
63
-            // otherwise create a new cancelled line item, so that we have a record of the cancellation
64
-            $items_subtotal = \EEH_Line_Item::get_pre_tax_subtotal(
65
-                \EEH_Line_Item::get_event_line_item_for_ticket(
66
-                    $transaction->total_line_item(),
67
-                    $ticket
68
-                )
69
-            );
70
-            $cancelled_line_item = \EE_Line_Item::new_instance(
71
-                array(
72
-                    'LIN_name'       => $ticket_line_item->name(),
73
-                    'LIN_desc'       => sprintf(
74
-                        __('%1$s Cancelled: %2$s', 'event_espresso'),
75
-                        $ticket_line_item->desc(),
76
-                        date('Y-m-d h:i a')
77
-                    ),
78
-                    'LIN_unit_price' => (float) $ticket_line_item->unit_price(),
79
-                    'LIN_quantity'   => $quantity,
80
-                    'LIN_percent'    => null,
81
-                    'LIN_is_taxable' => false,
82
-                    'LIN_order'      => $items_subtotal instanceof \EE_Line_Item
83
-                        ? count($items_subtotal->children())
84
-                        : 0,
85
-                    'LIN_total'      => (float) $ticket_line_item->unit_price(),
86
-                    'LIN_type'       => \EEM_Line_Item::type_cancellation,
87
-                )
88
-            );
89
-            $success = \EEH_Line_Item::add_item($transaction->total_line_item(), $cancelled_line_item);
90
-        }
91
-        if (! $success) {
92
-            throw new \RuntimeException(
93
-                sprintf(
94
-                    __('An error occurred while attempting to cancel ticket line item %1$s', 'event_espresso'),
95
-                    $ticket_line_item->ID()
96
-                )
97
-            );
98
-        }
99
-        return $success;
100
-    }
39
+	/**
40
+	 * @param \EE_Transaction $transaction
41
+	 * @param \EE_Ticket      $ticket
42
+	 * @param int             $quantity
43
+	 * @param \EE_Line_Item   $ticket_line_item
44
+	 * @return bool|int
45
+	 */
46
+	public function cancel(
47
+		\EE_Transaction $transaction,
48
+		\EE_Ticket $ticket,
49
+		$quantity = 1,
50
+		\EE_Line_Item $ticket_line_item = null
51
+	) {
52
+		$ticket_line_item = $ticket_line_item instanceof \EE_Line_Item
53
+			? $ticket_line_item
54
+			: $this->getTicketLineItem($transaction, $ticket);
55
+		// first we need to decrement the ticket quantity
56
+		\EEH_Line_Item::decrement_quantity($ticket_line_item, $quantity);
57
+		// no tickets left for this line item ?
58
+		if ((int) $ticket_line_item->quantity() === 0) {
59
+			// then just set this line item as cancelled, save, and get out
60
+			$ticket_line_item->set_type(\EEM_Line_Item::type_cancellation);
61
+			$success = $ticket_line_item->save();
62
+		} else {
63
+			// otherwise create a new cancelled line item, so that we have a record of the cancellation
64
+			$items_subtotal = \EEH_Line_Item::get_pre_tax_subtotal(
65
+				\EEH_Line_Item::get_event_line_item_for_ticket(
66
+					$transaction->total_line_item(),
67
+					$ticket
68
+				)
69
+			);
70
+			$cancelled_line_item = \EE_Line_Item::new_instance(
71
+				array(
72
+					'LIN_name'       => $ticket_line_item->name(),
73
+					'LIN_desc'       => sprintf(
74
+						__('%1$s Cancelled: %2$s', 'event_espresso'),
75
+						$ticket_line_item->desc(),
76
+						date('Y-m-d h:i a')
77
+					),
78
+					'LIN_unit_price' => (float) $ticket_line_item->unit_price(),
79
+					'LIN_quantity'   => $quantity,
80
+					'LIN_percent'    => null,
81
+					'LIN_is_taxable' => false,
82
+					'LIN_order'      => $items_subtotal instanceof \EE_Line_Item
83
+						? count($items_subtotal->children())
84
+						: 0,
85
+					'LIN_total'      => (float) $ticket_line_item->unit_price(),
86
+					'LIN_type'       => \EEM_Line_Item::type_cancellation,
87
+				)
88
+			);
89
+			$success = \EEH_Line_Item::add_item($transaction->total_line_item(), $cancelled_line_item);
90
+		}
91
+		if (! $success) {
92
+			throw new \RuntimeException(
93
+				sprintf(
94
+					__('An error occurred while attempting to cancel ticket line item %1$s', 'event_espresso'),
95
+					$ticket_line_item->ID()
96
+				)
97
+			);
98
+		}
99
+		return $success;
100
+	}
101 101
 
102 102
 
103
-    /**
104
-     * @param \EE_Transaction $transaction
105
-     * @param \EE_Ticket      $ticket
106
-     * @return \EE_Line_Item
107
-     * @throws EntityNotFoundException
108
-     * @throws \EE_Error
109
-     */
110
-    protected static function getTicketLineItem(\EE_Transaction $transaction, \EE_Ticket $ticket)
111
-    {
112
-        $line_item = null;
113
-        $ticket_line_items = \EEH_Line_Item::get_line_items_by_object_type_and_IDs(
114
-            $transaction->total_line_item(),
115
-            'Ticket',
116
-            array($ticket->ID())
117
-        );
118
-        foreach ($ticket_line_items as $ticket_line_item) {
119
-            if (
120
-                $ticket_line_item instanceof \EE_Line_Item
121
-                && $ticket_line_item->OBJ_type() === 'Ticket'
122
-                && $ticket_line_item->OBJ_ID() === $ticket->ID()
123
-            ) {
124
-                $line_item = $ticket_line_item;
125
-                break;
126
-            }
127
-        }
128
-        if (! ($line_item instanceof \EE_Line_Item && $line_item->OBJ_type() === 'Ticket')) {
129
-            throw new EntityNotFoundException('Line Item Ticket ID', $ticket->ID());
130
-        }
131
-        return $line_item;
132
-    }
103
+	/**
104
+	 * @param \EE_Transaction $transaction
105
+	 * @param \EE_Ticket      $ticket
106
+	 * @return \EE_Line_Item
107
+	 * @throws EntityNotFoundException
108
+	 * @throws \EE_Error
109
+	 */
110
+	protected static function getTicketLineItem(\EE_Transaction $transaction, \EE_Ticket $ticket)
111
+	{
112
+		$line_item = null;
113
+		$ticket_line_items = \EEH_Line_Item::get_line_items_by_object_type_and_IDs(
114
+			$transaction->total_line_item(),
115
+			'Ticket',
116
+			array($ticket->ID())
117
+		);
118
+		foreach ($ticket_line_items as $ticket_line_item) {
119
+			if (
120
+				$ticket_line_item instanceof \EE_Line_Item
121
+				&& $ticket_line_item->OBJ_type() === 'Ticket'
122
+				&& $ticket_line_item->OBJ_ID() === $ticket->ID()
123
+			) {
124
+				$line_item = $ticket_line_item;
125
+				break;
126
+			}
127
+		}
128
+		if (! ($line_item instanceof \EE_Line_Item && $line_item->OBJ_type() === 'Ticket')) {
129
+			throw new EntityNotFoundException('Line Item Ticket ID', $ticket->ID());
130
+		}
131
+		return $line_item;
132
+	}
133 133
 }
Please login to merge, or discard this patch.
domain/services/attendee/forms/AttendeeContactDetailsMetaboxFormHandler.php 1 patch
Indentation   +75 added lines, -75 removed lines patch added patch discarded remove patch
@@ -27,84 +27,84 @@
 block discarded – undo
27 27
 {
28 28
 
29 29
 
30
-    protected $attendee;
30
+	protected $attendee;
31 31
 
32 32
 
33
-    /**
34
-     * AttendeeContactDetailsMetaboxFormHandler constructor.
35
-     *
36
-     * @param EE_Attendee $attendee
37
-     * @param EE_Registry $registry
38
-     * @throws DomainException
39
-     * @throws InvalidDataTypeException
40
-     * @throws InvalidArgumentException
41
-     */
42
-    public function __construct(EE_Attendee $attendee, EE_Registry $registry)
43
-    {
44
-        $this->attendee = $attendee;
45
-        $label = esc_html__('Contact Details', 'event_espresso');
46
-        parent::__construct(
47
-            $label,
48
-            $label,
49
-            'attendee_contact_details',
50
-            '',
51
-            FormHandler::DO_NOT_SETUP_FORM,
52
-            $registry
53
-        );
54
-    }
33
+	/**
34
+	 * AttendeeContactDetailsMetaboxFormHandler constructor.
35
+	 *
36
+	 * @param EE_Attendee $attendee
37
+	 * @param EE_Registry $registry
38
+	 * @throws DomainException
39
+	 * @throws InvalidDataTypeException
40
+	 * @throws InvalidArgumentException
41
+	 */
42
+	public function __construct(EE_Attendee $attendee, EE_Registry $registry)
43
+	{
44
+		$this->attendee = $attendee;
45
+		$label = esc_html__('Contact Details', 'event_espresso');
46
+		parent::__construct(
47
+			$label,
48
+			$label,
49
+			'attendee_contact_details',
50
+			'',
51
+			FormHandler::DO_NOT_SETUP_FORM,
52
+			$registry
53
+		);
54
+	}
55 55
 
56
-    /**
57
-     * creates and returns the actual form
58
-     *
59
-     * @return EE_Form_Section_Proper
60
-     * @throws EE_Error
61
-     */
62
-    public function generate()
63
-    {
64
-        return new EE_Form_Section_Proper(
65
-            array(
66
-                'name'            => 'attendee_contact_details',
67
-                'html_id'         => 'attendee-contact-details',
68
-                'html_class'      => 'form-table',
69
-                'layout_strategy' => new EE_Admin_One_Column_Layout(),
70
-                'subsections'     => array(
71
-                    'ATT_email' => new EE_Email_Input(
72
-                        array(
73
-                            'default'         => $this->attendee->email(),
74
-                            'html_label_text' => esc_html__('Email Address', 'event_espresso'),
75
-                            'required'        => true,
76
-                        )
77
-                    ),
78
-                    'ATT_phone' => new EE_Text_Input(
79
-                        array(
80
-                            'default'         => $this->attendee->phone(),
81
-                            'html_label_text' => esc_html__('Phone Number', 'event_espresso'),
82
-                        )
83
-                    ),
84
-                ),
85
-            )
86
-        );
87
-    }
56
+	/**
57
+	 * creates and returns the actual form
58
+	 *
59
+	 * @return EE_Form_Section_Proper
60
+	 * @throws EE_Error
61
+	 */
62
+	public function generate()
63
+	{
64
+		return new EE_Form_Section_Proper(
65
+			array(
66
+				'name'            => 'attendee_contact_details',
67
+				'html_id'         => 'attendee-contact-details',
68
+				'html_class'      => 'form-table',
69
+				'layout_strategy' => new EE_Admin_One_Column_Layout(),
70
+				'subsections'     => array(
71
+					'ATT_email' => new EE_Email_Input(
72
+						array(
73
+							'default'         => $this->attendee->email(),
74
+							'html_label_text' => esc_html__('Email Address', 'event_espresso'),
75
+							'required'        => true,
76
+						)
77
+					),
78
+					'ATT_phone' => new EE_Text_Input(
79
+						array(
80
+							'default'         => $this->attendee->phone(),
81
+							'html_label_text' => esc_html__('Phone Number', 'event_espresso'),
82
+						)
83
+					),
84
+				),
85
+			)
86
+		);
87
+	}
88 88
 
89 89
 
90
-    /**
91
-     * Process form data.
92
-     *
93
-     * @param array $form_data
94
-     * @return bool
95
-     * @throws EE_Error
96
-     * @throws InvalidFormSubmissionException
97
-     * @throws LogicException
98
-     */
99
-    public function process($form_data = array())
100
-    {
101
-        $valid_data = (array) parent::process($form_data);
102
-        if (empty($valid_data)) {
103
-            return false;
104
-        }
105
-        $this->attendee->set_email($valid_data['ATT_email']);
106
-        $this->attendee->set_phone($valid_data['ATT_phone']);
107
-        $updated = $this->attendee->save();
108
-        return $updated !== false;
109
-    }
90
+	/**
91
+	 * Process form data.
92
+	 *
93
+	 * @param array $form_data
94
+	 * @return bool
95
+	 * @throws EE_Error
96
+	 * @throws InvalidFormSubmissionException
97
+	 * @throws LogicException
98
+	 */
99
+	public function process($form_data = array())
100
+	{
101
+		$valid_data = (array) parent::process($form_data);
102
+		if (empty($valid_data)) {
103
+			return false;
104
+		}
105
+		$this->attendee->set_email($valid_data['ATT_email']);
106
+		$this->attendee->set_phone($valid_data['ATT_phone']);
107
+		$updated = $this->attendee->save();
108
+		return $updated !== false;
109
+	}
110 110
 }
Please login to merge, or discard this patch.
core/domain/values/EmailAddress.php 1 patch
Indentation   +44 added lines, -44 removed lines patch added patch discarded remove patch
@@ -15,56 +15,56 @@
 block discarded – undo
15 15
 class EmailAddress
16 16
 {
17 17
 
18
-    /**
19
-     * @var string $email_address
20
-     */
21
-    private $email_address;
18
+	/**
19
+	 * @var string $email_address
20
+	 */
21
+	private $email_address;
22 22
 
23 23
 
24
-    /**
25
-     * EmailAddress constructor.
26
-     *
27
-     * @param string                  $email_address
28
-     * @param EmailValidatorInterface $validator
29
-     * @throws EmailValidationException
30
-     */
31
-    public function __construct($email_address, EmailValidatorInterface $validator)
32
-    {
33
-        $validator->validate($email_address);
34
-        $this->email_address = $email_address;
35
-    }
24
+	/**
25
+	 * EmailAddress constructor.
26
+	 *
27
+	 * @param string                  $email_address
28
+	 * @param EmailValidatorInterface $validator
29
+	 * @throws EmailValidationException
30
+	 */
31
+	public function __construct($email_address, EmailValidatorInterface $validator)
32
+	{
33
+		$validator->validate($email_address);
34
+		$this->email_address = $email_address;
35
+	}
36 36
 
37 37
 
38
-    /**
39
-     * returns the string value for this EmailAddress
40
-     *
41
-     * @return string
42
-     */
43
-    public function get()
44
-    {
45
-        return $this->email_address;
46
-    }
38
+	/**
39
+	 * returns the string value for this EmailAddress
40
+	 *
41
+	 * @return string
42
+	 */
43
+	public function get()
44
+	{
45
+		return $this->email_address;
46
+	}
47 47
 
48 48
 
49
-    /**
50
-     * compare another EmailAddress to this one to determine if they are the same
51
-     *
52
-     * @param EmailAddress $address
53
-     * @return bool
54
-     */
55
-    public function equals(EmailAddress $address)
56
-    {
57
-        return strtolower((string) $this) === strtolower((string) $address);
58
-    }
49
+	/**
50
+	 * compare another EmailAddress to this one to determine if they are the same
51
+	 *
52
+	 * @param EmailAddress $address
53
+	 * @return bool
54
+	 */
55
+	public function equals(EmailAddress $address)
56
+	{
57
+		return strtolower((string) $this) === strtolower((string) $address);
58
+	}
59 59
 
60 60
 
61
-    /**
62
-     * allows an EmailAddress object to be used as a string
63
-     *
64
-     * @return string
65
-     */
66
-    public function __toString()
67
-    {
68
-        return $this->email_address;
69
-    }
61
+	/**
62
+	 * allows an EmailAddress object to be used as a string
63
+	 *
64
+	 * @return string
65
+	 */
66
+	public function __toString()
67
+	{
68
+		return $this->email_address;
69
+	}
70 70
 }
Please login to merge, or discard this patch.
core/services/assets/AssetRegistrationException.php 1 patch
Indentation   +20 added lines, -20 removed lines patch added patch discarded remove patch
@@ -16,24 +16,24 @@
 block discarded – undo
16 16
  */
17 17
 class AssetRegistrationException extends RuntimeException
18 18
 {
19
-    /**
20
-     * @param                $script_handle
21
-     * @param string         $message
22
-     * @param int            $code
23
-     * @param Exception|null $previous
24
-     */
25
-    public function __construct($script_handle, $message = '', $code = 0, Exception $previous = null)
26
-    {
27
-        if (empty($message)) {
28
-            $message = sprintf(
29
-                esc_html_x(
30
-                    'The "%1$s" script could not be registered with WordPress core.',
31
-                    'The "script-handle" script could not be registered with WordPress core.',
32
-                    'event_espresso'
33
-                ),
34
-                $script_handle
35
-            );
36
-        }
37
-        parent::__construct($message, $code, $previous);
38
-    }
19
+	/**
20
+	 * @param                $script_handle
21
+	 * @param string         $message
22
+	 * @param int            $code
23
+	 * @param Exception|null $previous
24
+	 */
25
+	public function __construct($script_handle, $message = '', $code = 0, Exception $previous = null)
26
+	{
27
+		if (empty($message)) {
28
+			$message = sprintf(
29
+				esc_html_x(
30
+					'The "%1$s" script could not be registered with WordPress core.',
31
+					'The "script-handle" script could not be registered with WordPress core.',
32
+					'event_espresso'
33
+				),
34
+				$script_handle
35
+			);
36
+		}
37
+		parent::__construct($message, $code, $previous);
38
+	}
39 39
 }
40 40
\ No newline at end of file
Please login to merge, or discard this patch.
core/services/privacy/policy/PrivacyPolicyInterface.php 1 patch
Indentation   +12 added lines, -12 removed lines patch added patch discarded remove patch
@@ -16,20 +16,20 @@
 block discarded – undo
16 16
 interface PrivacyPolicyInterface
17 17
 {
18 18
 
19
-    /**
20
-     * Returns the translated name to display in this privacy policy's section's title
21
-     *
22
-     * @return string
23
-     */
24
-    public function getName();
19
+	/**
20
+	 * Returns the translated name to display in this privacy policy's section's title
21
+	 *
22
+	 * @return string
23
+	 */
24
+	public function getName();
25 25
 
26 26
 
27
-    /**
28
-     * Returns the suggested privacy policy content for this plugin. May contain HTML
29
-     *
30
-     * @return string
31
-     */
32
-    public function getContent();
27
+	/**
28
+	 * Returns the suggested privacy policy content for this plugin. May contain HTML
29
+	 *
30
+	 * @return string
31
+	 */
32
+	public function getContent();
33 33
 }
34 34
 // End of file PrivacyPolicyInterface.php
35 35
 // Location: EventEspresso\core\domain\services\admin/PrivacyPolicyInterface.php
Please login to merge, or discard this patch.
core/domain/services/admin/privacy/export/ExportTransaction.php 1 patch
Indentation   +96 added lines, -96 removed lines patch added patch discarded remove patch
@@ -15,106 +15,106 @@
 block discarded – undo
15 15
  */
16 16
 class ExportTransaction implements PersonalDataExporterInterface
17 17
 {
18
-    /**
19
-     * @var EEM_Transaction $transaction_model
20
-     */
21
-    protected $transaction_model;
18
+	/**
19
+	 * @var EEM_Transaction $transaction_model
20
+	 */
21
+	protected $transaction_model;
22 22
 
23
-    /**
24
-     * ExportTransaction constructor.
25
-     *
26
-     * @param $transaction_model
27
-     */
28
-    public function __construct(EEM_Transaction $transaction_model)
29
-    {
30
-        $this->transaction_model = $transaction_model;
31
-    }
23
+	/**
24
+	 * ExportTransaction constructor.
25
+	 *
26
+	 * @param $transaction_model
27
+	 */
28
+	public function __construct(EEM_Transaction $transaction_model)
29
+	{
30
+		$this->transaction_model = $transaction_model;
31
+	}
32 32
 
33 33
 
34
-    /**
35
-     * Returns data for export.
36
-     *
37
-     * @param string    $email_address ,
38
-     * @param int       $page          starts at 1, not 0
39
-     * @return array {
40
-     * @type array      $data          {
41
-     * @type array {
42
-     * @type string     $group_id      (not translated, same for all exports)
43
-     * @type string     $group_label   (translated string)
44
-     * @type string|int $item_id
45
-     * @type array      $data          {
46
-     * @type array {
47
-     * @type string     $name          what's shown in the left-column of the export row
48
-     * @type string     $value         what's showin the right-column of the export row
49
-     *                                 }
50
-     *                                 }
51
-     *                                 }
52
-     *                                 }
53
-     *                                 }
54
-     */
55
-    public function export($email_address, $page = 1)
56
-    {
57
-        $page_size = 10;
58
-        $transactions = $this->transaction_model->get_all(
59
-            array(
60
-                array(
61
-                    'Registration.Attendee.ATT_email' => $email_address,
62
-                ),
63
-                'limit' => array(
64
-                    ($page - 1) * $page_size,
65
-                    $page_size,
66
-                ),
67
-            )
68
-        );
69
-        $export_fields = array_intersect_key(
70
-            EEM_Transaction::instance()->field_settings(),
71
-            array_flip(
72
-                array(
73
-                    'TXN_timestamp',
74
-                    'TXN_total',
75
-                    'TXN_paid',
76
-                    'TXN_session_data',
77
-                )
78
-            )
79
-        );
80
-        $export_items = array();
81
-        $found_something = false;
82
-        foreach ($transactions as $transaction) {
83
-            $found_something = true;
84
-            $data = array();
85
-            foreach ($export_fields as $field_name => $field_obj) {
86
-                if ($field_name === 'TXN_session_data') {
87
-                    $value = $transaction->get_pretty($field_name, 'print_r');
88
-                } else {
89
-                    $value = $transaction->get_pretty($field_name);
90
-                }
91
-                $data[] = array(
92
-                    'name'  => $field_obj->get_nicename(),
93
-                    'value' => $value,
94
-                );
95
-            }
96
-            $export_items[] = array(
97
-                'group_id'    => 'transactions',
98
-                'group_label' => esc_html__('Transactions', 'event_espresso'),
99
-                'item_id'     => $transaction->ID(),
100
-                'data'        => $data,
101
-            );
102
-        }
103
-        return array(
104
-            'data' => $export_items,
105
-            'done' => ! $found_something,
106
-        );
107
-    }
34
+	/**
35
+	 * Returns data for export.
36
+	 *
37
+	 * @param string    $email_address ,
38
+	 * @param int       $page          starts at 1, not 0
39
+	 * @return array {
40
+	 * @type array      $data          {
41
+	 * @type array {
42
+	 * @type string     $group_id      (not translated, same for all exports)
43
+	 * @type string     $group_label   (translated string)
44
+	 * @type string|int $item_id
45
+	 * @type array      $data          {
46
+	 * @type array {
47
+	 * @type string     $name          what's shown in the left-column of the export row
48
+	 * @type string     $value         what's showin the right-column of the export row
49
+	 *                                 }
50
+	 *                                 }
51
+	 *                                 }
52
+	 *                                 }
53
+	 *                                 }
54
+	 */
55
+	public function export($email_address, $page = 1)
56
+	{
57
+		$page_size = 10;
58
+		$transactions = $this->transaction_model->get_all(
59
+			array(
60
+				array(
61
+					'Registration.Attendee.ATT_email' => $email_address,
62
+				),
63
+				'limit' => array(
64
+					($page - 1) * $page_size,
65
+					$page_size,
66
+				),
67
+			)
68
+		);
69
+		$export_fields = array_intersect_key(
70
+			EEM_Transaction::instance()->field_settings(),
71
+			array_flip(
72
+				array(
73
+					'TXN_timestamp',
74
+					'TXN_total',
75
+					'TXN_paid',
76
+					'TXN_session_data',
77
+				)
78
+			)
79
+		);
80
+		$export_items = array();
81
+		$found_something = false;
82
+		foreach ($transactions as $transaction) {
83
+			$found_something = true;
84
+			$data = array();
85
+			foreach ($export_fields as $field_name => $field_obj) {
86
+				if ($field_name === 'TXN_session_data') {
87
+					$value = $transaction->get_pretty($field_name, 'print_r');
88
+				} else {
89
+					$value = $transaction->get_pretty($field_name);
90
+				}
91
+				$data[] = array(
92
+					'name'  => $field_obj->get_nicename(),
93
+					'value' => $value,
94
+				);
95
+			}
96
+			$export_items[] = array(
97
+				'group_id'    => 'transactions',
98
+				'group_label' => esc_html__('Transactions', 'event_espresso'),
99
+				'item_id'     => $transaction->ID(),
100
+				'data'        => $data,
101
+			);
102
+		}
103
+		return array(
104
+			'data' => $export_items,
105
+			'done' => ! $found_something,
106
+		);
107
+	}
108 108
 
109
-    /**
110
-     * Gets the Translated name of this exporter
111
-     *
112
-     * @return string
113
-     */
114
-    public function name()
115
-    {
116
-        return esc_html__('Event Espresso Transaction Exporter', 'event_espresso');
117
-    }
109
+	/**
110
+	 * Gets the Translated name of this exporter
111
+	 *
112
+	 * @return string
113
+	 */
114
+	public function name()
115
+	{
116
+		return esc_html__('Event Espresso Transaction Exporter', 'event_espresso');
117
+	}
118 118
 }
119 119
 // End of file ExportTransaction.php
120 120
 // Location: EventEspresso\core\domain\services\admin\privacy\export/ExportTransaction.php
Please login to merge, or discard this patch.
core/domain/services/admin/privacy/export/ExportCheckins.php 1 patch
Indentation   +100 added lines, -100 removed lines patch added patch discarded remove patch
@@ -16,112 +16,112 @@
 block discarded – undo
16 16
  */
17 17
 class ExportCheckins implements PersonalDataExporterInterface
18 18
 {
19
-    /**
20
-     * @var EEM_Checkin
21
-     */
22
-    protected $checkin_model;
19
+	/**
20
+	 * @var EEM_Checkin
21
+	 */
22
+	protected $checkin_model;
23 23
 
24
-    /**
25
-     * ExportCheckins constructor.
26
-     *
27
-     * @param EEM_Checkin $checkin_model
28
-     */
29
-    public function __construct(EEM_Checkin $checkin_model)
30
-    {
31
-        $this->checkin_model = $checkin_model;
32
-    }
24
+	/**
25
+	 * ExportCheckins constructor.
26
+	 *
27
+	 * @param EEM_Checkin $checkin_model
28
+	 */
29
+	public function __construct(EEM_Checkin $checkin_model)
30
+	{
31
+		$this->checkin_model = $checkin_model;
32
+	}
33 33
 
34 34
 
35
-    /**
36
-     * Returns data for export.
37
-     *
38
-     * @param string    $email_address ,
39
-     * @param int       $page          starts at 1, not 0
40
-     * @return array {
41
-     * @type array      $data          {
42
-     * @type array {
43
-     * @type string     $group_id      (not translated, same for all exports)
44
-     * @type string     $group_label   (translated string)
45
-     * @type string|int $item_id
46
-     * @type array      $data          {
47
-     * @type array {
48
-     * @type string     $name          what's shown in the left-column of the export row
49
-     * @type string     $value         what's showin the right-column of the export row
50
-     *                                 }
51
-     *                                 }
52
-     *                                 }
53
-     *                                 }
54
-     *                                 }
55
-     */
56
-    public function export($email_address, $page = 1)
57
-    {
58
-        $page_size = 10;
59
-        $checkins = $this->checkin_model->get_all(
60
-            array(
61
-                array(
62
-                    'Registration.Attendee.ATT_email' => $email_address,
63
-                ),
64
-                'limit'      => array(
65
-                    ($page - 1) * $page_size,
66
-                    $page_size,
67
-                ),
68
-                'force_join' => array('Registration.Event'),
69
-            )
70
-        );
35
+	/**
36
+	 * Returns data for export.
37
+	 *
38
+	 * @param string    $email_address ,
39
+	 * @param int       $page          starts at 1, not 0
40
+	 * @return array {
41
+	 * @type array      $data          {
42
+	 * @type array {
43
+	 * @type string     $group_id      (not translated, same for all exports)
44
+	 * @type string     $group_label   (translated string)
45
+	 * @type string|int $item_id
46
+	 * @type array      $data          {
47
+	 * @type array {
48
+	 * @type string     $name          what's shown in the left-column of the export row
49
+	 * @type string     $value         what's showin the right-column of the export row
50
+	 *                                 }
51
+	 *                                 }
52
+	 *                                 }
53
+	 *                                 }
54
+	 *                                 }
55
+	 */
56
+	public function export($email_address, $page = 1)
57
+	{
58
+		$page_size = 10;
59
+		$checkins = $this->checkin_model->get_all(
60
+			array(
61
+				array(
62
+					'Registration.Attendee.ATT_email' => $email_address,
63
+				),
64
+				'limit'      => array(
65
+					($page - 1) * $page_size,
66
+					$page_size,
67
+				),
68
+				'force_join' => array('Registration.Event'),
69
+			)
70
+		);
71 71
 
72
-        if (empty($checkins)) {
73
-            return array(
74
-                'data' => array(),
75
-                'done' => true,
76
-            );
77
-        }
72
+		if (empty($checkins)) {
73
+			return array(
74
+				'data' => array(),
75
+				'done' => true,
76
+			);
77
+		}
78 78
 
79
-        $export_items = array();
80
-        foreach ($checkins as $checkin) {
81
-            $reg = $checkin->get_first_related('Registration');
82
-            if ($reg instanceof EE_Registration) {
83
-                $event_name = $reg->event_name();
84
-            } else {
85
-                $event_name = esc_html__('Unknown', 'event_espresso');
86
-            }
87
-            $export_items[] =
88
-                array(
89
-                    'group_id'    => 'check-ins',
90
-                    'group_label' => esc_html__('Event Check-Ins', 'event_espresso'),
91
-                    'item_id'     => $checkin->ID(),
92
-                    'data'        => array(
93
-                        array(
94
-                            'name'  => esc_html__('Time', 'event_espresso'),
95
-                            'value' => $checkin->get_pretty('CHK_timestamp'),
96
-                        ),
97
-                        array(
98
-                            'name'  => esc_html__('Check in/out', 'event_espresso'),
99
-                            'value' => $checkin->get('CHK_in')
100
-                                ? esc_html__('In', 'event_espresso')
101
-                                : esc_html__('Out', 'event_espresso'),
102
-                        ),
103
-                        array(
104
-                            'name'  => esc_html__('Event', 'event_espresso'),
105
-                            'value' => $event_name,
106
-                        ),
107
-                    ),
108
-                );
109
-        }
110
-        return array(
111
-            'data' => $export_items,
112
-            'done' => true,
113
-        );
114
-    }
79
+		$export_items = array();
80
+		foreach ($checkins as $checkin) {
81
+			$reg = $checkin->get_first_related('Registration');
82
+			if ($reg instanceof EE_Registration) {
83
+				$event_name = $reg->event_name();
84
+			} else {
85
+				$event_name = esc_html__('Unknown', 'event_espresso');
86
+			}
87
+			$export_items[] =
88
+				array(
89
+					'group_id'    => 'check-ins',
90
+					'group_label' => esc_html__('Event Check-Ins', 'event_espresso'),
91
+					'item_id'     => $checkin->ID(),
92
+					'data'        => array(
93
+						array(
94
+							'name'  => esc_html__('Time', 'event_espresso'),
95
+							'value' => $checkin->get_pretty('CHK_timestamp'),
96
+						),
97
+						array(
98
+							'name'  => esc_html__('Check in/out', 'event_espresso'),
99
+							'value' => $checkin->get('CHK_in')
100
+								? esc_html__('In', 'event_espresso')
101
+								: esc_html__('Out', 'event_espresso'),
102
+						),
103
+						array(
104
+							'name'  => esc_html__('Event', 'event_espresso'),
105
+							'value' => $event_name,
106
+						),
107
+					),
108
+				);
109
+		}
110
+		return array(
111
+			'data' => $export_items,
112
+			'done' => true,
113
+		);
114
+	}
115 115
 
116
-    /**
117
-     * Gets the Translated name of this exporter
118
-     *
119
-     * @return string
120
-     */
121
-    public function name()
122
-    {
123
-        return esc_html__('Event Espresso Checkins Exporter', 'event_espresso');
124
-    }
116
+	/**
117
+	 * Gets the Translated name of this exporter
118
+	 *
119
+	 * @return string
120
+	 */
121
+	public function name()
122
+	{
123
+		return esc_html__('Event Espresso Checkins Exporter', 'event_espresso');
124
+	}
125 125
 }
126 126
 // End of file ExportCheckins.php
127 127
 // Location: EventEspresso\core\domain\services\admin\privacy\export/ExportCheckins.php
Please login to merge, or discard this patch.
core/domain/services/admin/privacy/export/ExportAttendee.php 2 patches
Indentation   +104 added lines, -104 removed lines patch added patch discarded remove patch
@@ -15,116 +15,116 @@
 block discarded – undo
15 15
  */
16 16
 class ExportAttendee implements PersonalDataExporterInterface
17 17
 {
18
-    /**
19
-     * @var EEM_Attendee
20
-     */
21
-    protected $attendee_model;
18
+	/**
19
+	 * @var EEM_Attendee
20
+	 */
21
+	protected $attendee_model;
22 22
 
23
-    /**
24
-     * ExportAttendee constructor.
25
-     *
26
-     * @param EEM_Attendee $attendee_model
27
-     */
28
-    public function __construct(EEM_Attendee $attendee_model)
29
-    {
30
-        $this->attendee_model = $attendee_model;
31
-    }
23
+	/**
24
+	 * ExportAttendee constructor.
25
+	 *
26
+	 * @param EEM_Attendee $attendee_model
27
+	 */
28
+	public function __construct(EEM_Attendee $attendee_model)
29
+	{
30
+		$this->attendee_model = $attendee_model;
31
+	}
32 32
 
33 33
 
34
-    /**
35
-     * Returns data for export.
36
-     *
37
-     * @param string    $email_address ,
38
-     * @param int       $page          starts at 1, not 0
39
-     * @return array {
40
-     * @type array      $data          {
41
-     * @type array {
42
-     * @type string     $group_id      (not translated, same for all exports)
43
-     * @type string     $group_label   (translated string)
44
-     * @type string|int $item_id
45
-     * @type array      $data          {
46
-     * @type array {
47
-     * @type string     $name          what's shown in the left-column of the export row
48
-     * @type string     $value         what's showin the right-column of the export row
49
-     *                                 }
50
-     *                                 }
51
-     *                                 }
52
-     *                                 }
53
-     *                                 }
54
-     */
55
-    public function export($email_address, $page = 1)
56
-    {
57
-        $attendees = $this->attendee_model->get_all(
58
-            array(
59
-                array(
60
-                    'ATT_email' => $email_address,
61
-                ),
62
-            )
63
-        );
34
+	/**
35
+	 * Returns data for export.
36
+	 *
37
+	 * @param string    $email_address ,
38
+	 * @param int       $page          starts at 1, not 0
39
+	 * @return array {
40
+	 * @type array      $data          {
41
+	 * @type array {
42
+	 * @type string     $group_id      (not translated, same for all exports)
43
+	 * @type string     $group_label   (translated string)
44
+	 * @type string|int $item_id
45
+	 * @type array      $data          {
46
+	 * @type array {
47
+	 * @type string     $name          what's shown in the left-column of the export row
48
+	 * @type string     $value         what's showin the right-column of the export row
49
+	 *                                 }
50
+	 *                                 }
51
+	 *                                 }
52
+	 *                                 }
53
+	 *                                 }
54
+	 */
55
+	public function export($email_address, $page = 1)
56
+	{
57
+		$attendees = $this->attendee_model->get_all(
58
+			array(
59
+				array(
60
+					'ATT_email' => $email_address,
61
+				),
62
+			)
63
+		);
64 64
 
65
-        if (empty($attendees)) {
66
-            return array(
67
-                'data' => array(),
68
-                'done' => true,
69
-            );
70
-        }
65
+		if (empty($attendees)) {
66
+			return array(
67
+				'data' => array(),
68
+				'done' => true,
69
+			);
70
+		}
71 71
 
72
-        $export_items = array();
73
-        foreach ($attendees as $attendee) {
74
-            $export_fields = array_intersect_key(
75
-                $this->attendee_model->field_settings(),
76
-                array_flip(
77
-                    array(
78
-                        'ATT_fname',
79
-                        'ATT_lname',
80
-                        'ATT_email',
81
-                        'ATT_address1',
82
-                        'ATT_address2',
83
-                        'ATT_city',
84
-                        'STA_ID',
85
-                        'CNT_ISO',
86
-                        'ATT_zip',
87
-                        'ATT_phone',
88
-                    )
89
-                )
90
-            );
91
-            $data = array();
92
-            foreach ($export_fields as $field_name => $field_obj) {
93
-                if ($field_name === 'STA_ID') {
94
-                    $value = $attendee->state_name();
95
-                } elseif ($field_name == 'CNT_ISO') {
96
-                    $value = $attendee->country_name();
97
-                } else {
98
-                    $value = $attendee->get_pretty($field_name);
99
-                }
100
-                $data[] = array(
101
-                    'name'  => $field_obj->get_nicename(),
102
-                    'value' => $value,
103
-                );
104
-            }
105
-            $export_items[] =
106
-                array(
107
-                    'group_id'    => 'att-' . $attendee->ID(),
108
-                    'group_label' => esc_html__('Contact Profiles', 'event_espresso'),
109
-                    'item_id'     => $attendee->ID(),
110
-                    'data'        => $data,
111
-                );
112
-        }
113
-        return array(
114
-            'data' => $export_items,
115
-            'done' => true,
116
-        );
117
-    }
72
+		$export_items = array();
73
+		foreach ($attendees as $attendee) {
74
+			$export_fields = array_intersect_key(
75
+				$this->attendee_model->field_settings(),
76
+				array_flip(
77
+					array(
78
+						'ATT_fname',
79
+						'ATT_lname',
80
+						'ATT_email',
81
+						'ATT_address1',
82
+						'ATT_address2',
83
+						'ATT_city',
84
+						'STA_ID',
85
+						'CNT_ISO',
86
+						'ATT_zip',
87
+						'ATT_phone',
88
+					)
89
+				)
90
+			);
91
+			$data = array();
92
+			foreach ($export_fields as $field_name => $field_obj) {
93
+				if ($field_name === 'STA_ID') {
94
+					$value = $attendee->state_name();
95
+				} elseif ($field_name == 'CNT_ISO') {
96
+					$value = $attendee->country_name();
97
+				} else {
98
+					$value = $attendee->get_pretty($field_name);
99
+				}
100
+				$data[] = array(
101
+					'name'  => $field_obj->get_nicename(),
102
+					'value' => $value,
103
+				);
104
+			}
105
+			$export_items[] =
106
+				array(
107
+					'group_id'    => 'att-' . $attendee->ID(),
108
+					'group_label' => esc_html__('Contact Profiles', 'event_espresso'),
109
+					'item_id'     => $attendee->ID(),
110
+					'data'        => $data,
111
+				);
112
+		}
113
+		return array(
114
+			'data' => $export_items,
115
+			'done' => true,
116
+		);
117
+	}
118 118
 
119
-    /**
120
-     * Gets the Translated name of this exporter
121
-     *
122
-     * @return string
123
-     */
124
-    public function name()
125
-    {
126
-        return esc_html__('Event Espresso Attendee Data Exporter', 'event_espresso');
127
-    }
119
+	/**
120
+	 * Gets the Translated name of this exporter
121
+	 *
122
+	 * @return string
123
+	 */
124
+	public function name()
125
+	{
126
+		return esc_html__('Event Espresso Attendee Data Exporter', 'event_espresso');
127
+	}
128 128
 }
129 129
 // End of file ExportAttendee.php
130 130
 // Location: EventEspresso\core\domain\services\admin\privacy\export/ExportAttendee.php
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -104,7 +104,7 @@
 block discarded – undo
104 104
             }
105 105
             $export_items[] =
106 106
                 array(
107
-                    'group_id'    => 'att-' . $attendee->ID(),
107
+                    'group_id'    => 'att-'.$attendee->ID(),
108 108
                     'group_label' => esc_html__('Contact Profiles', 'event_espresso'),
109 109
                     'item_id'     => $attendee->ID(),
110 110
                     'data'        => $data,
Please login to merge, or discard this patch.