@@ -93,7 +93,7 @@ discard block |
||
93 | 93 | */ |
94 | 94 | public function getType() |
95 | 95 | { |
96 | - if (!$this->type) { |
|
96 | + if ( ! $this->type) { |
|
97 | 97 | $this->type = $this->determineType(); |
98 | 98 | } |
99 | 99 | return $this->type; |
@@ -105,7 +105,7 @@ discard block |
||
105 | 105 | */ |
106 | 106 | protected function determineType() |
107 | 107 | { |
108 | - if (!$this->getTmpFile()) { |
|
108 | + if ( ! $this->getTmpFile()) { |
|
109 | 109 | return ''; |
110 | 110 | } |
111 | 111 | $finfo = new finfo(FILEINFO_MIME_TYPE); |
@@ -119,7 +119,7 @@ discard block |
||
119 | 119 | */ |
120 | 120 | public function getExtension() |
121 | 121 | { |
122 | - if (!$this->extension) { |
|
122 | + if ( ! $this->extension) { |
|
123 | 123 | $this->extension = $this->determineExtension(); |
124 | 124 | } |
125 | 125 | return $this->extension; |
@@ -19,164 +19,164 @@ |
||
19 | 19 | */ |
20 | 20 | class FileSubmission implements FileSubmissionInterface |
21 | 21 | { |
22 | - /** |
|
23 | - * @var string original name on the client machine |
|
24 | - */ |
|
25 | - protected $name; |
|
26 | - |
|
27 | - /** |
|
28 | - * @var string mime type |
|
29 | - */ |
|
30 | - protected $type; |
|
31 | - |
|
32 | - /** |
|
33 | - * @var string file extension |
|
34 | - */ |
|
35 | - protected $extension; |
|
36 | - |
|
37 | - /** |
|
38 | - * @var int in bytes |
|
39 | - */ |
|
40 | - protected $size; |
|
41 | - |
|
42 | - /** |
|
43 | - * @var string local filepath to the temporary file |
|
44 | - */ |
|
45 | - protected $tmp_file; |
|
46 | - |
|
47 | - /** |
|
48 | - * @var int one of UPLOAD_ERR_OK, UPLOAD_ERR_NO_FILE, UPLOAD_ERR_INI_SIZE, UPLOAD_ERR_FORM_SIZE or other values |
|
49 | - * although those aren't expected. |
|
50 | - */ |
|
51 | - protected $error_code; |
|
52 | - |
|
53 | - /** |
|
54 | - * FileSubmission constructor. |
|
55 | - * @param $name |
|
56 | - * @param $tmp_file |
|
57 | - * @param $size |
|
58 | - * @param null $error_code |
|
59 | - * @throws InvalidArgumentException |
|
60 | - */ |
|
61 | - public function __construct($name, $tmp_file, $size, $error_code = null) |
|
62 | - { |
|
63 | - $this->name = basename($name); |
|
64 | - $scheme = parse_url($tmp_file, PHP_URL_SCHEME); |
|
65 | - if (in_array($scheme, ['http', 'https'])) { |
|
66 | - // Wait a minute- just local filepaths please, no URL schemes allowed! |
|
67 | - throw new InvalidArgumentException( |
|
68 | - sprintf( |
|
69 | - // @codingStandardsIgnoreStart |
|
70 | - esc_html__('The scheme ("%1$s") on the temporary file ("%2$s") indicates is located elsewhere, that’s not ok!', 'event_espresso'), |
|
71 | - // @codingStandardsIgnoreEnd |
|
72 | - $scheme, |
|
73 | - $tmp_file |
|
74 | - ) |
|
75 | - ); |
|
76 | - } |
|
77 | - $this->tmp_file = (string) $tmp_file; |
|
78 | - $this->size = (int) $size; |
|
79 | - $this->error_code = (int) $error_code; |
|
80 | - } |
|
81 | - |
|
82 | - /** |
|
83 | - * @return string |
|
84 | - */ |
|
85 | - public function getName() |
|
86 | - { |
|
87 | - return $this->name; |
|
88 | - } |
|
89 | - |
|
90 | - /** |
|
91 | - * Gets the file's mime type |
|
92 | - * @return string |
|
93 | - */ |
|
94 | - public function getType() |
|
95 | - { |
|
96 | - if (!$this->type) { |
|
97 | - $this->type = $this->determineType(); |
|
98 | - } |
|
99 | - return $this->type; |
|
100 | - } |
|
101 | - |
|
102 | - /** |
|
103 | - * @since 4.9.80.p |
|
104 | - * @return string |
|
105 | - */ |
|
106 | - protected function determineType() |
|
107 | - { |
|
108 | - if (!$this->getTmpFile()) { |
|
109 | - return ''; |
|
110 | - } |
|
111 | - $finfo = new finfo(FILEINFO_MIME_TYPE); |
|
112 | - return $finfo->file($this->getTmpFile()); |
|
113 | - } |
|
114 | - |
|
115 | - /** |
|
116 | - * Gets the file's extension. |
|
117 | - * @since 4.9.80.p |
|
118 | - * @return string |
|
119 | - */ |
|
120 | - public function getExtension() |
|
121 | - { |
|
122 | - if (!$this->extension) { |
|
123 | - $this->extension = $this->determineExtension(); |
|
124 | - } |
|
125 | - return $this->extension; |
|
126 | - } |
|
127 | - |
|
128 | - /** |
|
129 | - * Determine's the file's extension given the temporary file. |
|
130 | - * @since 4.9.80.p |
|
131 | - * @return string |
|
132 | - */ |
|
133 | - protected function determineExtension() |
|
134 | - { |
|
135 | - $position_of_period = strrpos($this->getName(), '.'); |
|
136 | - if ($position_of_period === false) { |
|
137 | - return ''; |
|
138 | - } |
|
139 | - return mb_substr( |
|
140 | - $this->getName(), |
|
141 | - $position_of_period + 1 |
|
142 | - ); |
|
143 | - } |
|
144 | - |
|
145 | - /** |
|
146 | - * Gets the size of the file |
|
147 | - * @return int |
|
148 | - */ |
|
149 | - public function getSize() |
|
150 | - { |
|
151 | - return $this->size; |
|
152 | - } |
|
153 | - |
|
154 | - /** |
|
155 | - * Gets the path to the temporary file which was uploaded. |
|
156 | - * @return string |
|
157 | - */ |
|
158 | - public function getTmpFile() |
|
159 | - { |
|
160 | - return $this->tmp_file; |
|
161 | - } |
|
162 | - |
|
163 | - /** |
|
164 | - * @since 4.9.80.p |
|
165 | - * @return string |
|
166 | - */ |
|
167 | - public function __toString() |
|
168 | - { |
|
169 | - return $this->getName(); |
|
170 | - } |
|
171 | - |
|
172 | - /** |
|
173 | - * Gets the error code PHP reported for the file upload. |
|
174 | - * @return string |
|
175 | - */ |
|
176 | - public function getErrorCode() |
|
177 | - { |
|
178 | - return $this->error_code; |
|
179 | - } |
|
22 | + /** |
|
23 | + * @var string original name on the client machine |
|
24 | + */ |
|
25 | + protected $name; |
|
26 | + |
|
27 | + /** |
|
28 | + * @var string mime type |
|
29 | + */ |
|
30 | + protected $type; |
|
31 | + |
|
32 | + /** |
|
33 | + * @var string file extension |
|
34 | + */ |
|
35 | + protected $extension; |
|
36 | + |
|
37 | + /** |
|
38 | + * @var int in bytes |
|
39 | + */ |
|
40 | + protected $size; |
|
41 | + |
|
42 | + /** |
|
43 | + * @var string local filepath to the temporary file |
|
44 | + */ |
|
45 | + protected $tmp_file; |
|
46 | + |
|
47 | + /** |
|
48 | + * @var int one of UPLOAD_ERR_OK, UPLOAD_ERR_NO_FILE, UPLOAD_ERR_INI_SIZE, UPLOAD_ERR_FORM_SIZE or other values |
|
49 | + * although those aren't expected. |
|
50 | + */ |
|
51 | + protected $error_code; |
|
52 | + |
|
53 | + /** |
|
54 | + * FileSubmission constructor. |
|
55 | + * @param $name |
|
56 | + * @param $tmp_file |
|
57 | + * @param $size |
|
58 | + * @param null $error_code |
|
59 | + * @throws InvalidArgumentException |
|
60 | + */ |
|
61 | + public function __construct($name, $tmp_file, $size, $error_code = null) |
|
62 | + { |
|
63 | + $this->name = basename($name); |
|
64 | + $scheme = parse_url($tmp_file, PHP_URL_SCHEME); |
|
65 | + if (in_array($scheme, ['http', 'https'])) { |
|
66 | + // Wait a minute- just local filepaths please, no URL schemes allowed! |
|
67 | + throw new InvalidArgumentException( |
|
68 | + sprintf( |
|
69 | + // @codingStandardsIgnoreStart |
|
70 | + esc_html__('The scheme ("%1$s") on the temporary file ("%2$s") indicates is located elsewhere, that’s not ok!', 'event_espresso'), |
|
71 | + // @codingStandardsIgnoreEnd |
|
72 | + $scheme, |
|
73 | + $tmp_file |
|
74 | + ) |
|
75 | + ); |
|
76 | + } |
|
77 | + $this->tmp_file = (string) $tmp_file; |
|
78 | + $this->size = (int) $size; |
|
79 | + $this->error_code = (int) $error_code; |
|
80 | + } |
|
81 | + |
|
82 | + /** |
|
83 | + * @return string |
|
84 | + */ |
|
85 | + public function getName() |
|
86 | + { |
|
87 | + return $this->name; |
|
88 | + } |
|
89 | + |
|
90 | + /** |
|
91 | + * Gets the file's mime type |
|
92 | + * @return string |
|
93 | + */ |
|
94 | + public function getType() |
|
95 | + { |
|
96 | + if (!$this->type) { |
|
97 | + $this->type = $this->determineType(); |
|
98 | + } |
|
99 | + return $this->type; |
|
100 | + } |
|
101 | + |
|
102 | + /** |
|
103 | + * @since 4.9.80.p |
|
104 | + * @return string |
|
105 | + */ |
|
106 | + protected function determineType() |
|
107 | + { |
|
108 | + if (!$this->getTmpFile()) { |
|
109 | + return ''; |
|
110 | + } |
|
111 | + $finfo = new finfo(FILEINFO_MIME_TYPE); |
|
112 | + return $finfo->file($this->getTmpFile()); |
|
113 | + } |
|
114 | + |
|
115 | + /** |
|
116 | + * Gets the file's extension. |
|
117 | + * @since 4.9.80.p |
|
118 | + * @return string |
|
119 | + */ |
|
120 | + public function getExtension() |
|
121 | + { |
|
122 | + if (!$this->extension) { |
|
123 | + $this->extension = $this->determineExtension(); |
|
124 | + } |
|
125 | + return $this->extension; |
|
126 | + } |
|
127 | + |
|
128 | + /** |
|
129 | + * Determine's the file's extension given the temporary file. |
|
130 | + * @since 4.9.80.p |
|
131 | + * @return string |
|
132 | + */ |
|
133 | + protected function determineExtension() |
|
134 | + { |
|
135 | + $position_of_period = strrpos($this->getName(), '.'); |
|
136 | + if ($position_of_period === false) { |
|
137 | + return ''; |
|
138 | + } |
|
139 | + return mb_substr( |
|
140 | + $this->getName(), |
|
141 | + $position_of_period + 1 |
|
142 | + ); |
|
143 | + } |
|
144 | + |
|
145 | + /** |
|
146 | + * Gets the size of the file |
|
147 | + * @return int |
|
148 | + */ |
|
149 | + public function getSize() |
|
150 | + { |
|
151 | + return $this->size; |
|
152 | + } |
|
153 | + |
|
154 | + /** |
|
155 | + * Gets the path to the temporary file which was uploaded. |
|
156 | + * @return string |
|
157 | + */ |
|
158 | + public function getTmpFile() |
|
159 | + { |
|
160 | + return $this->tmp_file; |
|
161 | + } |
|
162 | + |
|
163 | + /** |
|
164 | + * @since 4.9.80.p |
|
165 | + * @return string |
|
166 | + */ |
|
167 | + public function __toString() |
|
168 | + { |
|
169 | + return $this->getName(); |
|
170 | + } |
|
171 | + |
|
172 | + /** |
|
173 | + * Gets the error code PHP reported for the file upload. |
|
174 | + * @return string |
|
175 | + */ |
|
176 | + public function getErrorCode() |
|
177 | + { |
|
178 | + return $this->error_code; |
|
179 | + } |
|
180 | 180 | } |
181 | 181 | // End of file FileSubmission.php |
182 | 182 | // Location: EventEspresso\core\services\request\files/FileSubmission.php |
@@ -5,38 +5,38 @@ |
||
5 | 5 | |
6 | 6 | <?php |
7 | 7 | $settings_array = array( |
8 | - 'max_registrants' => '<p> |
|
8 | + 'max_registrants' => '<p> |
|
9 | 9 | <label for="max-registrants">' |
10 | - . esc_html__( |
|
11 | - 'Maximum number of tickets allowed per order for this event: ', |
|
12 | - 'event_espresso' |
|
13 | - ) . '</label> |
|
10 | + . esc_html__( |
|
11 | + 'Maximum number of tickets allowed per order for this event: ', |
|
12 | + 'event_espresso' |
|
13 | + ) . '</label> |
|
14 | 14 | <input class="ee-numeric" type="text" id="max-registrants" name="additional_limit" value="' . $additional_limit . '" size="4" /> |
15 | 15 | </p>', |
16 | - 'additional_registration_options' => $additional_registration_options, |
|
17 | - 'display_ticket_selector' => '<p> |
|
16 | + 'additional_registration_options' => $additional_registration_options, |
|
17 | + 'display_ticket_selector' => '<p> |
|
18 | 18 | <label>' . esc_html__('Display Ticket Selector', 'event_espresso') . '</label>' . $display_ticket_selector . '</p>', |
19 | - 'alternative_registration_page' => '<p> |
|
19 | + 'alternative_registration_page' => '<p> |
|
20 | 20 | <label>' . esc_html__('Alternative Registration Page', 'event_espresso') . '</label> |
21 | 21 | <input name="externalURL" size="20" type="text" value="' . $_event->external_url() . '"> |
22 | 22 | </p>', |
23 | - 'event_phone_number' => '<p> |
|
23 | + 'event_phone_number' => '<p> |
|
24 | 24 | <label>' . esc_html__('Event Phone Number', 'event_espresso') . '</label> |
25 | 25 | <input name="event_phone" size="20" type="text" value="' . $_event->phone() . '"> |
26 | 26 | </p>', |
27 | - 'default_registration_status' => '<p> |
|
27 | + 'default_registration_status' => '<p> |
|
28 | 28 | <label>' |
29 | - . esc_html__( |
|
30 | - 'Default Registration Status', |
|
31 | - 'event_espresso' |
|
32 | - ) . '</label>' |
|
33 | - . EEH_Template::get_help_tab_link('event_editor_event_registration_options_help_tab') |
|
34 | - . $EVT_default_registration_status . '</p>', |
|
29 | + . esc_html__( |
|
30 | + 'Default Registration Status', |
|
31 | + 'event_espresso' |
|
32 | + ) . '</label>' |
|
33 | + . EEH_Template::get_help_tab_link('event_editor_event_registration_options_help_tab') |
|
34 | + . $EVT_default_registration_status . '</p>', |
|
35 | 35 | ); |
36 | 36 | // filter |
37 | 37 | $settings_array = apply_filters('FHEE__caffeinated_event_registration_options__template__settings', $settings_array); |
38 | 38 | |
39 | 39 | // echo |
40 | 40 | foreach ($settings_array as $item) { |
41 | - echo $item; |
|
41 | + echo $item; |
|
42 | 42 | } |
@@ -10,28 +10,28 @@ |
||
10 | 10 | . esc_html__( |
11 | 11 | 'Maximum number of tickets allowed per order for this event: ', |
12 | 12 | 'event_espresso' |
13 | - ) . '</label> |
|
14 | - <input class="ee-numeric" type="text" id="max-registrants" name="additional_limit" value="' . $additional_limit . '" size="4" /> |
|
13 | + ).'</label> |
|
14 | + <input class="ee-numeric" type="text" id="max-registrants" name="additional_limit" value="' . $additional_limit.'" size="4" /> |
|
15 | 15 | </p>', |
16 | 16 | 'additional_registration_options' => $additional_registration_options, |
17 | 17 | 'display_ticket_selector' => '<p> |
18 | - <label>' . esc_html__('Display Ticket Selector', 'event_espresso') . '</label>' . $display_ticket_selector . '</p>', |
|
18 | + <label>' . esc_html__('Display Ticket Selector', 'event_espresso').'</label>'.$display_ticket_selector.'</p>', |
|
19 | 19 | 'alternative_registration_page' => '<p> |
20 | - <label>' . esc_html__('Alternative Registration Page', 'event_espresso') . '</label> |
|
21 | - <input name="externalURL" size="20" type="text" value="' . $_event->external_url() . '"> |
|
20 | + <label>' . esc_html__('Alternative Registration Page', 'event_espresso').'</label> |
|
21 | + <input name="externalURL" size="20" type="text" value="' . $_event->external_url().'"> |
|
22 | 22 | </p>', |
23 | 23 | 'event_phone_number' => '<p> |
24 | - <label>' . esc_html__('Event Phone Number', 'event_espresso') . '</label> |
|
25 | - <input name="event_phone" size="20" type="text" value="' . $_event->phone() . '"> |
|
24 | + <label>' . esc_html__('Event Phone Number', 'event_espresso').'</label> |
|
25 | + <input name="event_phone" size="20" type="text" value="' . $_event->phone().'"> |
|
26 | 26 | </p>', |
27 | 27 | 'default_registration_status' => '<p> |
28 | 28 | <label>' |
29 | 29 | . esc_html__( |
30 | 30 | 'Default Registration Status', |
31 | 31 | 'event_espresso' |
32 | - ) . '</label>' |
|
32 | + ).'</label>' |
|
33 | 33 | . EEH_Template::get_help_tab_link('event_editor_event_registration_options_help_tab') |
34 | - . $EVT_default_registration_status . '</p>', |
|
34 | + . $EVT_default_registration_status.'</p>', |
|
35 | 35 | ); |
36 | 36 | // filter |
37 | 37 | $settings_array = apply_filters('FHEE__caffeinated_event_registration_options__template__settings', $settings_array); |
@@ -57,38 +57,38 @@ |
||
57 | 57 | <div> |
58 | 58 | <strong><?php echo EEH_Template::pretty_status(EEM_Registration::status_id_approved, false, 'sentence'); ?></strong><br /> |
59 | 59 | <?php printf( |
60 | - esc_html__( |
|
61 | - /* translators: Approved Registration status */ |
|
62 | - 'A status of %s means that a registration has been accepted as complete. The registration will count towards the registration limit, remaining tickets, and calculations for available seats. Payments (if necessary) can also be made by primary registrants with this status.', |
|
63 | - 'event_espresso' |
|
64 | - ), |
|
65 | - EEH_Template::pretty_status(EEM_Registration::status_id_approved, false, 'sentence') |
|
60 | + esc_html__( |
|
61 | + /* translators: Approved Registration status */ |
|
62 | + 'A status of %s means that a registration has been accepted as complete. The registration will count towards the registration limit, remaining tickets, and calculations for available seats. Payments (if necessary) can also be made by primary registrants with this status.', |
|
63 | + 'event_espresso' |
|
64 | + ), |
|
65 | + EEH_Template::pretty_status(EEM_Registration::status_id_approved, false, 'sentence') |
|
66 | 66 | ); ?> |
67 | 67 | </div> |
68 | 68 | <div> |
69 | 69 | <strong><?php echo EEH_Template::pretty_status(EEM_Registration::status_id_pending_payment, false, 'sentence'); ?></strong><br /> |
70 | 70 | <?php printf( |
71 | - esc_html__( |
|
72 | - /* translators: 1: Pending Payment, 2: Pending Payment, 3: Approved */ |
|
73 | - 'A status of %1$s means that a registration has not paid but they ARE able to make payments (if necessary). %2$s registrations do NOT count towards registration limits, remaining tickets, and calculations for available seats. If registration for a free event occurs, then registrations are automatically set to %3$s. For paid tickets, %1$s registrations are set to %3$s when full payment is recorded.', |
|
74 | - 'event_espresso' |
|
75 | - ), |
|
76 | - EEH_Template::pretty_status(EEM_Registration::status_id_pending_payment, false, 'sentence'), |
|
77 | - EEH_Template::pretty_status(EEM_Registration::status_id_pending_payment, false, 'sentence'), |
|
78 | - EEH_Template::pretty_status(EEM_Registration::status_id_approved, false, 'sentence') |
|
71 | + esc_html__( |
|
72 | + /* translators: 1: Pending Payment, 2: Pending Payment, 3: Approved */ |
|
73 | + 'A status of %1$s means that a registration has not paid but they ARE able to make payments (if necessary). %2$s registrations do NOT count towards registration limits, remaining tickets, and calculations for available seats. If registration for a free event occurs, then registrations are automatically set to %3$s. For paid tickets, %1$s registrations are set to %3$s when full payment is recorded.', |
|
74 | + 'event_espresso' |
|
75 | + ), |
|
76 | + EEH_Template::pretty_status(EEM_Registration::status_id_pending_payment, false, 'sentence'), |
|
77 | + EEH_Template::pretty_status(EEM_Registration::status_id_pending_payment, false, 'sentence'), |
|
78 | + EEH_Template::pretty_status(EEM_Registration::status_id_approved, false, 'sentence') |
|
79 | 79 | ); ?> |
80 | 80 | </div> |
81 | 81 | <div> |
82 | 82 | <strong><?php echo EEH_Template::pretty_status(EEM_Registration::status_id_not_approved, false, 'sentence'); ?></strong><br /> |
83 | 83 | <?php printf( |
84 | - esc_html__( |
|
85 | - /* translators: 1: Not Approved, 2: Pending Payment, 3: Approved */ |
|
86 | - 'A status of %1$s means that a registration has not paid and they cannot make payments for towards an event. Un-approved registrations do NOT count towards registration limits, remaining tickets, and calculations for available seats. This setting differs from the "%2$s" default in that free ticket registrations and paid in full ticket registrations do NOT automatically switch the Registration to %3$s. Instead, the event admin must manually set the registration to either "%2$s" for registrations requiring payments, or "%3$s" for free events.', |
|
87 | - 'event_espresso' |
|
88 | - ), |
|
89 | - EEH_Template::pretty_status(EEM_Registration::status_id_not_approved, false, 'sentence'), |
|
90 | - EEH_Template::pretty_status(EEM_Registration::status_id_pending_payment, false, 'upper'), |
|
91 | - EEH_Template::pretty_status(EEM_Registration::status_id_approved, false, 'upper') |
|
84 | + esc_html__( |
|
85 | + /* translators: 1: Not Approved, 2: Pending Payment, 3: Approved */ |
|
86 | + 'A status of %1$s means that a registration has not paid and they cannot make payments for towards an event. Un-approved registrations do NOT count towards registration limits, remaining tickets, and calculations for available seats. This setting differs from the "%2$s" default in that free ticket registrations and paid in full ticket registrations do NOT automatically switch the Registration to %3$s. Instead, the event admin must manually set the registration to either "%2$s" for registrations requiring payments, or "%3$s" for free events.', |
|
87 | + 'event_espresso' |
|
88 | + ), |
|
89 | + EEH_Template::pretty_status(EEM_Registration::status_id_not_approved, false, 'sentence'), |
|
90 | + EEH_Template::pretty_status(EEM_Registration::status_id_pending_payment, false, 'upper'), |
|
91 | + EEH_Template::pretty_status(EEM_Registration::status_id_approved, false, 'upper') |
|
92 | 92 | ); ?> |
93 | 93 | </div> |
94 | 94 | </li> |
@@ -15,80 +15,80 @@ |
||
15 | 15 | class EE_Select2_Display_Strategy extends EE_Select_Display_Strategy |
16 | 16 | { |
17 | 17 | |
18 | - /** |
|
19 | - * Arguments that will be passed into the select2 javascript constructor |
|
20 | - * @var array |
|
21 | - */ |
|
22 | - protected $_select2_js_args = array(); |
|
18 | + /** |
|
19 | + * Arguments that will be passed into the select2 javascript constructor |
|
20 | + * @var array |
|
21 | + */ |
|
22 | + protected $_select2_js_args = array(); |
|
23 | 23 | |
24 | - /** |
|
25 | - * |
|
26 | - * @param array $select2_js_args pass in the EXACT array of JS arguments you want |
|
27 | - * to pass into the select2 js/html input. See https://select2.github.io |
|
28 | - */ |
|
29 | - public function __construct($select2_js_args = array()) |
|
30 | - { |
|
31 | - $this->_select2_js_args = $select2_js_args; |
|
32 | - parent::__construct(); |
|
33 | - } |
|
24 | + /** |
|
25 | + * |
|
26 | + * @param array $select2_js_args pass in the EXACT array of JS arguments you want |
|
27 | + * to pass into the select2 js/html input. See https://select2.github.io |
|
28 | + */ |
|
29 | + public function __construct($select2_js_args = array()) |
|
30 | + { |
|
31 | + $this->_select2_js_args = $select2_js_args; |
|
32 | + parent::__construct(); |
|
33 | + } |
|
34 | 34 | |
35 | - /** |
|
36 | - * enqueues the select2 initializing js (which depends on the select2 js) and |
|
37 | - * the select2 css |
|
38 | - */ |
|
39 | - public function enqueue_js() |
|
40 | - { |
|
41 | - // need to first deregister the select2 script in case some other plugin **cough cough Toolset Types cough** |
|
42 | - // is carelessly registering an older version of Select2 on admin pages that don't even belong to them |
|
43 | - wp_deregister_script('select2'); |
|
44 | - wp_deregister_style('select2'); |
|
45 | - wp_register_script('select2', EE_GLOBAL_ASSETS_URL . 'scripts/select2.min.js', array(), '4.0.2', true); |
|
46 | - wp_register_style('select2', EE_GLOBAL_ASSETS_URL . 'css/select2.min.css', array(), '4.0.2', 'all'); |
|
47 | - wp_enqueue_script('form_section_select2_init', EE_GLOBAL_ASSETS_URL . 'scripts/form_section_select2_init.js', array( 'select2' ), '1.0.0', true); |
|
48 | - wp_enqueue_style('select2', EE_GLOBAL_ASSETS_URL . 'css/select2.min.css', array(), '4.0.2', 'all'); |
|
49 | - } |
|
35 | + /** |
|
36 | + * enqueues the select2 initializing js (which depends on the select2 js) and |
|
37 | + * the select2 css |
|
38 | + */ |
|
39 | + public function enqueue_js() |
|
40 | + { |
|
41 | + // need to first deregister the select2 script in case some other plugin **cough cough Toolset Types cough** |
|
42 | + // is carelessly registering an older version of Select2 on admin pages that don't even belong to them |
|
43 | + wp_deregister_script('select2'); |
|
44 | + wp_deregister_style('select2'); |
|
45 | + wp_register_script('select2', EE_GLOBAL_ASSETS_URL . 'scripts/select2.min.js', array(), '4.0.2', true); |
|
46 | + wp_register_style('select2', EE_GLOBAL_ASSETS_URL . 'css/select2.min.css', array(), '4.0.2', 'all'); |
|
47 | + wp_enqueue_script('form_section_select2_init', EE_GLOBAL_ASSETS_URL . 'scripts/form_section_select2_init.js', array( 'select2' ), '1.0.0', true); |
|
48 | + wp_enqueue_style('select2', EE_GLOBAL_ASSETS_URL . 'css/select2.min.css', array(), '4.0.2', 'all'); |
|
49 | + } |
|
50 | 50 | |
51 | - /** |
|
52 | - * Gets the javascript args which will be localized and passed into the select2 js/html input |
|
53 | - * @return array |
|
54 | - */ |
|
55 | - public function get_js_args() |
|
56 | - { |
|
57 | - return $this->_select2_js_args; |
|
58 | - } |
|
51 | + /** |
|
52 | + * Gets the javascript args which will be localized and passed into the select2 js/html input |
|
53 | + * @return array |
|
54 | + */ |
|
55 | + public function get_js_args() |
|
56 | + { |
|
57 | + return $this->_select2_js_args; |
|
58 | + } |
|
59 | 59 | |
60 | - /** |
|
61 | - * Sets the exact js args which will be passed into the select2 js/html input |
|
62 | - * @param array $js_args |
|
63 | - */ |
|
64 | - public function set_js_args($js_args) |
|
65 | - { |
|
66 | - $this->_select2_js_args = $js_args; |
|
67 | - } |
|
60 | + /** |
|
61 | + * Sets the exact js args which will be passed into the select2 js/html input |
|
62 | + * @param array $js_args |
|
63 | + */ |
|
64 | + public function set_js_args($js_args) |
|
65 | + { |
|
66 | + $this->_select2_js_args = $js_args; |
|
67 | + } |
|
68 | 68 | |
69 | - /** |
|
70 | - * Adds select2 data for localization |
|
71 | - * @param array $other_js_data |
|
72 | - * @return array |
|
73 | - */ |
|
74 | - public function get_other_js_data($other_js_data = array()) |
|
75 | - { |
|
76 | - $other_js_data = parent::get_other_js_data($other_js_data); |
|
77 | - if (! isset($other_js_data['select2s'])) { |
|
78 | - $other_js_data['select2s'] = array(); |
|
79 | - } |
|
80 | - $other_js_data['select2s'][ $this->_input->html_id() ] = $this->get_js_args(); |
|
81 | - return $other_js_data; |
|
82 | - } |
|
69 | + /** |
|
70 | + * Adds select2 data for localization |
|
71 | + * @param array $other_js_data |
|
72 | + * @return array |
|
73 | + */ |
|
74 | + public function get_other_js_data($other_js_data = array()) |
|
75 | + { |
|
76 | + $other_js_data = parent::get_other_js_data($other_js_data); |
|
77 | + if (! isset($other_js_data['select2s'])) { |
|
78 | + $other_js_data['select2s'] = array(); |
|
79 | + } |
|
80 | + $other_js_data['select2s'][ $this->_input->html_id() ] = $this->get_js_args(); |
|
81 | + return $other_js_data; |
|
82 | + } |
|
83 | 83 | |
84 | - /** |
|
85 | - * Overrides standard attributes array to add the CSS class "ee-select2" |
|
86 | - * @return array |
|
87 | - */ |
|
88 | - protected function _standard_attributes_array() |
|
89 | - { |
|
90 | - $standard_attributes = parent::_standard_attributes_array(); |
|
91 | - $standard_attributes['class'] .= ' ee-select2'; |
|
92 | - return $standard_attributes; |
|
93 | - } |
|
84 | + /** |
|
85 | + * Overrides standard attributes array to add the CSS class "ee-select2" |
|
86 | + * @return array |
|
87 | + */ |
|
88 | + protected function _standard_attributes_array() |
|
89 | + { |
|
90 | + $standard_attributes = parent::_standard_attributes_array(); |
|
91 | + $standard_attributes['class'] .= ' ee-select2'; |
|
92 | + return $standard_attributes; |
|
93 | + } |
|
94 | 94 | } |
@@ -42,10 +42,10 @@ discard block |
||
42 | 42 | // is carelessly registering an older version of Select2 on admin pages that don't even belong to them |
43 | 43 | wp_deregister_script('select2'); |
44 | 44 | wp_deregister_style('select2'); |
45 | - wp_register_script('select2', EE_GLOBAL_ASSETS_URL . 'scripts/select2.min.js', array(), '4.0.2', true); |
|
46 | - wp_register_style('select2', EE_GLOBAL_ASSETS_URL . 'css/select2.min.css', array(), '4.0.2', 'all'); |
|
47 | - wp_enqueue_script('form_section_select2_init', EE_GLOBAL_ASSETS_URL . 'scripts/form_section_select2_init.js', array( 'select2' ), '1.0.0', true); |
|
48 | - wp_enqueue_style('select2', EE_GLOBAL_ASSETS_URL . 'css/select2.min.css', array(), '4.0.2', 'all'); |
|
45 | + wp_register_script('select2', EE_GLOBAL_ASSETS_URL.'scripts/select2.min.js', array(), '4.0.2', true); |
|
46 | + wp_register_style('select2', EE_GLOBAL_ASSETS_URL.'css/select2.min.css', array(), '4.0.2', 'all'); |
|
47 | + wp_enqueue_script('form_section_select2_init', EE_GLOBAL_ASSETS_URL.'scripts/form_section_select2_init.js', array('select2'), '1.0.0', true); |
|
48 | + wp_enqueue_style('select2', EE_GLOBAL_ASSETS_URL.'css/select2.min.css', array(), '4.0.2', 'all'); |
|
49 | 49 | } |
50 | 50 | |
51 | 51 | /** |
@@ -74,10 +74,10 @@ discard block |
||
74 | 74 | public function get_other_js_data($other_js_data = array()) |
75 | 75 | { |
76 | 76 | $other_js_data = parent::get_other_js_data($other_js_data); |
77 | - if (! isset($other_js_data['select2s'])) { |
|
77 | + if ( ! isset($other_js_data['select2s'])) { |
|
78 | 78 | $other_js_data['select2s'] = array(); |
79 | 79 | } |
80 | - $other_js_data['select2s'][ $this->_input->html_id() ] = $this->get_js_args(); |
|
80 | + $other_js_data['select2s'][$this->_input->html_id()] = $this->get_js_args(); |
|
81 | 81 | return $other_js_data; |
82 | 82 | } |
83 | 83 |
@@ -25,215 +25,215 @@ |
||
25 | 25 | */ |
26 | 26 | class BatchRequestProcessor |
27 | 27 | { |
28 | - // phpcs:disable PSR2.Classes.PropertyDeclaration.Underscore |
|
29 | - // phpcs:disable PSR2.Methods.MethodDeclaration.Underscore |
|
30 | - /** |
|
31 | - * Current job's ID (if assigned) |
|
32 | - * |
|
33 | - * @var string|null |
|
34 | - */ |
|
35 | - protected $_job_id; |
|
28 | + // phpcs:disable PSR2.Classes.PropertyDeclaration.Underscore |
|
29 | + // phpcs:disable PSR2.Methods.MethodDeclaration.Underscore |
|
30 | + /** |
|
31 | + * Current job's ID (if assigned) |
|
32 | + * |
|
33 | + * @var string|null |
|
34 | + */ |
|
35 | + protected $_job_id; |
|
36 | 36 | |
37 | - /** |
|
38 | - * Current job's parameters |
|
39 | - * |
|
40 | - * @var JobParameters|null |
|
41 | - */ |
|
42 | - protected $_job_parameters; |
|
43 | - /** |
|
44 | - * @var LoaderInterface |
|
45 | - */ |
|
46 | - private $loader; |
|
37 | + /** |
|
38 | + * Current job's parameters |
|
39 | + * |
|
40 | + * @var JobParameters|null |
|
41 | + */ |
|
42 | + protected $_job_parameters; |
|
43 | + /** |
|
44 | + * @var LoaderInterface |
|
45 | + */ |
|
46 | + private $loader; |
|
47 | 47 | |
48 | - /** |
|
49 | - * BatchRequestProcessor constructor. |
|
50 | - * @param LoaderInterface $loader |
|
51 | - */ |
|
52 | - public function __construct(LoaderInterface $loader) |
|
53 | - { |
|
54 | - $this->loader = $loader; |
|
55 | - } |
|
56 | - // phpcs:disable PSR1.Methods.CamelCapsMethodName.NotCamelCaps |
|
57 | - /** |
|
58 | - * Creates a job for the specified batch handler class (which should be autoloaded) |
|
59 | - * and the specified request data |
|
60 | - * |
|
61 | - * @param string $batch_job_handler_class of an auto-loaded class implementing JobHandlerInterface |
|
62 | - * @param array $request_data to be used by the batch job handler |
|
63 | - * @return JobStepResponse |
|
64 | - */ |
|
65 | - public function create_job($batch_job_handler_class, $request_data) |
|
66 | - { |
|
67 | - try { |
|
68 | - $this->_job_id = wp_generate_password(15, false); |
|
69 | - $obj = $this->instantiate_batch_job_handler_from_classname($batch_job_handler_class); |
|
70 | - $this->_job_parameters = new JobParameters($this->_job_id, $batch_job_handler_class, $request_data); |
|
71 | - $response = $obj->create_job($this->_job_parameters); |
|
72 | - if (! $response instanceof JobStepResponse) { |
|
73 | - throw new BatchRequestException( |
|
74 | - sprintf( |
|
75 | - __( |
|
76 | - 'The class implementing JobHandlerInterface did not return a JobStepResponse when create_job was called with %1$s. It needs to return one or throw an Exception', |
|
77 | - 'event_espresso' |
|
78 | - ), |
|
79 | - wp_json_encode($request_data) |
|
80 | - ) |
|
81 | - ); |
|
82 | - } |
|
83 | - $success = $this->_job_parameters->save(true); |
|
84 | - if (! $success) { |
|
85 | - throw new BatchRequestException( |
|
86 | - sprintf( |
|
87 | - __( |
|
88 | - 'Could not save job %1$s to the Wordpress Options table. These were the arguments used: %2$s', |
|
89 | - 'event_espresso' |
|
90 | - ), |
|
91 | - $this->_job_id, |
|
92 | - wp_json_encode($request_data) |
|
93 | - ) |
|
94 | - ); |
|
95 | - } |
|
96 | - } catch (\Exception $e) { |
|
97 | - $response = $this->_get_error_response($e, 'create_job'); |
|
98 | - } |
|
99 | - return $response; |
|
100 | - } |
|
48 | + /** |
|
49 | + * BatchRequestProcessor constructor. |
|
50 | + * @param LoaderInterface $loader |
|
51 | + */ |
|
52 | + public function __construct(LoaderInterface $loader) |
|
53 | + { |
|
54 | + $this->loader = $loader; |
|
55 | + } |
|
56 | + // phpcs:disable PSR1.Methods.CamelCapsMethodName.NotCamelCaps |
|
57 | + /** |
|
58 | + * Creates a job for the specified batch handler class (which should be autoloaded) |
|
59 | + * and the specified request data |
|
60 | + * |
|
61 | + * @param string $batch_job_handler_class of an auto-loaded class implementing JobHandlerInterface |
|
62 | + * @param array $request_data to be used by the batch job handler |
|
63 | + * @return JobStepResponse |
|
64 | + */ |
|
65 | + public function create_job($batch_job_handler_class, $request_data) |
|
66 | + { |
|
67 | + try { |
|
68 | + $this->_job_id = wp_generate_password(15, false); |
|
69 | + $obj = $this->instantiate_batch_job_handler_from_classname($batch_job_handler_class); |
|
70 | + $this->_job_parameters = new JobParameters($this->_job_id, $batch_job_handler_class, $request_data); |
|
71 | + $response = $obj->create_job($this->_job_parameters); |
|
72 | + if (! $response instanceof JobStepResponse) { |
|
73 | + throw new BatchRequestException( |
|
74 | + sprintf( |
|
75 | + __( |
|
76 | + 'The class implementing JobHandlerInterface did not return a JobStepResponse when create_job was called with %1$s. It needs to return one or throw an Exception', |
|
77 | + 'event_espresso' |
|
78 | + ), |
|
79 | + wp_json_encode($request_data) |
|
80 | + ) |
|
81 | + ); |
|
82 | + } |
|
83 | + $success = $this->_job_parameters->save(true); |
|
84 | + if (! $success) { |
|
85 | + throw new BatchRequestException( |
|
86 | + sprintf( |
|
87 | + __( |
|
88 | + 'Could not save job %1$s to the Wordpress Options table. These were the arguments used: %2$s', |
|
89 | + 'event_espresso' |
|
90 | + ), |
|
91 | + $this->_job_id, |
|
92 | + wp_json_encode($request_data) |
|
93 | + ) |
|
94 | + ); |
|
95 | + } |
|
96 | + } catch (\Exception $e) { |
|
97 | + $response = $this->_get_error_response($e, 'create_job'); |
|
98 | + } |
|
99 | + return $response; |
|
100 | + } |
|
101 | 101 | |
102 | 102 | |
103 | - /** |
|
104 | - * Retrieves the job's arguments |
|
105 | - * |
|
106 | - * @param string $job_id |
|
107 | - * @param int $batch_size |
|
108 | - * @return JobStepResponse |
|
109 | - */ |
|
110 | - public function continue_job($job_id, $batch_size = 50) |
|
111 | - { |
|
112 | - try { |
|
113 | - $this->_job_id = $job_id; |
|
114 | - $batch_size = defined('EE_BATCHRUNNER_BATCH_SIZE') ? EE_BATCHRUNNER_BATCH_SIZE : $batch_size; |
|
115 | - // get the corresponding WordPress option for the job |
|
116 | - $this->_job_parameters = JobParameters::load($this->_job_id); |
|
117 | - $handler_obj = $this->instantiate_batch_job_handler_from_classname($this->_job_parameters->classname()); |
|
118 | - // continue it |
|
119 | - $response = $handler_obj->continue_job($this->_job_parameters, $batch_size); |
|
120 | - if (! $response instanceof JobStepResponse) { |
|
121 | - throw new BatchRequestException( |
|
122 | - sprintf( |
|
123 | - __( |
|
124 | - 'The class implementing JobHandlerInterface did not return a JobStepResponse when continue_job was called with job %1$s. It needs to return one or throw an Exception', |
|
125 | - 'event_espresso' |
|
126 | - ), |
|
127 | - $this->_job_id |
|
128 | - ) |
|
129 | - ); |
|
130 | - } |
|
131 | - $this->_job_parameters->save(); |
|
132 | - } catch (\Exception $e) { |
|
133 | - $response = $this->_get_error_response($e, 'continue_job'); |
|
134 | - } |
|
135 | - return $response; |
|
136 | - } |
|
103 | + /** |
|
104 | + * Retrieves the job's arguments |
|
105 | + * |
|
106 | + * @param string $job_id |
|
107 | + * @param int $batch_size |
|
108 | + * @return JobStepResponse |
|
109 | + */ |
|
110 | + public function continue_job($job_id, $batch_size = 50) |
|
111 | + { |
|
112 | + try { |
|
113 | + $this->_job_id = $job_id; |
|
114 | + $batch_size = defined('EE_BATCHRUNNER_BATCH_SIZE') ? EE_BATCHRUNNER_BATCH_SIZE : $batch_size; |
|
115 | + // get the corresponding WordPress option for the job |
|
116 | + $this->_job_parameters = JobParameters::load($this->_job_id); |
|
117 | + $handler_obj = $this->instantiate_batch_job_handler_from_classname($this->_job_parameters->classname()); |
|
118 | + // continue it |
|
119 | + $response = $handler_obj->continue_job($this->_job_parameters, $batch_size); |
|
120 | + if (! $response instanceof JobStepResponse) { |
|
121 | + throw new BatchRequestException( |
|
122 | + sprintf( |
|
123 | + __( |
|
124 | + 'The class implementing JobHandlerInterface did not return a JobStepResponse when continue_job was called with job %1$s. It needs to return one or throw an Exception', |
|
125 | + 'event_espresso' |
|
126 | + ), |
|
127 | + $this->_job_id |
|
128 | + ) |
|
129 | + ); |
|
130 | + } |
|
131 | + $this->_job_parameters->save(); |
|
132 | + } catch (\Exception $e) { |
|
133 | + $response = $this->_get_error_response($e, 'continue_job'); |
|
134 | + } |
|
135 | + return $response; |
|
136 | + } |
|
137 | 137 | |
138 | 138 | |
139 | - /** |
|
140 | - * Instantiates an object of type $classname, which implements |
|
141 | - * JobHandlerInterface |
|
142 | - * |
|
143 | - * @param string $classname |
|
144 | - * @return JobHandlerInterface |
|
145 | - * @throws BatchRequestException |
|
146 | - */ |
|
147 | - public function instantiate_batch_job_handler_from_classname($classname) |
|
148 | - { |
|
149 | - if (! class_exists($classname)) { |
|
150 | - throw new BatchRequestException( |
|
151 | - sprintf( |
|
152 | - __( |
|
153 | - 'The class %1$s does not exist, and so could not be used for running a job. It should implement JobHandlerInterface.', |
|
154 | - 'event_espresso' |
|
155 | - ), |
|
156 | - $classname |
|
157 | - ) |
|
158 | - ); |
|
159 | - } |
|
160 | - $obj = $this->loader->getNew($classname); |
|
161 | - if (! $obj instanceof JobHandlerInterface) { |
|
162 | - throw new BatchRequestException( |
|
163 | - sprintf( |
|
164 | - __( |
|
165 | - 'The class %1$s does not implement JobHandlerInterface and so could not be used for running a job', |
|
166 | - 'event_espresso' |
|
167 | - ), |
|
168 | - $classname |
|
169 | - ) |
|
170 | - ); |
|
171 | - } |
|
172 | - return $obj; |
|
173 | - } |
|
139 | + /** |
|
140 | + * Instantiates an object of type $classname, which implements |
|
141 | + * JobHandlerInterface |
|
142 | + * |
|
143 | + * @param string $classname |
|
144 | + * @return JobHandlerInterface |
|
145 | + * @throws BatchRequestException |
|
146 | + */ |
|
147 | + public function instantiate_batch_job_handler_from_classname($classname) |
|
148 | + { |
|
149 | + if (! class_exists($classname)) { |
|
150 | + throw new BatchRequestException( |
|
151 | + sprintf( |
|
152 | + __( |
|
153 | + 'The class %1$s does not exist, and so could not be used for running a job. It should implement JobHandlerInterface.', |
|
154 | + 'event_espresso' |
|
155 | + ), |
|
156 | + $classname |
|
157 | + ) |
|
158 | + ); |
|
159 | + } |
|
160 | + $obj = $this->loader->getNew($classname); |
|
161 | + if (! $obj instanceof JobHandlerInterface) { |
|
162 | + throw new BatchRequestException( |
|
163 | + sprintf( |
|
164 | + __( |
|
165 | + 'The class %1$s does not implement JobHandlerInterface and so could not be used for running a job', |
|
166 | + 'event_espresso' |
|
167 | + ), |
|
168 | + $classname |
|
169 | + ) |
|
170 | + ); |
|
171 | + } |
|
172 | + return $obj; |
|
173 | + } |
|
174 | 174 | |
175 | 175 | |
176 | - /** |
|
177 | - * Forces a job to be cleaned up |
|
178 | - * |
|
179 | - * @param string $job_id |
|
180 | - * @return JobStepResponse |
|
181 | - * @throws BatchRequestException |
|
182 | - */ |
|
183 | - public function cleanup_job($job_id) |
|
184 | - { |
|
185 | - try { |
|
186 | - $this->_job_id = $job_id; |
|
187 | - $job_parameters = JobParameters::load($this->_job_id); |
|
188 | - $handler_obj = $this->instantiate_batch_job_handler_from_classname($job_parameters->classname()); |
|
189 | - // continue it |
|
190 | - $response = $handler_obj->cleanup_job($job_parameters); |
|
191 | - if (! $response instanceof JobStepResponse) { |
|
192 | - throw new BatchRequestException( |
|
193 | - sprintf( |
|
194 | - __( |
|
195 | - 'The class implementing JobHandlerInterface did not return a JobStepResponse when cleanup_job was called with job %1$s. It needs to return one or throw an Exception', |
|
196 | - 'event_espresso' |
|
197 | - ), |
|
198 | - $this->_job_id |
|
199 | - ) |
|
200 | - ); |
|
201 | - } |
|
202 | - $job_parameters->set_status(JobParameters::status_cleaned_up); |
|
203 | - $job_parameters->delete(); |
|
204 | - return $response; |
|
205 | - } catch (\Exception $e) { |
|
206 | - $response = $this->_get_error_response($e, 'cleanup_job'); |
|
207 | - } |
|
208 | - return $response; |
|
209 | - } |
|
176 | + /** |
|
177 | + * Forces a job to be cleaned up |
|
178 | + * |
|
179 | + * @param string $job_id |
|
180 | + * @return JobStepResponse |
|
181 | + * @throws BatchRequestException |
|
182 | + */ |
|
183 | + public function cleanup_job($job_id) |
|
184 | + { |
|
185 | + try { |
|
186 | + $this->_job_id = $job_id; |
|
187 | + $job_parameters = JobParameters::load($this->_job_id); |
|
188 | + $handler_obj = $this->instantiate_batch_job_handler_from_classname($job_parameters->classname()); |
|
189 | + // continue it |
|
190 | + $response = $handler_obj->cleanup_job($job_parameters); |
|
191 | + if (! $response instanceof JobStepResponse) { |
|
192 | + throw new BatchRequestException( |
|
193 | + sprintf( |
|
194 | + __( |
|
195 | + 'The class implementing JobHandlerInterface did not return a JobStepResponse when cleanup_job was called with job %1$s. It needs to return one or throw an Exception', |
|
196 | + 'event_espresso' |
|
197 | + ), |
|
198 | + $this->_job_id |
|
199 | + ) |
|
200 | + ); |
|
201 | + } |
|
202 | + $job_parameters->set_status(JobParameters::status_cleaned_up); |
|
203 | + $job_parameters->delete(); |
|
204 | + return $response; |
|
205 | + } catch (\Exception $e) { |
|
206 | + $response = $this->_get_error_response($e, 'cleanup_job'); |
|
207 | + } |
|
208 | + return $response; |
|
209 | + } |
|
210 | 210 | |
211 | 211 | |
212 | - /** |
|
213 | - * Creates a valid JobStepResponse object from an exception and method name. |
|
214 | - * |
|
215 | - * @param \Exception $exception |
|
216 | - * @param string $method_name |
|
217 | - * @return JobStepResponse |
|
218 | - */ |
|
219 | - protected function _get_error_response(\Exception $exception, $method_name) |
|
220 | - { |
|
221 | - if (! $this->_job_parameters instanceof JobParameters) { |
|
222 | - $this->_job_parameters = new JobParameters($this->_job_id, __('__Unknown__', 'event_espresso'), array()); |
|
223 | - } |
|
224 | - $this->_job_parameters->set_status(JobParameters::status_error); |
|
225 | - return new JobStepResponse( |
|
226 | - $this->_job_parameters, |
|
227 | - sprintf( |
|
228 | - __( |
|
229 | - 'An exception of type %1$s occurred while running %2$s. Its message was %3$s and had trace %4$s', |
|
230 | - 'event_espresso' |
|
231 | - ), |
|
232 | - get_class($exception), |
|
233 | - 'BatchRunner::' . $method_name . '()', |
|
234 | - $exception->getMessage(), |
|
235 | - $exception->getTraceAsString() |
|
236 | - ) |
|
237 | - ); |
|
238 | - } |
|
212 | + /** |
|
213 | + * Creates a valid JobStepResponse object from an exception and method name. |
|
214 | + * |
|
215 | + * @param \Exception $exception |
|
216 | + * @param string $method_name |
|
217 | + * @return JobStepResponse |
|
218 | + */ |
|
219 | + protected function _get_error_response(\Exception $exception, $method_name) |
|
220 | + { |
|
221 | + if (! $this->_job_parameters instanceof JobParameters) { |
|
222 | + $this->_job_parameters = new JobParameters($this->_job_id, __('__Unknown__', 'event_espresso'), array()); |
|
223 | + } |
|
224 | + $this->_job_parameters->set_status(JobParameters::status_error); |
|
225 | + return new JobStepResponse( |
|
226 | + $this->_job_parameters, |
|
227 | + sprintf( |
|
228 | + __( |
|
229 | + 'An exception of type %1$s occurred while running %2$s. Its message was %3$s and had trace %4$s', |
|
230 | + 'event_espresso' |
|
231 | + ), |
|
232 | + get_class($exception), |
|
233 | + 'BatchRunner::' . $method_name . '()', |
|
234 | + $exception->getMessage(), |
|
235 | + $exception->getTraceAsString() |
|
236 | + ) |
|
237 | + ); |
|
238 | + } |
|
239 | 239 | } |
@@ -69,7 +69,7 @@ discard block |
||
69 | 69 | $obj = $this->instantiate_batch_job_handler_from_classname($batch_job_handler_class); |
70 | 70 | $this->_job_parameters = new JobParameters($this->_job_id, $batch_job_handler_class, $request_data); |
71 | 71 | $response = $obj->create_job($this->_job_parameters); |
72 | - if (! $response instanceof JobStepResponse) { |
|
72 | + if ( ! $response instanceof JobStepResponse) { |
|
73 | 73 | throw new BatchRequestException( |
74 | 74 | sprintf( |
75 | 75 | __( |
@@ -81,7 +81,7 @@ discard block |
||
81 | 81 | ); |
82 | 82 | } |
83 | 83 | $success = $this->_job_parameters->save(true); |
84 | - if (! $success) { |
|
84 | + if ( ! $success) { |
|
85 | 85 | throw new BatchRequestException( |
86 | 86 | sprintf( |
87 | 87 | __( |
@@ -117,7 +117,7 @@ discard block |
||
117 | 117 | $handler_obj = $this->instantiate_batch_job_handler_from_classname($this->_job_parameters->classname()); |
118 | 118 | // continue it |
119 | 119 | $response = $handler_obj->continue_job($this->_job_parameters, $batch_size); |
120 | - if (! $response instanceof JobStepResponse) { |
|
120 | + if ( ! $response instanceof JobStepResponse) { |
|
121 | 121 | throw new BatchRequestException( |
122 | 122 | sprintf( |
123 | 123 | __( |
@@ -146,7 +146,7 @@ discard block |
||
146 | 146 | */ |
147 | 147 | public function instantiate_batch_job_handler_from_classname($classname) |
148 | 148 | { |
149 | - if (! class_exists($classname)) { |
|
149 | + if ( ! class_exists($classname)) { |
|
150 | 150 | throw new BatchRequestException( |
151 | 151 | sprintf( |
152 | 152 | __( |
@@ -158,7 +158,7 @@ discard block |
||
158 | 158 | ); |
159 | 159 | } |
160 | 160 | $obj = $this->loader->getNew($classname); |
161 | - if (! $obj instanceof JobHandlerInterface) { |
|
161 | + if ( ! $obj instanceof JobHandlerInterface) { |
|
162 | 162 | throw new BatchRequestException( |
163 | 163 | sprintf( |
164 | 164 | __( |
@@ -188,7 +188,7 @@ discard block |
||
188 | 188 | $handler_obj = $this->instantiate_batch_job_handler_from_classname($job_parameters->classname()); |
189 | 189 | // continue it |
190 | 190 | $response = $handler_obj->cleanup_job($job_parameters); |
191 | - if (! $response instanceof JobStepResponse) { |
|
191 | + if ( ! $response instanceof JobStepResponse) { |
|
192 | 192 | throw new BatchRequestException( |
193 | 193 | sprintf( |
194 | 194 | __( |
@@ -218,7 +218,7 @@ discard block |
||
218 | 218 | */ |
219 | 219 | protected function _get_error_response(\Exception $exception, $method_name) |
220 | 220 | { |
221 | - if (! $this->_job_parameters instanceof JobParameters) { |
|
221 | + if ( ! $this->_job_parameters instanceof JobParameters) { |
|
222 | 222 | $this->_job_parameters = new JobParameters($this->_job_id, __('__Unknown__', 'event_espresso'), array()); |
223 | 223 | } |
224 | 224 | $this->_job_parameters->set_status(JobParameters::status_error); |
@@ -230,7 +230,7 @@ discard block |
||
230 | 230 | 'event_espresso' |
231 | 231 | ), |
232 | 232 | get_class($exception), |
233 | - 'BatchRunner::' . $method_name . '()', |
|
233 | + 'BatchRunner::'.$method_name.'()', |
|
234 | 234 | $exception->getMessage(), |
235 | 235 | $exception->getTraceAsString() |
236 | 236 | ) |
@@ -10,11 +10,11 @@ |
||
10 | 10 | */ |
11 | 11 | class EE_File_Input_Display_Strategy extends EE_Text_Input_Display_Strategy |
12 | 12 | { |
13 | - /** |
|
14 | - * Override's parent to just set the type. May someday support other arguments. |
|
15 | - */ |
|
16 | - public function __construct() |
|
17 | - { |
|
18 | - parent::__construct('file'); |
|
19 | - } |
|
13 | + /** |
|
14 | + * Override's parent to just set the type. May someday support other arguments. |
|
15 | + */ |
|
16 | + public function __construct() |
|
17 | + { |
|
18 | + parent::__construct('file'); |
|
19 | + } |
|
20 | 20 | } |
@@ -55,7 +55,7 @@ |
||
55 | 55 | esc_html__('Please provide a file of the requested filetype: %1$s', 'event_espresso'), |
56 | 56 | implode(', ', $this->allowed_file_extensions) |
57 | 57 | ), |
58 | - '~.*\.(' . implode('|', $this->allowed_file_extensions) . ')$~' |
|
58 | + '~.*\.('.implode('|', $this->allowed_file_extensions).')$~' |
|
59 | 59 | ) |
60 | 60 | ); |
61 | 61 | parent::__construct($options); |
@@ -19,86 +19,86 @@ |
||
19 | 19 | */ |
20 | 20 | class EE_File_Input extends EE_Form_Input_Base |
21 | 21 | { |
22 | - /** |
|
23 | - * @var array |
|
24 | - */ |
|
25 | - protected $allowed_file_extensions; |
|
22 | + /** |
|
23 | + * @var array |
|
24 | + */ |
|
25 | + protected $allowed_file_extensions; |
|
26 | 26 | |
27 | - /** |
|
28 | - * @var array |
|
29 | - */ |
|
30 | - protected $allowed_mime_types; |
|
27 | + /** |
|
28 | + * @var array |
|
29 | + */ |
|
30 | + protected $allowed_mime_types; |
|
31 | 31 | |
32 | - /** |
|
33 | - * @param array $options |
|
34 | - * @throws InvalidArgumentException |
|
35 | - */ |
|
36 | - public function __construct($options = array()) |
|
37 | - { |
|
38 | - if (isset($options['allowed_file_extensions'])) { |
|
39 | - $this->allowed_file_extensions = (array) $options['allowed_file_extensions']; |
|
40 | - } else { |
|
41 | - $this->allowed_file_extensions = ['csv']; |
|
42 | - } |
|
43 | - if (isset($options['allowed_mime_types'])) { |
|
44 | - $this->allowed_mime_types = (array) $options['allowed_file_extensions']; |
|
45 | - } else { |
|
46 | - $this->allowed_mime_types = ['text/csv']; |
|
47 | - } |
|
32 | + /** |
|
33 | + * @param array $options |
|
34 | + * @throws InvalidArgumentException |
|
35 | + */ |
|
36 | + public function __construct($options = array()) |
|
37 | + { |
|
38 | + if (isset($options['allowed_file_extensions'])) { |
|
39 | + $this->allowed_file_extensions = (array) $options['allowed_file_extensions']; |
|
40 | + } else { |
|
41 | + $this->allowed_file_extensions = ['csv']; |
|
42 | + } |
|
43 | + if (isset($options['allowed_mime_types'])) { |
|
44 | + $this->allowed_mime_types = (array) $options['allowed_file_extensions']; |
|
45 | + } else { |
|
46 | + $this->allowed_mime_types = ['text/csv']; |
|
47 | + } |
|
48 | 48 | |
49 | - $this->_set_display_strategy(new EE_File_Input_Display_Strategy()); |
|
50 | - $this->_set_normalization_strategy(new EE_File_Normalization()); |
|
51 | - $this->add_validation_strategy( |
|
52 | - new EE_Text_Validation_Strategy( |
|
53 | - sprintf( |
|
54 | - // translators: %1$s is a list of allowed file extensions. |
|
55 | - esc_html__('Please provide a file of the requested filetype: %1$s', 'event_espresso'), |
|
56 | - implode(', ', $this->allowed_file_extensions) |
|
57 | - ), |
|
58 | - '~.*\.(' . implode('|', $this->allowed_file_extensions) . ')$~' |
|
59 | - ) |
|
60 | - ); |
|
61 | - parent::__construct($options); |
|
49 | + $this->_set_display_strategy(new EE_File_Input_Display_Strategy()); |
|
50 | + $this->_set_normalization_strategy(new EE_File_Normalization()); |
|
51 | + $this->add_validation_strategy( |
|
52 | + new EE_Text_Validation_Strategy( |
|
53 | + sprintf( |
|
54 | + // translators: %1$s is a list of allowed file extensions. |
|
55 | + esc_html__('Please provide a file of the requested filetype: %1$s', 'event_espresso'), |
|
56 | + implode(', ', $this->allowed_file_extensions) |
|
57 | + ), |
|
58 | + '~.*\.(' . implode('|', $this->allowed_file_extensions) . ')$~' |
|
59 | + ) |
|
60 | + ); |
|
61 | + parent::__construct($options); |
|
62 | 62 | |
63 | 63 | // It would be great to add this HTML attribute, but jQuery validate chokes on it. |
64 | - $this->set_other_html_attributes( |
|
65 | - $this->other_html_attributes() |
|
66 | - . ' extension="' |
|
67 | - . implode( |
|
68 | - ',', |
|
69 | - $this->allowed_file_extensions |
|
70 | - ) |
|
71 | - . '"' |
|
72 | - ); |
|
73 | - } |
|
64 | + $this->set_other_html_attributes( |
|
65 | + $this->other_html_attributes() |
|
66 | + . ' extension="' |
|
67 | + . implode( |
|
68 | + ',', |
|
69 | + $this->allowed_file_extensions |
|
70 | + ) |
|
71 | + . '"' |
|
72 | + ); |
|
73 | + } |
|
74 | 74 | |
75 | - /** |
|
76 | - * $_FILES has a really weird structure. So we let `FilesDataHandler` take care of finding the file info for |
|
77 | - * this input. |
|
78 | - * @since 4.9.80.p |
|
79 | - * @param array $req_data |
|
80 | - * @return FileSubmissionInterface |
|
81 | - * @throws InvalidArgumentException |
|
82 | - * @throws InvalidDataTypeException |
|
83 | - * @throws InvalidInterfaceException |
|
84 | - */ |
|
85 | - public function find_form_data_for_this_section($req_data) |
|
86 | - { |
|
87 | - // ignore $req_data. Files are in the files data handler. |
|
88 | - $fileDataHandler = LoaderFactory::getLoader()->getShared( |
|
89 | - 'EventEspresso\core\services\request\files\FilesDataHandler' |
|
90 | - ); |
|
91 | - return $fileDataHandler->getFileObject($this->html_name()); |
|
92 | - } |
|
75 | + /** |
|
76 | + * $_FILES has a really weird structure. So we let `FilesDataHandler` take care of finding the file info for |
|
77 | + * this input. |
|
78 | + * @since 4.9.80.p |
|
79 | + * @param array $req_data |
|
80 | + * @return FileSubmissionInterface |
|
81 | + * @throws InvalidArgumentException |
|
82 | + * @throws InvalidDataTypeException |
|
83 | + * @throws InvalidInterfaceException |
|
84 | + */ |
|
85 | + public function find_form_data_for_this_section($req_data) |
|
86 | + { |
|
87 | + // ignore $req_data. Files are in the files data handler. |
|
88 | + $fileDataHandler = LoaderFactory::getLoader()->getShared( |
|
89 | + 'EventEspresso\core\services\request\files\FilesDataHandler' |
|
90 | + ); |
|
91 | + return $fileDataHandler->getFileObject($this->html_name()); |
|
92 | + } |
|
93 | 93 | |
94 | - /** |
|
95 | - * Don't transform the file submission object into a string, thanks. |
|
96 | - * |
|
97 | - * @param string $value |
|
98 | - * @return null|string |
|
99 | - */ |
|
100 | - protected function _sanitize($value) |
|
101 | - { |
|
102 | - return $value; |
|
103 | - } |
|
94 | + /** |
|
95 | + * Don't transform the file submission object into a string, thanks. |
|
96 | + * |
|
97 | + * @param string $value |
|
98 | + * @return null|string |
|
99 | + */ |
|
100 | + protected function _sanitize($value) |
|
101 | + { |
|
102 | + return $value; |
|
103 | + } |
|
104 | 104 | } |
@@ -13,40 +13,40 @@ |
||
13 | 13 | class EE_File_Normalization extends EE_Normalization_Strategy_Base |
14 | 14 | { |
15 | 15 | |
16 | - /** |
|
17 | - * Keep in mind $value_to_normalize should be a FileSubmissionInterface or null, so this shouldn't really do |
|
18 | - * much (other than NOT convert it to a string or something). |
|
19 | - * @param string $value_to_normalize |
|
20 | - * @return FileSubmissionInterface |
|
21 | - */ |
|
22 | - public function normalize($value_to_normalize) |
|
23 | - { |
|
24 | - if ($value_to_normalize instanceof FileSubmissionInterface || is_null($value_to_normalize)) { |
|
25 | - return $value_to_normalize; |
|
26 | - } else { |
|
27 | - throw new EE_Validation_Error( |
|
28 | - esc_html__('The file input has an invalid format.', 'event_espresso') |
|
29 | - ); |
|
30 | - } |
|
31 | - } |
|
16 | + /** |
|
17 | + * Keep in mind $value_to_normalize should be a FileSubmissionInterface or null, so this shouldn't really do |
|
18 | + * much (other than NOT convert it to a string or something). |
|
19 | + * @param string $value_to_normalize |
|
20 | + * @return FileSubmissionInterface |
|
21 | + */ |
|
22 | + public function normalize($value_to_normalize) |
|
23 | + { |
|
24 | + if ($value_to_normalize instanceof FileSubmissionInterface || is_null($value_to_normalize)) { |
|
25 | + return $value_to_normalize; |
|
26 | + } else { |
|
27 | + throw new EE_Validation_Error( |
|
28 | + esc_html__('The file input has an invalid format.', 'event_espresso') |
|
29 | + ); |
|
30 | + } |
|
31 | + } |
|
32 | 32 | |
33 | 33 | |
34 | - /** |
|
35 | - * This may be called prematurely on submitted data, so we actually don't want to convert it into a string because |
|
36 | - * we'll lose all the FileSubmissionInterface data. So prefer to leave it alone. FileSubmissionInterface |
|
37 | - * can be cast to a string just fine so it's good as-is. |
|
38 | - * |
|
39 | - * @param string $normalized_value |
|
40 | - * @return string |
|
41 | - */ |
|
42 | - public function unnormalize($normalized_value) |
|
43 | - { |
|
44 | - if ($normalized_value instanceof FileSubmissionInterface || is_null($normalized_value)) { |
|
45 | - // Leave it as the object, it can be treated like a string because it |
|
46 | - // overrides __toString() |
|
47 | - return $normalized_value; |
|
48 | - } else { |
|
49 | - return (string) $normalized_value; |
|
50 | - } |
|
51 | - } |
|
34 | + /** |
|
35 | + * This may be called prematurely on submitted data, so we actually don't want to convert it into a string because |
|
36 | + * we'll lose all the FileSubmissionInterface data. So prefer to leave it alone. FileSubmissionInterface |
|
37 | + * can be cast to a string just fine so it's good as-is. |
|
38 | + * |
|
39 | + * @param string $normalized_value |
|
40 | + * @return string |
|
41 | + */ |
|
42 | + public function unnormalize($normalized_value) |
|
43 | + { |
|
44 | + if ($normalized_value instanceof FileSubmissionInterface || is_null($normalized_value)) { |
|
45 | + // Leave it as the object, it can be treated like a string because it |
|
46 | + // overrides __toString() |
|
47 | + return $normalized_value; |
|
48 | + } else { |
|
49 | + return (string) $normalized_value; |
|
50 | + } |
|
51 | + } |
|
52 | 52 | } |
@@ -16,89 +16,89 @@ |
||
16 | 16 | abstract class EE_Data_Migration_Script_Stage_Table extends EE_Data_Migration_Script_Stage |
17 | 17 | { |
18 | 18 | |
19 | - protected $_old_table; |
|
19 | + protected $_old_table; |
|
20 | 20 | |
21 | - /** |
|
22 | - * @var string The columns to select. May be overridden for children. |
|
23 | - */ |
|
24 | - protected $select_expression = '*'; |
|
21 | + /** |
|
22 | + * @var string The columns to select. May be overridden for children. |
|
23 | + */ |
|
24 | + protected $select_expression = '*'; |
|
25 | 25 | |
26 | - /** |
|
27 | - * Set in the constructor to add this sql to both the counting query in |
|
28 | - * EE_Data_Migration_Script_Stage_Table::_count_records_to_migrate() and |
|
29 | - * EE_Data_Migration_Script_Stage_Table::_get_rows(). |
|
30 | - * Eg "where column_name like '%some_value%'" |
|
31 | - * |
|
32 | - * @var string |
|
33 | - */ |
|
34 | - protected $_extra_where_sql; |
|
26 | + /** |
|
27 | + * Set in the constructor to add this sql to both the counting query in |
|
28 | + * EE_Data_Migration_Script_Stage_Table::_count_records_to_migrate() and |
|
29 | + * EE_Data_Migration_Script_Stage_Table::_get_rows(). |
|
30 | + * Eg "where column_name like '%some_value%'" |
|
31 | + * |
|
32 | + * @var string |
|
33 | + */ |
|
34 | + protected $_extra_where_sql; |
|
35 | 35 | |
36 | 36 | |
37 | - /** |
|
38 | - * IMPORTANT: if an error is encountered, or everything is finished, this stage should update its status property |
|
39 | - * accordingly. Note: it should not alter the count of items migrated. That is done in the public function that |
|
40 | - * calls this. IMPORTANT: The count of items migrated should ONLY be less than $num_items_to_migrate when it's the |
|
41 | - * last migration step, otherwise it should always return $num_items_to_migrate. (Eg, if we're migrating attendees |
|
42 | - * rows from the database, and $num_items_to_migrate is set to 50, then we SHOULD actually migrate 50 rows,but at |
|
43 | - * very least we MUST report/return 50 items migrated) |
|
44 | - * |
|
45 | - * @param int $num_items |
|
46 | - * @return int number of items ACTUALLY migrated |
|
47 | - */ |
|
48 | - public function _migration_step($num_items = 50) |
|
49 | - { |
|
50 | - $rows = $this->_get_rows($num_items); |
|
51 | - $items_actually_migrated = 0; |
|
52 | - foreach ($rows as $old_row) { |
|
53 | - $this->_migrate_old_row($old_row); |
|
54 | - $items_actually_migrated++; |
|
55 | - } |
|
56 | - if ($this->count_records_migrated() + $items_actually_migrated >= $this->count_records_to_migrate()) { |
|
57 | - $this->set_completed(); |
|
58 | - } |
|
59 | - return $items_actually_migrated; |
|
60 | - } |
|
37 | + /** |
|
38 | + * IMPORTANT: if an error is encountered, or everything is finished, this stage should update its status property |
|
39 | + * accordingly. Note: it should not alter the count of items migrated. That is done in the public function that |
|
40 | + * calls this. IMPORTANT: The count of items migrated should ONLY be less than $num_items_to_migrate when it's the |
|
41 | + * last migration step, otherwise it should always return $num_items_to_migrate. (Eg, if we're migrating attendees |
|
42 | + * rows from the database, and $num_items_to_migrate is set to 50, then we SHOULD actually migrate 50 rows,but at |
|
43 | + * very least we MUST report/return 50 items migrated) |
|
44 | + * |
|
45 | + * @param int $num_items |
|
46 | + * @return int number of items ACTUALLY migrated |
|
47 | + */ |
|
48 | + public function _migration_step($num_items = 50) |
|
49 | + { |
|
50 | + $rows = $this->_get_rows($num_items); |
|
51 | + $items_actually_migrated = 0; |
|
52 | + foreach ($rows as $old_row) { |
|
53 | + $this->_migrate_old_row($old_row); |
|
54 | + $items_actually_migrated++; |
|
55 | + } |
|
56 | + if ($this->count_records_migrated() + $items_actually_migrated >= $this->count_records_to_migrate()) { |
|
57 | + $this->set_completed(); |
|
58 | + } |
|
59 | + return $items_actually_migrated; |
|
60 | + } |
|
61 | 61 | |
62 | - /** |
|
63 | - * Gets the rows for each migration stage from the old table |
|
64 | - * |
|
65 | - * @global wpdb $wpdb |
|
66 | - * @param int $limit |
|
67 | - * @return array of arrays like $wpdb->get_results($sql, ARRAY_A) |
|
68 | - */ |
|
69 | - protected function _get_rows($limit) |
|
70 | - { |
|
71 | - global $wpdb; |
|
72 | - $start_at_record = $this->count_records_migrated(); |
|
73 | - $query = "SELECT {$this->select_expression} FROM {$this->_old_table} {$this->_extra_where_sql} " . $wpdb->prepare( |
|
74 | - "LIMIT %d, %d", |
|
75 | - $start_at_record, |
|
76 | - $limit |
|
77 | - ); |
|
78 | - return $wpdb->get_results($query, ARRAY_A); |
|
79 | - } |
|
62 | + /** |
|
63 | + * Gets the rows for each migration stage from the old table |
|
64 | + * |
|
65 | + * @global wpdb $wpdb |
|
66 | + * @param int $limit |
|
67 | + * @return array of arrays like $wpdb->get_results($sql, ARRAY_A) |
|
68 | + */ |
|
69 | + protected function _get_rows($limit) |
|
70 | + { |
|
71 | + global $wpdb; |
|
72 | + $start_at_record = $this->count_records_migrated(); |
|
73 | + $query = "SELECT {$this->select_expression} FROM {$this->_old_table} {$this->_extra_where_sql} " . $wpdb->prepare( |
|
74 | + "LIMIT %d, %d", |
|
75 | + $start_at_record, |
|
76 | + $limit |
|
77 | + ); |
|
78 | + return $wpdb->get_results($query, ARRAY_A); |
|
79 | + } |
|
80 | 80 | |
81 | 81 | |
82 | - /** |
|
83 | - * Counts the records to migrate; the public version may cache it |
|
84 | - * |
|
85 | - * @return int |
|
86 | - */ |
|
87 | - public function _count_records_to_migrate() |
|
88 | - { |
|
89 | - global $wpdb; |
|
90 | - $query = "SELECT COUNT(*) FROM {$this->_old_table} {$this->_extra_where_sql}"; |
|
91 | - $count = $wpdb->get_var($query); |
|
92 | - return $count; |
|
93 | - } |
|
82 | + /** |
|
83 | + * Counts the records to migrate; the public version may cache it |
|
84 | + * |
|
85 | + * @return int |
|
86 | + */ |
|
87 | + public function _count_records_to_migrate() |
|
88 | + { |
|
89 | + global $wpdb; |
|
90 | + $query = "SELECT COUNT(*) FROM {$this->_old_table} {$this->_extra_where_sql}"; |
|
91 | + $count = $wpdb->get_var($query); |
|
92 | + return $count; |
|
93 | + } |
|
94 | 94 | |
95 | - /** |
|
96 | - * takes care of migrating this particular row from the OLD table to whatever its |
|
97 | - * representation is in the new database. If there are errors, use $this->add_error to log them. If there is a |
|
98 | - * fatal error which prevents all future migrations, throw an exception describing it |
|
99 | - * |
|
100 | - * @param array $old_row an associative array where keys are column names and values are their values. |
|
101 | - * @return null |
|
102 | - */ |
|
103 | - abstract protected function _migrate_old_row($old_row); |
|
95 | + /** |
|
96 | + * takes care of migrating this particular row from the OLD table to whatever its |
|
97 | + * representation is in the new database. If there are errors, use $this->add_error to log them. If there is a |
|
98 | + * fatal error which prevents all future migrations, throw an exception describing it |
|
99 | + * |
|
100 | + * @param array $old_row an associative array where keys are column names and values are their values. |
|
101 | + * @return null |
|
102 | + */ |
|
103 | + abstract protected function _migrate_old_row($old_row); |
|
104 | 104 | } |
@@ -70,7 +70,7 @@ |
||
70 | 70 | { |
71 | 71 | global $wpdb; |
72 | 72 | $start_at_record = $this->count_records_migrated(); |
73 | - $query = "SELECT {$this->select_expression} FROM {$this->_old_table} {$this->_extra_where_sql} " . $wpdb->prepare( |
|
73 | + $query = "SELECT {$this->select_expression} FROM {$this->_old_table} {$this->_extra_where_sql} ".$wpdb->prepare( |
|
74 | 74 | "LIMIT %d, %d", |
75 | 75 | $start_at_record, |
76 | 76 | $limit |