Completed
Branch master (24c3eb)
by
unknown
34:49 queued 28:57
created
core/data_migration_scripts/EE_DMS_Core_4_2_0.dms.php 1 patch
Indentation   +167 added lines, -167 removed lines patch added patch discarded remove patch
@@ -10,11 +10,11 @@  discard block
 block discarded – undo
10 10
 $stages            = glob(EE_CORE . 'data_migration_scripts/4_2_0_stages/*');
11 11
 $class_to_filepath = [];
12 12
 if (! empty($stages)) {
13
-    foreach ($stages as $filepath) {
14
-        $matches = [];
15
-        preg_match('~4_2_0_stages/(.*).dmsstage.php~', $filepath, $matches);
16
-        $class_to_filepath[ $matches[1] ] = $filepath;
17
-    }
13
+	foreach ($stages as $filepath) {
14
+		$matches = [];
15
+		preg_match('~4_2_0_stages/(.*).dmsstage.php~', $filepath, $matches);
16
+		$class_to_filepath[ $matches[1] ] = $filepath;
17
+	}
18 18
 }
19 19
 // give addons a chance to autoload their stages too
20 20
 $class_to_filepath = apply_filters('FHEE__EE_DMS_4_2_0__autoloaded_stages', $class_to_filepath);
@@ -32,64 +32,64 @@  discard block
 block discarded – undo
32 32
  */
33 33
 class EE_DMS_Core_4_2_0 extends EE_Data_Migration_Script_Base
34 34
 {
35
-    /**
36
-     * EE_DMS_Core_4_2_0 constructor.
37
-     *
38
-     * @param TableManager|null  $table_manager
39
-     * @param TableAnalysis|null $table_analysis
40
-     */
41
-    public function __construct(TableManager $table_manager = null, TableAnalysis $table_analysis = null)
42
-    {
43
-        $this->_pretty_name      = esc_html__("Data Update to Event Espresso 4.2.0", "event_espresso");
44
-        $this->_priority         = 10;
45
-        $this->_migration_stages = [
46
-            new EE_DMS_4_2_0_question_group_questions(),
47
-            new EE_DMS_4_2_0_datetime_fields(),
48
-        ];
49
-        parent::__construct($table_manager, $table_analysis);
50
-    }
51
-
52
-
53
-    public function can_migrate_from_version($version_array)
54
-    {
55
-        $version_string = $version_array['Core'];
56
-        if (
57
-            version_compare($version_string, '4.2.0.decaf', '<') &&
58
-            version_compare($version_string, '4.1.0.decaf', '>=')
59
-        ) {
60
-            //          echo "$version_string can be migrated fro";
61
-            return true;
62
-        } elseif (! $version_string) {
63
-            //          echo "no version string provided: $version_string";
64
-            // no version string provided... this must be pre 4.1
65
-            // because since 4.1 we're
66
-            return false;// changed mind. dont want people thinking they should migrate yet because they cant
67
-        } else {
68
-            //          echo "$version_string doesnt apply";
69
-            return false;
70
-        }
71
-    }
72
-
73
-
74
-    /**
75
-     * @throws EE_Error
76
-     * @throws ReflectionException
77
-     */
78
-    public function schema_changes_before_migration()
79
-    {
80
-        // relies on 4.1's EEH_Activation::create_table
81
-        require_once(EE_HELPERS . 'EEH_Activation.helper.php');
82
-
83
-        $table_name = 'esp_answer';
84
-        $sql        = "ANS_ID int(10) unsigned NOT NULL AUTO_INCREMENT,
35
+	/**
36
+	 * EE_DMS_Core_4_2_0 constructor.
37
+	 *
38
+	 * @param TableManager|null  $table_manager
39
+	 * @param TableAnalysis|null $table_analysis
40
+	 */
41
+	public function __construct(TableManager $table_manager = null, TableAnalysis $table_analysis = null)
42
+	{
43
+		$this->_pretty_name      = esc_html__("Data Update to Event Espresso 4.2.0", "event_espresso");
44
+		$this->_priority         = 10;
45
+		$this->_migration_stages = [
46
+			new EE_DMS_4_2_0_question_group_questions(),
47
+			new EE_DMS_4_2_0_datetime_fields(),
48
+		];
49
+		parent::__construct($table_manager, $table_analysis);
50
+	}
51
+
52
+
53
+	public function can_migrate_from_version($version_array)
54
+	{
55
+		$version_string = $version_array['Core'];
56
+		if (
57
+			version_compare($version_string, '4.2.0.decaf', '<') &&
58
+			version_compare($version_string, '4.1.0.decaf', '>=')
59
+		) {
60
+			//          echo "$version_string can be migrated fro";
61
+			return true;
62
+		} elseif (! $version_string) {
63
+			//          echo "no version string provided: $version_string";
64
+			// no version string provided... this must be pre 4.1
65
+			// because since 4.1 we're
66
+			return false;// changed mind. dont want people thinking they should migrate yet because they cant
67
+		} else {
68
+			//          echo "$version_string doesnt apply";
69
+			return false;
70
+		}
71
+	}
72
+
73
+
74
+	/**
75
+	 * @throws EE_Error
76
+	 * @throws ReflectionException
77
+	 */
78
+	public function schema_changes_before_migration()
79
+	{
80
+		// relies on 4.1's EEH_Activation::create_table
81
+		require_once(EE_HELPERS . 'EEH_Activation.helper.php');
82
+
83
+		$table_name = 'esp_answer';
84
+		$sql        = "ANS_ID int(10) unsigned NOT NULL AUTO_INCREMENT,
85 85
 					REG_ID int(10) unsigned NOT NULL,
86 86
 					QST_ID int(10) unsigned NOT NULL,
87 87
 					ANS_value text NOT NULL,
88 88
 					PRIMARY KEY  (ANS_ID)";
89
-        $this->_table_should_exist_previously($table_name, $sql);
89
+		$this->_table_should_exist_previously($table_name, $sql);
90 90
 
91
-        $table_name = 'esp_attendee_meta';
92
-        $sql        = "ATTM_ID int(10) unsigned NOT	NULL AUTO_INCREMENT,
91
+		$table_name = 'esp_attendee_meta';
92
+		$sql        = "ATTM_ID int(10) unsigned NOT	NULL AUTO_INCREMENT,
93 93
 						ATT_ID bigint(20) unsigned NOT NULL,
94 94
 						ATT_fname varchar(45) NOT NULL,
95 95
 						ATT_lname varchar(45) NOT	NULL,
@@ -105,10 +105,10 @@  discard block
 block discarded – undo
105 105
 								KEY ATT_fname (ATT_fname),
106 106
 								KEY ATT_lname (ATT_lname),
107 107
 								KEY ATT_email (ATT_email(191))";
108
-        $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB');
108
+		$this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB');
109 109
 
110
-        $table_name = 'esp_country';
111
-        $sql        = "CNT_ISO varchar(2) COLLATE utf8_bin NOT NULL,
110
+		$table_name = 'esp_country';
111
+		$sql        = "CNT_ISO varchar(2) COLLATE utf8_bin NOT NULL,
112 112
 					  CNT_ISO3 varchar(3) COLLATE utf8_bin NOT NULL,
113 113
 					  RGN_ID tinyint(3) unsigned DEFAULT NULL,
114 114
 					  CNT_name varchar(45) COLLATE utf8_bin NOT NULL,
@@ -124,10 +124,10 @@  discard block
 block discarded – undo
124 124
 					  CNT_is_EU tinyint(1) DEFAULT '0',
125 125
 					  CNT_active tinyint(1) DEFAULT '0',
126 126
 					  PRIMARY KEY  (CNT_ISO)";
127
-        $this->_table_should_exist_previously($table_name, $sql);
127
+		$this->_table_should_exist_previously($table_name, $sql);
128 128
 
129
-        $table_name = 'esp_datetime';
130
-        $sql        = "DTT_ID int(10) unsigned NOT NULL AUTO_INCREMENT,
129
+		$table_name = 'esp_datetime';
130
+		$sql        = "DTT_ID int(10) unsigned NOT NULL AUTO_INCREMENT,
131 131
 				  EVT_ID bigint(20) unsigned NOT NULL,
132 132
 				  DTT_name varchar(255) NOT NULL DEFAULT '',
133 133
 				  DTT_description text NOT NULL,
@@ -142,10 +142,10 @@  discard block
 block discarded – undo
142 142
 						PRIMARY KEY  (DTT_ID),
143 143
 						KEY EVT_ID (EVT_ID),
144 144
 						KEY DTT_is_primary (DTT_is_primary)";
145
-        $this->_table_should_exist_previously($table_name, $sql);
145
+		$this->_table_should_exist_previously($table_name, $sql);
146 146
 
147
-        $table_name = 'esp_event_meta';
148
-        $sql        = "
147
+		$table_name = 'esp_event_meta';
148
+		$sql        = "
149 149
 			EVTM_ID int(10) NOT NULL AUTO_INCREMENT,
150 150
 			EVT_ID bigint(20) unsigned NOT NULL,
151 151
 			EVT_display_desc tinyint(1) unsigned NOT NULL DEFAULT 1,
@@ -160,35 +160,35 @@  discard block
 block discarded – undo
160 160
 			EVT_external_URL varchar(200) NULL,
161 161
 			EVT_donations tinyint(1) NULL,
162 162
 			PRIMARY KEY  (EVTM_ID)";
163
-        $this->_table_should_exist_previously($table_name, $sql);
163
+		$this->_table_should_exist_previously($table_name, $sql);
164 164
 
165
-        $table_name = 'esp_event_question_group';
166
-        $sql        = "EQG_ID int(10) unsigned NOT NULL AUTO_INCREMENT,
165
+		$table_name = 'esp_event_question_group';
166
+		$sql        = "EQG_ID int(10) unsigned NOT NULL AUTO_INCREMENT,
167 167
 					EVT_ID bigint(20) unsigned NOT NULL,
168 168
 					QSG_ID int(10) unsigned NOT NULL,
169 169
 					EQG_primary tinyint(1) unsigned NOT NULL DEFAULT 0,
170 170
 					PRIMARY KEY  (EQG_ID)";
171
-        $this->_table_should_exist_previously($table_name, $sql);
171
+		$this->_table_should_exist_previously($table_name, $sql);
172 172
 
173
-        $table_name = 'esp_event_venue';
174
-        $sql        = "EVV_ID int(11) NOT NULL AUTO_INCREMENT,
173
+		$table_name = 'esp_event_venue';
174
+		$sql        = "EVV_ID int(11) NOT NULL AUTO_INCREMENT,
175 175
 				EVT_ID bigint(20) unsigned NOT NULL,
176 176
 				VNU_ID bigint(20) unsigned NOT NULL,
177 177
 				EVV_primary tinyint(1) unsigned NOT NULL DEFAULT 0,
178 178
 				PRIMARY KEY  (EVV_ID)";
179
-        $this->_table_should_exist_previously($table_name, $sql);
179
+		$this->_table_should_exist_previously($table_name, $sql);
180 180
 
181
-        $table_name = 'esp_extra_meta';
182
-        $sql        = "EXM_ID int(11) NOT NULL AUTO_INCREMENT,
181
+		$table_name = 'esp_extra_meta';
182
+		$sql        = "EXM_ID int(11) NOT NULL AUTO_INCREMENT,
183 183
 				OBJ_ID int(11) DEFAULT NULL,
184 184
 				EXM_type varchar(45) DEFAULT NULL,
185 185
 				EXM_key varchar(45) DEFAULT NULL,
186 186
 				EXM_value text,
187 187
 				PRIMARY KEY  (EXM_ID)";
188
-        $this->_table_should_exist_previously($table_name, $sql);
188
+		$this->_table_should_exist_previously($table_name, $sql);
189 189
 
190
-        $table_name = 'esp_line_item';
191
-        $sql        = "LIN_ID int(11) NOT NULL AUTO_INCREMENT,
190
+		$table_name = 'esp_line_item';
191
+		$sql        = "LIN_ID int(11) NOT NULL AUTO_INCREMENT,
192 192
 				LIN_code varchar(245) NOT NULL DEFAULT '',
193 193
 				TXN_ID int(11) DEFAULT NULL,
194 194
 				LIN_name varchar(245) NOT NULL DEFAULT '',
@@ -204,20 +204,20 @@  discard block
 block discarded – undo
204 204
 				OBJ_ID int(11) DEFAULT NULL,
205 205
 				OBJ_type varchar(45)DEFAULT NULL,
206 206
 				PRIMARY KEY  (LIN_ID)";
207
-        $this->_table_should_exist_previously($table_name, $sql);
207
+		$this->_table_should_exist_previously($table_name, $sql);
208 208
 
209
-        $table_name = 'esp_message_template';
210
-        $sql        = "MTP_ID int(10) unsigned NOT NULL AUTO_INCREMENT,
209
+		$table_name = 'esp_message_template';
210
+		$sql        = "MTP_ID int(10) unsigned NOT NULL AUTO_INCREMENT,
211 211
 					GRP_ID int(10) unsigned NOT NULL,
212 212
 					MTP_context varchar(50) NOT NULL,
213 213
 					MTP_template_field varchar(30) NOT NULL,
214 214
 					MTP_content text NOT NULL,
215 215
 					PRIMARY KEY  (MTP_ID),
216 216
 					KEY GRP_ID (GRP_ID)";
217
-        $this->_table_should_exist_previously($table_name, $sql);
217
+		$this->_table_should_exist_previously($table_name, $sql);
218 218
 
219
-        $table_name = 'esp_message_template_group';
220
-        $sql        = "GRP_ID int(10) unsigned NOT NULL AUTO_INCREMENT,
219
+		$table_name = 'esp_message_template_group';
220
+		$sql        = "GRP_ID int(10) unsigned NOT NULL AUTO_INCREMENT,
221 221
 					EVT_ID bigint(20) unsigned DEFAULT NULL,
222 222
 					MTP_user_id int(10) NOT NULL DEFAULT '1',
223 223
 					MTP_messenger varchar(30) NOT NULL,
@@ -229,10 +229,10 @@  discard block
 block discarded – undo
229 229
 					PRIMARY KEY  (GRP_ID),
230 230
 					KEY EVT_ID (EVT_ID),
231 231
 					KEY MTP_user_id (MTP_user_id)";
232
-        $this->_table_should_exist_previously($table_name, $sql);
232
+		$this->_table_should_exist_previously($table_name, $sql);
233 233
 
234
-        $table_name = 'esp_payment';
235
-        $sql        = "PAY_ID int(10) unsigned NOT NULL AUTO_INCREMENT,
234
+		$table_name = 'esp_payment';
235
+		$sql        = "PAY_ID int(10) unsigned NOT NULL AUTO_INCREMENT,
236 236
 					TXN_ID int(10) unsigned DEFAULT NULL,
237 237
 					STS_ID varchar(3) COLLATE utf8_bin DEFAULT NULL,
238 238
 					PAY_timestamp datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
@@ -248,10 +248,10 @@  discard block
 block discarded – undo
248 248
 					PRIMARY KEY  (PAY_ID),
249 249
 					KEY TXN_ID (TXN_ID),
250 250
 					KEY PAY_timestamp (PAY_timestamp)";
251
-        $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB');
251
+		$this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB');
252 252
 
253
-        $table_name = "esp_ticket";
254
-        $sql        = "TKT_ID int(10) unsigned NOT NULL AUTO_INCREMENT,
253
+		$table_name = "esp_ticket";
254
+		$sql        = "TKT_ID int(10) unsigned NOT NULL AUTO_INCREMENT,
255 255
 					  TTM_ID int(10) unsigned NOT NULL,
256 256
 					  TKT_name varchar(245) NOT NULL DEFAULT '',
257 257
 					  TKT_description text NOT NULL,
@@ -270,32 +270,32 @@  discard block
 block discarded – undo
270 270
 					  TKT_parent int(10) unsigned DEFAULT '0',
271 271
 					  TKT_deleted tinyint(1) NOT NULL DEFAULT '0',
272 272
 					  PRIMARY KEY  (TKT_ID)";
273
-        $this->_table_should_exist_previously($table_name, $sql);
273
+		$this->_table_should_exist_previously($table_name, $sql);
274 274
 
275
-        $table_name = "esp_ticket_price";
276
-        $sql        = "TKP_ID int(10) unsigned NOT NULL AUTO_INCREMENT,
275
+		$table_name = "esp_ticket_price";
276
+		$sql        = "TKP_ID int(10) unsigned NOT NULL AUTO_INCREMENT,
277 277
 					  TKT_ID int(10) unsigned NOT NULL,
278 278
 					  PRC_ID int(10) unsigned NOT NULL,
279 279
 					  PRIMARY KEY  (TKP_ID)";
280
-        $this->_table_should_exist_previously($table_name, $sql);
280
+		$this->_table_should_exist_previously($table_name, $sql);
281 281
 
282
-        $table_name = "esp_datetime_ticket";
283
-        $sql        = "DTK_ID int(10) unsigned NOT NULL AUTO_INCREMENT,
282
+		$table_name = "esp_datetime_ticket";
283
+		$sql        = "DTK_ID int(10) unsigned NOT NULL AUTO_INCREMENT,
284 284
 					  DTT_ID int(10) unsigned NOT NULL,
285 285
 					  TKT_ID int(10) unsigned NOT NULL,
286 286
 					  PRIMARY KEY  (DTK_ID)";
287
-        $this->_table_should_exist_previously($table_name, $sql);
287
+		$this->_table_should_exist_previously($table_name, $sql);
288 288
 
289
-        $table_name = "esp_ticket_template";
290
-        $sql        = "TTM_ID int(10) unsigned NOT NULL AUTO_INCREMENT,
289
+		$table_name = "esp_ticket_template";
290
+		$sql        = "TTM_ID int(10) unsigned NOT NULL AUTO_INCREMENT,
291 291
 					  TTM_name varchar(45) NOT NULL,
292 292
 					  TTM_description text,
293 293
 					  TTM_file varchar(45),
294 294
 					  PRIMARY KEY  (TTM_ID)";
295
-        $this->_table_should_exist_previously($table_name, $sql);
295
+		$this->_table_should_exist_previously($table_name, $sql);
296 296
 
297
-        $table_name = "esp_price";
298
-        $sql        = "PRC_ID int(10) unsigned NOT NULL AUTO_INCREMENT,
297
+		$table_name = "esp_price";
298
+		$sql        = "PRC_ID int(10) unsigned NOT NULL AUTO_INCREMENT,
299 299
 					  PRT_ID tinyint(3) unsigned NOT NULL,
300 300
 					  PRC_amount decimal(10,3) NOT NULL DEFAULT '0.00',
301 301
 					  PRC_name varchar(245) NOT NULL,
@@ -306,10 +306,10 @@  discard block
 block discarded – undo
306 306
 					  PRC_order tinyint(3) unsigned NOT NULL DEFAULT '0',
307 307
 					  PRC_parent int(10) unsigned DEFAULT 0,
308 308
 					  PRIMARY KEY  (PRC_ID)";
309
-        $this->_table_should_exist_previously($table_name, $sql);
309
+		$this->_table_should_exist_previously($table_name, $sql);
310 310
 
311
-        $table_name = "esp_price_type";
312
-        $sql        = "PRT_ID tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
311
+		$table_name = "esp_price_type";
312
+		$sql        = "PRT_ID tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
313 313
 				  PRT_name varchar(45) NOT NULL,
314 314
 				  PBT_ID tinyint(3) unsigned NOT NULL DEFAULT '1',
315 315
 				  PRT_is_percent tinyint(1) NOT NULL DEFAULT '0',
@@ -317,10 +317,10 @@  discard block
 block discarded – undo
317 317
 				  PRT_deleted tinyint(1) NOT NULL DEFAULT '0',
318 318
 				  UNIQUE KEY PRT_name_UNIQUE (PRT_name),
319 319
 				  PRIMARY KEY  (PRT_ID)";
320
-        $this->_table_should_exist_previously($table_name, $sql);
320
+		$this->_table_should_exist_previously($table_name, $sql);
321 321
 
322
-        $table_name = 'esp_question';
323
-        $sql        = 'QST_ID int(10) unsigned NOT NULL AUTO_INCREMENT,
322
+		$table_name = 'esp_question';
323
+		$sql        = 'QST_ID int(10) unsigned NOT NULL AUTO_INCREMENT,
324 324
 					QST_display_text text NOT NULL,
325 325
 					QST_admin_label varchar(255) NOT NULL,
326 326
 					QST_system varchar(25) DEFAULT NULL,
@@ -332,11 +332,11 @@  discard block
 block discarded – undo
332 332
 					QST_wp_user bigint(20) unsigned NULL,
333 333
 					QST_deleted tinyint(1) unsigned NOT NULL DEFAULT 0,
334 334
 					PRIMARY KEY  (QST_ID)';
335
-        $this->_table_should_exist_previously($table_name, $sql);
336
-        $this->_get_table_manager()->dropIndex('esp_question_group', 'QSG_identifier_UNIQUE');
335
+		$this->_table_should_exist_previously($table_name, $sql);
336
+		$this->_get_table_manager()->dropIndex('esp_question_group', 'QSG_identifier_UNIQUE');
337 337
 
338
-        $table_name = 'esp_question_group';
339
-        $sql        = 'QSG_ID int(10) unsigned NOT NULL AUTO_INCREMENT,
338
+		$table_name = 'esp_question_group';
339
+		$sql        = 'QSG_ID int(10) unsigned NOT NULL AUTO_INCREMENT,
340 340
 					QSG_name varchar(255) NOT NULL,
341 341
 					QSG_identifier varchar(100) NOT NULL,
342 342
 					QSG_desc text NULL,
@@ -347,27 +347,27 @@  discard block
 block discarded – undo
347 347
 					QSG_deleted tinyint(1) unsigned NOT NULL DEFAULT 0,
348 348
 					PRIMARY KEY  (QSG_ID),
349 349
 					UNIQUE KEY QSG_identifier_UNIQUE (QSG_identifier ASC)';
350
-        $this->_table_should_exist_previously($table_name, $sql);
350
+		$this->_table_should_exist_previously($table_name, $sql);
351 351
 
352
-        $table_name = 'esp_question_group_question';
353
-        $sql        = "QGQ_ID int(10) unsigned NOT NULL AUTO_INCREMENT,
352
+		$table_name = 'esp_question_group_question';
353
+		$sql        = "QGQ_ID int(10) unsigned NOT NULL AUTO_INCREMENT,
354 354
 					QSG_ID int(10) unsigned NOT NULL,
355 355
 					QST_ID int(10) unsigned NOT NULL,
356 356
 					QGQ_order int(10) unsigned NOT NULL DEFAULT 0,
357 357
 					PRIMARY KEY  (QGQ_ID) ";
358
-        $this->_table_should_exist_previously($table_name, $sql);
358
+		$this->_table_should_exist_previously($table_name, $sql);
359 359
 
360
-        $table_name = 'esp_question_option';
361
-        $sql        = "QSO_ID int(10) unsigned NOT NULL AUTO_INCREMENT,
360
+		$table_name = 'esp_question_option';
361
+		$sql        = "QSO_ID int(10) unsigned NOT NULL AUTO_INCREMENT,
362 362
 					QSO_value varchar(255) NOT NULL,
363 363
 					QSO_desc text NOT NULL,
364 364
 					QST_ID int(10) unsigned NOT NULL,
365 365
 					QSO_deleted tinyint(1) unsigned NOT NULL DEFAULT 0,
366 366
 					PRIMARY KEY  (QSO_ID)";
367
-        $this->_table_should_exist_previously($table_name, $sql);
367
+		$this->_table_should_exist_previously($table_name, $sql);
368 368
 
369
-        $table_name = 'esp_registration';
370
-        $sql        = "REG_ID int(10) unsigned NOT NULL AUTO_INCREMENT,
369
+		$table_name = 'esp_registration';
370
+		$sql        = "REG_ID int(10) unsigned NOT NULL AUTO_INCREMENT,
371 371
 					  EVT_ID bigint(20) unsigned NOT NULL,
372 372
 					  ATT_ID bigint(20) unsigned NOT NULL,
373 373
 					  TXN_ID int(10) unsigned NOT NULL,
@@ -390,28 +390,28 @@  discard block
 block discarded – undo
390 390
 					  KEY STS_ID (STS_ID),
391 391
 					  KEY REG_url_link (REG_url_link),
392 392
 					  KEY REG_code (REG_code)";
393
-        $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB');
393
+		$this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB');
394 394
 
395
-        $table_name = 'esp_checkin';
396
-        $sql        = "CHK_ID int(10) unsigned NOT NULL AUTO_INCREMENT,
395
+		$table_name = 'esp_checkin';
396
+		$sql        = "CHK_ID int(10) unsigned NOT NULL AUTO_INCREMENT,
397 397
 					REG_ID int(10) unsigned NOT NULL,
398 398
 					DTT_ID int(10) unsigned NOT NULL,
399 399
 					CHK_in tinyint(1) unsigned NOT NULL DEFAULT 1,
400 400
 					CHK_timestamp datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
401 401
 					PRIMARY KEY  (CHK_ID)";
402
-        $this->_table_should_exist_previously($table_name, $sql);
402
+		$this->_table_should_exist_previously($table_name, $sql);
403 403
 
404
-        $table_name = 'esp_state';
405
-        $sql        = "STA_ID smallint(5) unsigned NOT NULL AUTO_INCREMENT,
404
+		$table_name = 'esp_state';
405
+		$sql        = "STA_ID smallint(5) unsigned NOT NULL AUTO_INCREMENT,
406 406
 					  CNT_ISO varchar(2) COLLATE utf8_bin NOT NULL,
407 407
 					  STA_abbrev varchar(6) COLLATE utf8_bin NOT NULL,
408 408
 					  STA_name varchar(100) COLLATE utf8_bin NOT NULL,
409 409
 					  STA_active tinyint(1) DEFAULT '1',
410 410
 					  PRIMARY KEY  (STA_ID)";
411
-        $this->_table_should_exist_previously($table_name, $sql);
411
+		$this->_table_should_exist_previously($table_name, $sql);
412 412
 
413
-        $table_name = 'esp_status';
414
-        $sql        = "STS_ID varchar(3) COLLATE utf8_bin NOT NULL,
413
+		$table_name = 'esp_status';
414
+		$sql        = "STS_ID varchar(3) COLLATE utf8_bin NOT NULL,
415 415
 					  STS_code varchar(45) COLLATE utf8_bin NOT NULL,
416 416
 					  STS_type set('event','registration','transaction','payment','email') COLLATE utf8_bin NOT NULL,
417 417
 					  STS_can_edit tinyint(1) NOT NULL DEFAULT 0,
@@ -419,10 +419,10 @@  discard block
 block discarded – undo
419 419
 					  STS_open tinyint(1) NOT NULL DEFAULT 1,
420 420
 					  UNIQUE KEY STS_ID_UNIQUE (STS_ID),
421 421
 					  KEY STS_type (STS_type)";
422
-        $this->_table_should_exist_previously($table_name, $sql);
422
+		$this->_table_should_exist_previously($table_name, $sql);
423 423
 
424
-        $table_name = 'esp_transaction';
425
-        $sql        = "TXN_ID int(10) unsigned NOT NULL AUTO_INCREMENT,
424
+		$table_name = 'esp_transaction';
425
+		$sql        = "TXN_ID int(10) unsigned NOT NULL AUTO_INCREMENT,
426 426
 					  TXN_timestamp datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
427 427
 					  TXN_total decimal(10,3) DEFAULT '0.00',
428 428
 					  TXN_paid decimal(10,3) NOT NULL DEFAULT '0.00',
@@ -432,10 +432,10 @@  discard block
 block discarded – undo
432 432
 					  PRIMARY KEY  (TXN_ID),
433 433
 					  KEY TXN_timestamp (TXN_timestamp),
434 434
 					  KEY STS_ID (STS_ID)";
435
-        $this->_table_should_exist_previously($table_name, $sql);
435
+		$this->_table_should_exist_previously($table_name, $sql);
436 436
 
437
-        $table_name = 'esp_venue_meta';
438
-        $sql        = "VNUM_ID int(11) NOT NULL AUTO_INCREMENT,
437
+		$table_name = 'esp_venue_meta';
438
+		$sql        = "VNUM_ID int(11) NOT NULL AUTO_INCREMENT,
439 439
 			VNU_ID bigint(20) unsigned NOT NULL DEFAULT 0,
440 440
 			VNU_address varchar(255) DEFAULT NULL,
441 441
 			VNU_address2 varchar(255) DEFAULT NULL,
@@ -453,34 +453,34 @@  discard block
 block discarded – undo
453 453
 			PRIMARY KEY  (VNUM_ID),
454 454
 			KEY STA_ID (STA_ID),
455 455
 			KEY CNT_ISO (CNT_ISO)";
456
-        $this->_table_should_exist_previously($table_name, $sql);
457
-        $script_with_defaults = EE_Registry::instance()->load_dms('Core_4_1_0');
458
-        // setting up the DEFAULT stats and countries is also essential for the data migrations to run
459
-        // (because many need to convert old string states to foreign keys into the states table)
460
-        $script_with_defaults->insert_default_states();
461
-        $script_with_defaults->insert_default_countries();
462
-        // setting up DEFAULT prices, price types, and tickets is also essential for the price migrations
463
-        $script_with_defaults->insert_default_price_types();
464
-        $script_with_defaults->insert_default_prices();
465
-        $script_with_defaults->insert_default_tickets();
466
-        // setting up the config wp option pretty well counts as a 'schema change', or at least should happen here
467
-        EE_Config::instance()->update_espresso_config();
468
-        return true;
469
-    }
470
-
471
-
472
-    /**
473
-     * We COULD clean up the esp_question.QST_order field here. We'll leave it for now
474
-     *
475
-     * @return boolean
476
-     */
477
-    public function schema_changes_after_migration()
478
-    {
479
-        return true;
480
-    }
481
-
482
-
483
-    public function migration_page_hooks()
484
-    {
485
-    }
456
+		$this->_table_should_exist_previously($table_name, $sql);
457
+		$script_with_defaults = EE_Registry::instance()->load_dms('Core_4_1_0');
458
+		// setting up the DEFAULT stats and countries is also essential for the data migrations to run
459
+		// (because many need to convert old string states to foreign keys into the states table)
460
+		$script_with_defaults->insert_default_states();
461
+		$script_with_defaults->insert_default_countries();
462
+		// setting up DEFAULT prices, price types, and tickets is also essential for the price migrations
463
+		$script_with_defaults->insert_default_price_types();
464
+		$script_with_defaults->insert_default_prices();
465
+		$script_with_defaults->insert_default_tickets();
466
+		// setting up the config wp option pretty well counts as a 'schema change', or at least should happen here
467
+		EE_Config::instance()->update_espresso_config();
468
+		return true;
469
+	}
470
+
471
+
472
+	/**
473
+	 * We COULD clean up the esp_question.QST_order field here. We'll leave it for now
474
+	 *
475
+	 * @return boolean
476
+	 */
477
+	public function schema_changes_after_migration()
478
+	{
479
+		return true;
480
+	}
481
+
482
+
483
+	public function migration_page_hooks()
484
+	{
485
+	}
486 486
 }
Please login to merge, or discard this patch.
4_8_0_stages/EE_DMS_4_8_0_event_subtotals.dmsstage.php 1 patch
Indentation   +97 added lines, -97 removed lines patch added patch discarded remove patch
@@ -9,104 +9,104 @@
 block discarded – undo
9 9
  */
10 10
 class EE_DMS_4_8_0_event_subtotals extends EE_Data_Migration_Script_Stage_Table
11 11
 {
12
-    public function __construct()
13
-    {
14
-        global $wpdb;
15
-        $this->_old_table       = $wpdb->prefix . 'esp_line_item';
16
-        $this->_extra_where_sql = ' WHERE LIN_type="sub-total" AND LIN_code="pre-tax-subtotal"';
17
-        $this->_pretty_name     = esc_html__('Event Sub-total line items', 'event_espresso');
18
-        parent::__construct();
19
-    }
12
+	public function __construct()
13
+	{
14
+		global $wpdb;
15
+		$this->_old_table       = $wpdb->prefix . 'esp_line_item';
16
+		$this->_extra_where_sql = ' WHERE LIN_type="sub-total" AND LIN_code="pre-tax-subtotal"';
17
+		$this->_pretty_name     = esc_html__('Event Sub-total line items', 'event_espresso');
18
+		parent::__construct();
19
+	}
20 20
 
21 21
 
22
-    /**
23
-     * @throws EE_Error
24
-     */
25
-    protected function _migrate_old_row($old_row)
26
-    {
27
-        global $wpdb;
28
-        // what event is this line item for? this can be found by looking at its transaction's registration's EVT_ID
29
-        $event_id = $wpdb->get_var(
30
-            $wpdb->prepare(
31
-                'SELECT EVT_ID FROM ' . $wpdb->prefix . 'esp_registration WHERE TXN_ID=%d LIMIT 1',
32
-                $old_row['TXN_ID']
33
-            )
34
-        );
22
+	/**
23
+	 * @throws EE_Error
24
+	 */
25
+	protected function _migrate_old_row($old_row)
26
+	{
27
+		global $wpdb;
28
+		// what event is this line item for? this can be found by looking at its transaction's registration's EVT_ID
29
+		$event_id = $wpdb->get_var(
30
+			$wpdb->prepare(
31
+				'SELECT EVT_ID FROM ' . $wpdb->prefix . 'esp_registration WHERE TXN_ID=%d LIMIT 1',
32
+				$old_row['TXN_ID']
33
+			)
34
+		);
35 35
 
36
-        $new_line_item_data       = [
37
-            'LIN_code'       => 'event-' . $event_id,
38
-            'TXN_ID'         => $old_row['TXN_ID'],
39
-            'LIN_name'       => esc_html__('Event', 'event_espresso'),
40
-            'LIN_desc'       => $old_row['LIN_desc'],
41
-            'LIN_unit_price' => $old_row['LIN_unit_price'],
42
-            'LIN_percent'    => $old_row['LIN_percent'],
43
-            'LIN_is_taxable' => $old_row['LIN_is_taxable'],
44
-            'LIN_order'      => $old_row['LIN_order'],
45
-            'LIN_total'      => $old_row['LIN_total'],
46
-            'LIN_quantity'   => $old_row['LIN_quantity'],
47
-            'LIN_parent'     => $old_row['LIN_ID'],
48
-            'LIN_type'       => 'sub-total',
49
-            'OBJ_type'       => 'Event',
50
-            'OBJ_ID'         => $event_id,
51
-        ];
52
-        $new_line_item_data_types = [
53
-            '%s',// LIN_code
54
-            '%d',// TXN_ID
55
-            '%s',// LIN_name
56
-            '%s',// LIN_desc
57
-            '%f',// LIN_unit_price
58
-            '%f',// LIN_percent
59
-            '%d',// LIN_is_taxable
60
-            '%d',// LIN_order
61
-            '%f',// LIN_total
62
-            '%d',// LIN_quantity
63
-            '%d',// LIN_parent
64
-            '%s',// LIN_type
65
-            '%s',// OBJ_type
66
-            '%d',// OBJ_ID
67
-        ];
68
-        // insert the new event subtotal line item, pointing to this line item
69
-        $success = $wpdb->insert($this->_old_table, $new_line_item_data, $new_line_item_data_types);
70
-        if (! $success) {
71
-            $this->add_error(
72
-                $this->_create_error_message_for_db_insertion(
73
-                    $this->_old_table,
74
-                    $old_row,
75
-                    $this->_old_table,
76
-                    $new_line_item_data,
77
-                    $new_line_item_data_types
78
-                )
79
-            );
80
-        }
81
-        $new_line_item_id = $wpdb->insert_id;
82
-        $this->get_migration_script()->set_mapping(
83
-            $this->_old_table,
84
-            $old_row['LIN_ID'],
85
-            $this->_old_table,
86
-            $new_line_item_id
87
-        );
88
-        $query   = $wpdb->prepare(
89
-            "UPDATE $this->_old_table SET LIN_parent=%d WHERE LIN_parent = %d AND LIN_ID != %d LIMIT 100",
90
-            $new_line_item_id,
91
-            $old_row['LIN_ID'],
92
-            $new_line_item_id
93
-        );
94
-        $success = $wpdb->query($query);
95
-        if ($success === false) {
96
-            $this->add_error(
97
-                sprintf(
98
-                    esc_html__(
99
-                        'Error updating rows to new event subtotal %1$s from %2$s. Error was: %3$s, while using query %4$s which had a result of %5$s',
100
-                        'event_espresso'
101
-                    ),
102
-                    $new_line_item_id,
103
-                    $old_row['LIN_ID'],
104
-                    $wpdb->last_error,
105
-                    $query,
106
-                    false
107
-                )
108
-            );
109
-        }
110
-        return 1;
111
-    }
36
+		$new_line_item_data       = [
37
+			'LIN_code'       => 'event-' . $event_id,
38
+			'TXN_ID'         => $old_row['TXN_ID'],
39
+			'LIN_name'       => esc_html__('Event', 'event_espresso'),
40
+			'LIN_desc'       => $old_row['LIN_desc'],
41
+			'LIN_unit_price' => $old_row['LIN_unit_price'],
42
+			'LIN_percent'    => $old_row['LIN_percent'],
43
+			'LIN_is_taxable' => $old_row['LIN_is_taxable'],
44
+			'LIN_order'      => $old_row['LIN_order'],
45
+			'LIN_total'      => $old_row['LIN_total'],
46
+			'LIN_quantity'   => $old_row['LIN_quantity'],
47
+			'LIN_parent'     => $old_row['LIN_ID'],
48
+			'LIN_type'       => 'sub-total',
49
+			'OBJ_type'       => 'Event',
50
+			'OBJ_ID'         => $event_id,
51
+		];
52
+		$new_line_item_data_types = [
53
+			'%s',// LIN_code
54
+			'%d',// TXN_ID
55
+			'%s',// LIN_name
56
+			'%s',// LIN_desc
57
+			'%f',// LIN_unit_price
58
+			'%f',// LIN_percent
59
+			'%d',// LIN_is_taxable
60
+			'%d',// LIN_order
61
+			'%f',// LIN_total
62
+			'%d',// LIN_quantity
63
+			'%d',// LIN_parent
64
+			'%s',// LIN_type
65
+			'%s',// OBJ_type
66
+			'%d',// OBJ_ID
67
+		];
68
+		// insert the new event subtotal line item, pointing to this line item
69
+		$success = $wpdb->insert($this->_old_table, $new_line_item_data, $new_line_item_data_types);
70
+		if (! $success) {
71
+			$this->add_error(
72
+				$this->_create_error_message_for_db_insertion(
73
+					$this->_old_table,
74
+					$old_row,
75
+					$this->_old_table,
76
+					$new_line_item_data,
77
+					$new_line_item_data_types
78
+				)
79
+			);
80
+		}
81
+		$new_line_item_id = $wpdb->insert_id;
82
+		$this->get_migration_script()->set_mapping(
83
+			$this->_old_table,
84
+			$old_row['LIN_ID'],
85
+			$this->_old_table,
86
+			$new_line_item_id
87
+		);
88
+		$query   = $wpdb->prepare(
89
+			"UPDATE $this->_old_table SET LIN_parent=%d WHERE LIN_parent = %d AND LIN_ID != %d LIMIT 100",
90
+			$new_line_item_id,
91
+			$old_row['LIN_ID'],
92
+			$new_line_item_id
93
+		);
94
+		$success = $wpdb->query($query);
95
+		if ($success === false) {
96
+			$this->add_error(
97
+				sprintf(
98
+					esc_html__(
99
+						'Error updating rows to new event subtotal %1$s from %2$s. Error was: %3$s, while using query %4$s which had a result of %5$s',
100
+						'event_espresso'
101
+					),
102
+					$new_line_item_id,
103
+					$old_row['LIN_ID'],
104
+					$wpdb->last_error,
105
+					$query,
106
+					false
107
+				)
108
+			);
109
+		}
110
+		return 1;
111
+	}
112 112
 }
Please login to merge, or discard this patch.
core/data_migration_scripts/EE_Data_Migration_Script_Stage.core.php 1 patch
Indentation   +90 added lines, -90 removed lines patch added patch discarded remove patch
@@ -29,108 +29,108 @@
 block discarded – undo
29 29
  */
30 30
 abstract class EE_Data_Migration_Script_Stage extends EE_Data_Migration_Class_Base
31 31
 {
32
-    /**
33
-     * The migration script this is a stage of
34
-     *
35
-     * @var EE_Data_Migration_Script_Base
36
-     */
37
-    protected EE_Data_Migration_Script_Base $_migration_script;
32
+	/**
33
+	 * The migration script this is a stage of
34
+	 *
35
+	 * @var EE_Data_Migration_Script_Base
36
+	 */
37
+	protected EE_Data_Migration_Script_Base $_migration_script;
38 38
 
39 39
 
40
-    /**
41
-     * This should eb called to essentially 'finalize' construction of the stage.
42
-     * This isn't done on the main constructor in order to avoid repetitive code. Instead, this is
43
-     * called by EE_Data_Migration_Script_Base's __construct() method so children don't have to
44
-     *
45
-     * @param EE_Data_Migration_Script_Base $migration_script
46
-     */
47
-    public function _construct_finalize(EE_Data_Migration_Script_Base $migration_script)
48
-    {
49
-        $this->_migration_script = $migration_script;
50
-    }
40
+	/**
41
+	 * This should eb called to essentially 'finalize' construction of the stage.
42
+	 * This isn't done on the main constructor in order to avoid repetitive code. Instead, this is
43
+	 * called by EE_Data_Migration_Script_Base's __construct() method so children don't have to
44
+	 *
45
+	 * @param EE_Data_Migration_Script_Base $migration_script
46
+	 */
47
+	public function _construct_finalize(EE_Data_Migration_Script_Base $migration_script)
48
+	{
49
+		$this->_migration_script = $migration_script;
50
+	}
51 51
 
52 52
 
53
-    /**
54
-     * Migrates X old records to the new format. If a fatal error is encountered it is NOT caught here,
55
-     * but is propagated upwards for catching. So basically, the _migration_step() function implemented by children
56
-     * needs to catch exceptions and decide what's a fatal error and what isn't.
57
-     *
58
-     * @param int $num_items_to_migrate
59
-     * @return int
60
-     */
61
-    public function migration_step($num_items_to_migrate = 50)
62
-    {
63
-        // before we run the migration step, we want ot take note of warnings that get outputted
64
-        ob_start();
65
-        $items_migrated = $this->_migration_step($num_items_to_migrate);
66
-        $output         = ob_get_contents();
67
-        ob_end_clean();
68
-        if ($output) {
69
-            $this->add_error($output);
70
-        }
71
-        $this->_records_migrated += $items_migrated;
72
-        return $items_migrated;
73
-    }
53
+	/**
54
+	 * Migrates X old records to the new format. If a fatal error is encountered it is NOT caught here,
55
+	 * but is propagated upwards for catching. So basically, the _migration_step() function implemented by children
56
+	 * needs to catch exceptions and decide what's a fatal error and what isn't.
57
+	 *
58
+	 * @param int $num_items_to_migrate
59
+	 * @return int
60
+	 */
61
+	public function migration_step($num_items_to_migrate = 50)
62
+	{
63
+		// before we run the migration step, we want ot take note of warnings that get outputted
64
+		ob_start();
65
+		$items_migrated = $this->_migration_step($num_items_to_migrate);
66
+		$output         = ob_get_contents();
67
+		ob_end_clean();
68
+		if ($output) {
69
+			$this->add_error($output);
70
+		}
71
+		$this->_records_migrated += $items_migrated;
72
+		return $items_migrated;
73
+	}
74 74
 
75 75
 
76
-    /**
77
-     * IMPORTANT: if an error is encountered, or everything is finished, this stage should update its status property
78
-     * accordingly. Note: it should not alter the count of items migrated. That is done in the public function that
79
-     * calls this. IMPORTANT: The count of items migrated should ONLY be less than $num_items_to_migrate when it's the
80
-     * last migration step, otherwise it should always return $num_items_to_migrate. (Eg, if we're migrating attendees
81
-     * rows from the database, and $num_items_to_migrate is set to 50, then we SHOULD actually migrate 50 rows,but at
82
-     * very least we MUST report/return 50 items migrated)
83
-     *
84
-     * @param int $num_items_to_migrate
85
-     * @return int number of items ACTUALLY migrated
86
-     */
87
-    abstract protected function _migration_step($num_items_to_migrate = 50);
76
+	/**
77
+	 * IMPORTANT: if an error is encountered, or everything is finished, this stage should update its status property
78
+	 * accordingly. Note: it should not alter the count of items migrated. That is done in the public function that
79
+	 * calls this. IMPORTANT: The count of items migrated should ONLY be less than $num_items_to_migrate when it's the
80
+	 * last migration step, otherwise it should always return $num_items_to_migrate. (Eg, if we're migrating attendees
81
+	 * rows from the database, and $num_items_to_migrate is set to 50, then we SHOULD actually migrate 50 rows,but at
82
+	 * very least we MUST report/return 50 items migrated)
83
+	 *
84
+	 * @param int $num_items_to_migrate
85
+	 * @return int number of items ACTUALLY migrated
86
+	 */
87
+	abstract protected function _migration_step($num_items_to_migrate = 50);
88 88
 
89 89
 
90
-    /**
91
-     * Counts the records that have been migrated so far
92
-     *
93
-     * @return int
94
-     */
95
-    public function count_records_migrated(): int
96
-    {
97
-        return $this->_records_migrated;
98
-    }
90
+	/**
91
+	 * Counts the records that have been migrated so far
92
+	 *
93
+	 * @return int
94
+	 */
95
+	public function count_records_migrated(): int
96
+	{
97
+		return $this->_records_migrated;
98
+	}
99 99
 
100 100
 
101
-    /**
102
-     * returns an array of strings describing errors
103
-     *
104
-     * @return array
105
-     */
106
-    public function get_errors(): array
107
-    {
108
-        return $this->_errors;
109
-    }
101
+	/**
102
+	 * returns an array of strings describing errors
103
+	 *
104
+	 * @return array
105
+	 */
106
+	public function get_errors(): array
107
+	{
108
+		return $this->_errors;
109
+	}
110 110
 
111 111
 
112
-    /**
113
-     * Sets all the properties of this script stage to match what's in the array, which is assumed
114
-     * to have been made from the properties_as_array() function.
115
-     *
116
-     * @param array $array_of_properties like what's produced from properties_as_array() method
117
-     */
118
-    public function instantiate_from_array_of_properties($array_of_properties)
119
-    {
120
-        unset($array_of_properties['class']);
121
-        foreach ($array_of_properties as $property_name => $property_value) {
122
-            $this->{$property_name} = $property_value;
123
-        }
124
-    }
112
+	/**
113
+	 * Sets all the properties of this script stage to match what's in the array, which is assumed
114
+	 * to have been made from the properties_as_array() function.
115
+	 *
116
+	 * @param array $array_of_properties like what's produced from properties_as_array() method
117
+	 */
118
+	public function instantiate_from_array_of_properties($array_of_properties)
119
+	{
120
+		unset($array_of_properties['class']);
121
+		foreach ($array_of_properties as $property_name => $property_value) {
122
+			$this->{$property_name} = $property_value;
123
+		}
124
+	}
125 125
 
126 126
 
127
-    /**
128
-     * Gets the script this is a stage of
129
-     *
130
-     * @return EE_Data_Migration_Script_Base
131
-     */
132
-    protected function get_migration_script(): EE_Data_Migration_Script_Base
133
-    {
134
-        return $this->_migration_script;
135
-    }
127
+	/**
128
+	 * Gets the script this is a stage of
129
+	 *
130
+	 * @return EE_Data_Migration_Script_Base
131
+	 */
132
+	protected function get_migration_script(): EE_Data_Migration_Script_Base
133
+	{
134
+		return $this->_migration_script;
135
+	}
136 136
 }
Please login to merge, or discard this patch.
4_3_0_stages/EE_DMS_4_3_0_event_message_templates.dmsstage.php 2 patches
Indentation   +68 added lines, -68 removed lines patch added patch discarded remove patch
@@ -12,80 +12,80 @@
 block discarded – undo
12 12
  */
13 13
 class EE_DMS_4_3_0_event_message_templates extends EE_Data_Migration_Script_Stage_Table
14 14
 {
15
-    /**
16
-     * This property will hold the table name for event_message_templates
17
-     *
18
-     * @var string
19
-     */
20
-    private string $_emt_table;
15
+	/**
16
+	 * This property will hold the table name for event_message_templates
17
+	 *
18
+	 * @var string
19
+	 */
20
+	private string $_emt_table;
21 21
 
22 22
 
23
-    public function __construct()
24
-    {
25
-        global $wpdb;
26
-        $this->_pretty_name = esc_html__('Event Message Templates', 'event_espresso');
27
-        $this->_old_table   = $wpdb->prefix . "esp_message_template_group";
28
-        $this->_emt_table   = $wpdb->prefix . "esp_event_message_template";
29
-        parent::__construct();
30
-    }
23
+	public function __construct()
24
+	{
25
+		global $wpdb;
26
+		$this->_pretty_name = esc_html__('Event Message Templates', 'event_espresso');
27
+		$this->_old_table   = $wpdb->prefix . "esp_message_template_group";
28
+		$this->_emt_table   = $wpdb->prefix . "esp_event_message_template";
29
+		parent::__construct();
30
+	}
31 31
 
32 32
 
33
-    protected function _migrate_old_row($old_row)
34
-    {
35
-        // foreach row that has an evt_id ..let's create an equivalent entry in the new event_messages_template table to link the message template to the event (since EVT_ID is no longer referenced in esp_message_template_groups )
36
-        global $wpdb;
37
-        if ($old_row['EVT_ID'] > 0) {
38
-            // let's get the EVT for this id so we can update the custom name on the old row.
39
-            $event_name = 'Custom Template for ' . $wpdb->get_var(
40
-                $wpdb->prepare(
41
-                    "SELECT post_title from $wpdb->posts WHERE ID = %d",
42
-                    absint(
43
-                        $old_row['EVT_ID']
44
-                    )
45
-                )
46
-            );
33
+	protected function _migrate_old_row($old_row)
34
+	{
35
+		// foreach row that has an evt_id ..let's create an equivalent entry in the new event_messages_template table to link the message template to the event (since EVT_ID is no longer referenced in esp_message_template_groups )
36
+		global $wpdb;
37
+		if ($old_row['EVT_ID'] > 0) {
38
+			// let's get the EVT for this id so we can update the custom name on the old row.
39
+			$event_name = 'Custom Template for ' . $wpdb->get_var(
40
+				$wpdb->prepare(
41
+					"SELECT post_title from $wpdb->posts WHERE ID = %d",
42
+					absint(
43
+						$old_row['EVT_ID']
44
+					)
45
+				)
46
+			);
47 47
 
48
-            // update name
49
-            $updated = $wpdb->update(
50
-                $this->_old_table,
51
-                ['MTP_name' => $event_name],
52
-                ['GRP_ID' => (int) $old_row['GRP_ID']],
53
-                ['%s'],
54
-                ['%d']
55
-            );
48
+			// update name
49
+			$updated = $wpdb->update(
50
+				$this->_old_table,
51
+				['MTP_name' => $event_name],
52
+				['GRP_ID' => (int) $old_row['GRP_ID']],
53
+				['%s'],
54
+				['%d']
55
+			);
56 56
 
57
-            $inserted = $wpdb->insert(
58
-                $this->_emt_table,
59
-                [
60
-                    'EVT_ID' => (int) $old_row['EVT_ID'],
61
-                    'GRP_ID' => (int) $old_row['GRP_ID'],
62
-                ],
63
-                ['%d', '%d']
64
-            );
57
+			$inserted = $wpdb->insert(
58
+				$this->_emt_table,
59
+				[
60
+					'EVT_ID' => (int) $old_row['EVT_ID'],
61
+					'GRP_ID' => (int) $old_row['GRP_ID'],
62
+				],
63
+				['%d', '%d']
64
+			);
65 65
 
66
-            if (false === $updated) {
67
-                $this->add_error(
68
-                    sprintf(
69
-                        esc_html__("Error in updating the row in %s setting 'MTP_name = %s", 'event_espresso'),
70
-                        $this->_old_table,
71
-                        $event_name
72
-                    )
73
-                );
74
-            }
66
+			if (false === $updated) {
67
+				$this->add_error(
68
+					sprintf(
69
+						esc_html__("Error in updating the row in %s setting 'MTP_name = %s", 'event_espresso'),
70
+						$this->_old_table,
71
+						$event_name
72
+					)
73
+				);
74
+			}
75 75
 
76
-            if (false === $inserted) {
77
-                $this->add_error(
78
-                    sprintf(
79
-                        esc_html__(
80
-                            "Error in inserting a row into  setting EVT_ID = %d and GRP_ID = %d",
81
-                            "event_espresso"
82
-                        ),
83
-                        $this->_emt_table,
84
-                        $old_row['EVT_ID'],
85
-                        $old_row['GRP_ID']
86
-                    )
87
-                );
88
-            }
89
-        }
90
-    }
76
+			if (false === $inserted) {
77
+				$this->add_error(
78
+					sprintf(
79
+						esc_html__(
80
+							"Error in inserting a row into  setting EVT_ID = %d and GRP_ID = %d",
81
+							"event_espresso"
82
+						),
83
+						$this->_emt_table,
84
+						$old_row['EVT_ID'],
85
+						$old_row['GRP_ID']
86
+					)
87
+				);
88
+			}
89
+		}
90
+	}
91 91
 }
Please login to merge, or discard this patch.
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -24,8 +24,8 @@  discard block
 block discarded – undo
24 24
     {
25 25
         global $wpdb;
26 26
         $this->_pretty_name = esc_html__('Event Message Templates', 'event_espresso');
27
-        $this->_old_table   = $wpdb->prefix . "esp_message_template_group";
28
-        $this->_emt_table   = $wpdb->prefix . "esp_event_message_template";
27
+        $this->_old_table   = $wpdb->prefix."esp_message_template_group";
28
+        $this->_emt_table   = $wpdb->prefix."esp_event_message_template";
29 29
         parent::__construct();
30 30
     }
31 31
 
@@ -36,7 +36,7 @@  discard block
 block discarded – undo
36 36
         global $wpdb;
37 37
         if ($old_row['EVT_ID'] > 0) {
38 38
             // let's get the EVT for this id so we can update the custom name on the old row.
39
-            $event_name = 'Custom Template for ' . $wpdb->get_var(
39
+            $event_name = 'Custom Template for '.$wpdb->get_var(
40 40
                 $wpdb->prepare(
41 41
                     "SELECT post_title from $wpdb->posts WHERE ID = %d",
42 42
                     absint(
Please login to merge, or discard this patch.
data_migration_scripts/4_1_0_stages/EE_DMS_4_1_0_event_venue.dmsstage.php 1 patch
Indentation   +114 added lines, -114 removed lines patch added patch discarded remove patch
@@ -26,128 +26,128 @@
 block discarded – undo
26 26
  */
27 27
 class EE_DMS_4_1_0_event_venue extends EE_Data_Migration_Script_Stage
28 28
 {
29
-    /**
30
-     * @throws EE_Error
31
-     */
32
-    public function _migration_step($num_items_to_migrate = 50)
33
-    {
34
-        global $wpdb;
35
-        $start_at_record         = $this->count_records_migrated();
36
-        $rows                    = $wpdb->get_results(
37
-            $wpdb->prepare(
38
-                "SELECT * FROM $this->_old_table AS ev
29
+	/**
30
+	 * @throws EE_Error
31
+	 */
32
+	public function _migration_step($num_items_to_migrate = 50)
33
+	{
34
+		global $wpdb;
35
+		$start_at_record         = $this->count_records_migrated();
36
+		$rows                    = $wpdb->get_results(
37
+			$wpdb->prepare(
38
+				"SELECT * FROM $this->_old_table AS ev
39 39
                     INNER JOIN " . $wpdb->prefix . "events_detail AS e ON ev.event_id=e.id
40 40
                     WHERE e.event_status!='D' LIMIT %d,%d",
41
-                $start_at_record,
42
-                $num_items_to_migrate
43
-            ),
44
-            ARRAY_A
45
-        );
46
-        $items_actually_migrated = 0;
47
-        foreach ($rows as $event_venue_rel) {
48
-            $this->_insert_new_event_to_venue_rel($event_venue_rel);
49
-            $items_actually_migrated++;
50
-        }
51
-        if ($this->count_records_migrated() + $items_actually_migrated >= $this->count_records_to_migrate()) {
52
-            $this->set_completed();
53
-        }
54
-        return $items_actually_migrated;
55
-    }
41
+				$start_at_record,
42
+				$num_items_to_migrate
43
+			),
44
+			ARRAY_A
45
+		);
46
+		$items_actually_migrated = 0;
47
+		foreach ($rows as $event_venue_rel) {
48
+			$this->_insert_new_event_to_venue_rel($event_venue_rel);
49
+			$items_actually_migrated++;
50
+		}
51
+		if ($this->count_records_migrated() + $items_actually_migrated >= $this->count_records_to_migrate()) {
52
+			$this->set_completed();
53
+		}
54
+		return $items_actually_migrated;
55
+	}
56 56
 
57 57
 
58
-    public function _count_records_to_migrate()
59
-    {
60
-        global $wpdb;
61
-        return $wpdb->get_var(
62
-            "SELECT COUNT(ev.id) FROM " . $this->_old_table . " AS ev
58
+	public function _count_records_to_migrate()
59
+	{
60
+		global $wpdb;
61
+		return $wpdb->get_var(
62
+			"SELECT COUNT(ev.id) FROM " . $this->_old_table . " AS ev
63 63
             INNER JOIN " . $wpdb->prefix . 'events_detail AS e ON ev.event_id=e.id
64 64
             WHERE e.event_status!="D"'
65
-        );
66
-    }
65
+		);
66
+	}
67 67
 
68 68
 
69
-    public function __construct()
70
-    {
71
-        global $wpdb;
72
-        $this->_old_table   = $wpdb->prefix . "events_venue_rel";
73
-        $this->_new_table   = $wpdb->prefix . "esp_event_venue";
74
-        $this->_pretty_name = esc_html__("Event to Venue Relations", "event_espresso");
75
-        parent::__construct();
76
-    }
69
+	public function __construct()
70
+	{
71
+		global $wpdb;
72
+		$this->_old_table   = $wpdb->prefix . "events_venue_rel";
73
+		$this->_new_table   = $wpdb->prefix . "esp_event_venue";
74
+		$this->_pretty_name = esc_html__("Event to Venue Relations", "event_espresso");
75
+		parent::__construct();
76
+	}
77 77
 
78 78
 
79
-    /**
80
-     * Attempts to insert a new question group in the new format given an old one
81
-     *
82
-     * @param array $old_event_venue_rel
83
-     * @return void
84
-     * @throws EE_Error
85
-     * @global wpdb $wpdb
86
-     */
87
-    private function _insert_new_event_to_venue_rel(array $old_event_venue_rel): void
88
-    {
89
-        global $wpdb;
90
-        $new_event_id = $this->get_migration_script()->get_mapping_new_pk(
91
-            $wpdb->prefix . "events_detail",
92
-            $old_event_venue_rel['event_id'],
93
-            $wpdb->prefix . "posts"
94
-        );
95
-        $new_venue_id = $this->get_migration_script()->get_mapping_new_pk(
96
-            $wpdb->prefix . "events_venue",
97
-            $old_event_venue_rel['venue_id'],
98
-            $wpdb->prefix . "posts"
99
-        );
100
-        if (! $new_event_id) {
101
-            $this->add_error(
102
-                sprintf(
103
-                    esc_html__("Could not find 4.1 event id for 3.1 event #%d.", "event_espresso"),
104
-                    $old_event_venue_rel['event_id']
105
-                )
106
-            );
107
-            return;
108
-        }
109
-        if (! $new_venue_id) {
110
-            $this->add_error(
111
-                sprintf(
112
-                    esc_html__("Could not find 4.1 venue id for 3.1 venue #%d.", "event_espresso"),
113
-                    $old_event_venue_rel['venue_id']
114
-                )
115
-            );
116
-            return;
117
-        }
118
-        // first ensure there are no other relation entries for this event
119
-        // because although EE4 supports it, EE3 didn't really
120
-        $wpdb->delete(
121
-            $this->_new_table,
122
-            [
123
-                'EVT_ID' => $new_event_id,
124
-            ],
125
-            [
126
-                '%d',// EVT_ID
127
-            ]
128
-        );
129
-        //      echo "last query". $wpdb->last_query;die;
130
-        $cols_n_values = [
131
-            'EVT_ID'      => $new_event_id,
132
-            'VNU_ID'      => $new_venue_id,
133
-            'EVV_primary' => true,
134
-        ];
135
-        $data_types    = [
136
-            '%d',// EVT_ID
137
-            '%d',// VNU_ID
138
-            '%d',// EVT_primary
139
-        ];
140
-        $success       = $wpdb->insert($this->_new_table, $cols_n_values, $data_types);
141
-        if (! $success) {
142
-            $this->add_error(
143
-                $this->get_migration_script()->_create_error_message_for_db_insertion(
144
-                    $this->_old_table,
145
-                    $old_event_venue_rel,
146
-                    $this->_new_table,
147
-                    $cols_n_values,
148
-                    $data_types
149
-                )
150
-            );
151
-        }
152
-    }
79
+	/**
80
+	 * Attempts to insert a new question group in the new format given an old one
81
+	 *
82
+	 * @param array $old_event_venue_rel
83
+	 * @return void
84
+	 * @throws EE_Error
85
+	 * @global wpdb $wpdb
86
+	 */
87
+	private function _insert_new_event_to_venue_rel(array $old_event_venue_rel): void
88
+	{
89
+		global $wpdb;
90
+		$new_event_id = $this->get_migration_script()->get_mapping_new_pk(
91
+			$wpdb->prefix . "events_detail",
92
+			$old_event_venue_rel['event_id'],
93
+			$wpdb->prefix . "posts"
94
+		);
95
+		$new_venue_id = $this->get_migration_script()->get_mapping_new_pk(
96
+			$wpdb->prefix . "events_venue",
97
+			$old_event_venue_rel['venue_id'],
98
+			$wpdb->prefix . "posts"
99
+		);
100
+		if (! $new_event_id) {
101
+			$this->add_error(
102
+				sprintf(
103
+					esc_html__("Could not find 4.1 event id for 3.1 event #%d.", "event_espresso"),
104
+					$old_event_venue_rel['event_id']
105
+				)
106
+			);
107
+			return;
108
+		}
109
+		if (! $new_venue_id) {
110
+			$this->add_error(
111
+				sprintf(
112
+					esc_html__("Could not find 4.1 venue id for 3.1 venue #%d.", "event_espresso"),
113
+					$old_event_venue_rel['venue_id']
114
+				)
115
+			);
116
+			return;
117
+		}
118
+		// first ensure there are no other relation entries for this event
119
+		// because although EE4 supports it, EE3 didn't really
120
+		$wpdb->delete(
121
+			$this->_new_table,
122
+			[
123
+				'EVT_ID' => $new_event_id,
124
+			],
125
+			[
126
+				'%d',// EVT_ID
127
+			]
128
+		);
129
+		//      echo "last query". $wpdb->last_query;die;
130
+		$cols_n_values = [
131
+			'EVT_ID'      => $new_event_id,
132
+			'VNU_ID'      => $new_venue_id,
133
+			'EVV_primary' => true,
134
+		];
135
+		$data_types    = [
136
+			'%d',// EVT_ID
137
+			'%d',// VNU_ID
138
+			'%d',// EVT_primary
139
+		];
140
+		$success       = $wpdb->insert($this->_new_table, $cols_n_values, $data_types);
141
+		if (! $success) {
142
+			$this->add_error(
143
+				$this->get_migration_script()->_create_error_message_for_db_insertion(
144
+					$this->_old_table,
145
+					$old_event_venue_rel,
146
+					$this->_new_table,
147
+					$cols_n_values,
148
+					$data_types
149
+				)
150
+			);
151
+		}
152
+	}
153 153
 }
Please login to merge, or discard this patch.
4_1_0_stages/EE_DMS_4_1_0_event_category.dmsstage.php 1 patch
Indentation   +126 added lines, -126 removed lines patch added patch discarded remove patch
@@ -26,136 +26,136 @@
 block discarded – undo
26 26
  */
27 27
 class EE_DMS_4_1_0_event_category extends EE_Data_Migration_Script_Stage
28 28
 {
29
-    /**
30
-     * @throws EE_Error
31
-     */
32
-    public function _migration_step($num_items_to_migrate = 50)
33
-    {
34
-        global $wpdb;
35
-        $start_at_record         = $this->count_records_migrated();
36
-        $rows                    =
37
-            $wpdb->get_results(
38
-                $wpdb->prepare("SELECT * FROM $this->_old_table LIMIT %d,%d", $start_at_record, $num_items_to_migrate),
39
-                ARRAY_A
40
-            );
41
-        $items_actually_migrated = 0;
42
-        foreach ($rows as $event_venue_rel) {
43
-            $term_relation_id = $this->_add_relation_from_event_to_term_taxonomy($event_venue_rel);
44
-            if ($term_relation_id) {
45
-                $this->get_migration_script()->set_mapping(
46
-                    $this->_old_table,
47
-                    $event_venue_rel['id'],
48
-                    $this->_new_table,
49
-                    $term_relation_id
50
-                );
51
-            }
52
-            $items_actually_migrated++;
53
-        }
54
-        if ($this->count_records_migrated() + $items_actually_migrated >= $this->count_records_to_migrate()) {
55
-            $this->set_completed();
56
-        }
57
-        return $items_actually_migrated;
58
-    }
29
+	/**
30
+	 * @throws EE_Error
31
+	 */
32
+	public function _migration_step($num_items_to_migrate = 50)
33
+	{
34
+		global $wpdb;
35
+		$start_at_record         = $this->count_records_migrated();
36
+		$rows                    =
37
+			$wpdb->get_results(
38
+				$wpdb->prepare("SELECT * FROM $this->_old_table LIMIT %d,%d", $start_at_record, $num_items_to_migrate),
39
+				ARRAY_A
40
+			);
41
+		$items_actually_migrated = 0;
42
+		foreach ($rows as $event_venue_rel) {
43
+			$term_relation_id = $this->_add_relation_from_event_to_term_taxonomy($event_venue_rel);
44
+			if ($term_relation_id) {
45
+				$this->get_migration_script()->set_mapping(
46
+					$this->_old_table,
47
+					$event_venue_rel['id'],
48
+					$this->_new_table,
49
+					$term_relation_id
50
+				);
51
+			}
52
+			$items_actually_migrated++;
53
+		}
54
+		if ($this->count_records_migrated() + $items_actually_migrated >= $this->count_records_to_migrate()) {
55
+			$this->set_completed();
56
+		}
57
+		return $items_actually_migrated;
58
+	}
59 59
 
60 60
 
61
-    public function _count_records_to_migrate()
62
-    {
63
-        global $wpdb;
64
-        return $wpdb->get_var("SELECT COUNT(id) FROM " . $this->_old_table);
65
-    }
61
+	public function _count_records_to_migrate()
62
+	{
63
+		global $wpdb;
64
+		return $wpdb->get_var("SELECT COUNT(id) FROM " . $this->_old_table);
65
+	}
66 66
 
67 67
 
68
-    public function __construct()
69
-    {
70
-        global $wpdb;
71
-        $this->_old_table   = $wpdb->prefix . "events_category_rel";
72
-        $this->_new_table   = $wpdb->prefix . "term_relationships";
73
-        $this->_pretty_name = esc_html__("Event to Category (4.1 Term Relationships)", "event_espresso");
74
-        parent::__construct();
75
-    }
68
+	public function __construct()
69
+	{
70
+		global $wpdb;
71
+		$this->_old_table   = $wpdb->prefix . "events_category_rel";
72
+		$this->_new_table   = $wpdb->prefix . "term_relationships";
73
+		$this->_pretty_name = esc_html__("Event to Category (4.1 Term Relationships)", "event_espresso");
74
+		parent::__construct();
75
+	}
76 76
 
77 77
 
78
-    /**
79
-     * Attempts to insert a new question group in the new format given an old one
80
-     *
81
-     * @param array $old_event_cat_relation
82
-     * @return int
83
-     * @throws EE_Error
84
-     * @global wpdb $wpdb
85
-     */
86
-    private function _add_relation_from_event_to_term_taxonomy(array $old_event_cat_relation): int
87
-    {
88
-        global $wpdb;
89
-        $new_event_id         =
90
-            $this->get_migration_script()->get_mapping_new_pk(
91
-                $wpdb->prefix . "events_detail",
92
-                intval($old_event_cat_relation['event_id']),
93
-                $wpdb->prefix . "posts"
94
-            );
95
-        $new_term_taxonomy_id =
96
-            $this->get_migration_script()->get_mapping_new_pk(
97
-                $wpdb->prefix . "events_category_detail",
98
-                intval($old_event_cat_relation['cat_id']),
99
-                $wpdb->prefix . "term_taxonomy"
100
-            );
101
-        if (! $new_event_id) {
102
-            $this->add_error(
103
-                sprintf(
104
-                    esc_html__("Could not find 4.1 event id for 3.1 event #%d.", "event_espresso"),
105
-                    $old_event_cat_relation['event_id']
106
-                )
107
-            );
108
-            return 0;
109
-        }
110
-        if (! $new_term_taxonomy_id) {
111
-            $this->add_error(
112
-                sprintf(
113
-                    esc_html__("Could not find 4.1 term-taxonomy id for 3.1 category #%d.", "event_espresso"),
114
-                    $old_event_cat_relation['cat_id']
115
-                )
116
-            );
117
-            return 0;
118
-        }
119
-        $cols_n_values = [
120
-            'object_id'        => $new_event_id,
121
-            'term_taxonomy_id' => $new_term_taxonomy_id,
122
-            'term_order'       => 0,
123
-        ];
124
-        $data_types    = [
125
-            '%d',// object_id
126
-            '%d',// term_taxonomy_id
127
-            '%d',// term_order
128
-        ];
129
-        $success       = $wpdb->insert($this->_new_table, $cols_n_values, $data_types);
130
-        if (! $success) {
131
-            $this->add_error(
132
-                $this->get_migration_script()->_create_error_message_for_db_insertion(
133
-                    $this->_old_table,
134
-                    $old_event_cat_relation,
135
-                    $this->_new_table,
136
-                    $cols_n_values,
137
-                    $data_types
138
-                )
139
-            );
140
-            return 0;
141
-        } else {
142
-            // increment the term-taxonomies count
143
-            $success =
144
-                $wpdb->query(
145
-                    $wpdb->prepare(
146
-                        "UPDATE $wpdb->term_taxonomy SET count = count +1 WHERE term_taxonomy_id=%d",
147
-                        $new_term_taxonomy_id
148
-                    )
149
-                );
150
-            if (! $success) {
151
-                $this->add_error(
152
-                    sprintf(
153
-                        esc_html__('Could not increment term_taxonomy\'s count because %s', 'event_espresso'),
154
-                        $wpdb->last_error
155
-                    )
156
-                );
157
-            }
158
-        }
159
-        return $wpdb->insert_id;
160
-    }
78
+	/**
79
+	 * Attempts to insert a new question group in the new format given an old one
80
+	 *
81
+	 * @param array $old_event_cat_relation
82
+	 * @return int
83
+	 * @throws EE_Error
84
+	 * @global wpdb $wpdb
85
+	 */
86
+	private function _add_relation_from_event_to_term_taxonomy(array $old_event_cat_relation): int
87
+	{
88
+		global $wpdb;
89
+		$new_event_id         =
90
+			$this->get_migration_script()->get_mapping_new_pk(
91
+				$wpdb->prefix . "events_detail",
92
+				intval($old_event_cat_relation['event_id']),
93
+				$wpdb->prefix . "posts"
94
+			);
95
+		$new_term_taxonomy_id =
96
+			$this->get_migration_script()->get_mapping_new_pk(
97
+				$wpdb->prefix . "events_category_detail",
98
+				intval($old_event_cat_relation['cat_id']),
99
+				$wpdb->prefix . "term_taxonomy"
100
+			);
101
+		if (! $new_event_id) {
102
+			$this->add_error(
103
+				sprintf(
104
+					esc_html__("Could not find 4.1 event id for 3.1 event #%d.", "event_espresso"),
105
+					$old_event_cat_relation['event_id']
106
+				)
107
+			);
108
+			return 0;
109
+		}
110
+		if (! $new_term_taxonomy_id) {
111
+			$this->add_error(
112
+				sprintf(
113
+					esc_html__("Could not find 4.1 term-taxonomy id for 3.1 category #%d.", "event_espresso"),
114
+					$old_event_cat_relation['cat_id']
115
+				)
116
+			);
117
+			return 0;
118
+		}
119
+		$cols_n_values = [
120
+			'object_id'        => $new_event_id,
121
+			'term_taxonomy_id' => $new_term_taxonomy_id,
122
+			'term_order'       => 0,
123
+		];
124
+		$data_types    = [
125
+			'%d',// object_id
126
+			'%d',// term_taxonomy_id
127
+			'%d',// term_order
128
+		];
129
+		$success       = $wpdb->insert($this->_new_table, $cols_n_values, $data_types);
130
+		if (! $success) {
131
+			$this->add_error(
132
+				$this->get_migration_script()->_create_error_message_for_db_insertion(
133
+					$this->_old_table,
134
+					$old_event_cat_relation,
135
+					$this->_new_table,
136
+					$cols_n_values,
137
+					$data_types
138
+				)
139
+			);
140
+			return 0;
141
+		} else {
142
+			// increment the term-taxonomies count
143
+			$success =
144
+				$wpdb->query(
145
+					$wpdb->prepare(
146
+						"UPDATE $wpdb->term_taxonomy SET count = count +1 WHERE term_taxonomy_id=%d",
147
+						$new_term_taxonomy_id
148
+					)
149
+				);
150
+			if (! $success) {
151
+				$this->add_error(
152
+					sprintf(
153
+						esc_html__('Could not increment term_taxonomy\'s count because %s', 'event_espresso'),
154
+						$wpdb->last_error
155
+					)
156
+				);
157
+			}
158
+		}
159
+		return $wpdb->insert_id;
160
+	}
161 161
 }
Please login to merge, or discard this patch.
data_migration_scripts/4_1_0_stages/EE_DMS_4_1_0_line_items.dmsstage.php 1 patch
Indentation   +226 added lines, -226 removed lines patch added patch discarded remove patch
@@ -44,251 +44,251 @@
 block discarded – undo
44 44
  */
45 45
 class EE_DMS_4_1_0_line_items extends EE_Data_Migration_Script_Stage_Table
46 46
 {
47
-    private string $_new_line_table;
47
+	private string $_new_line_table;
48 48
 
49
-    private string $_new_transaction_table;
49
+	private string $_new_transaction_table;
50 50
 
51
-    private string $_new_reg_table;
51
+	private string $_new_reg_table;
52 52
 
53 53
 
54
-    public function __construct()
55
-    {
56
-        global $wpdb;
57
-        $this->_pretty_name           = esc_html__("Line Items", "event_espresso");
58
-        $this->_old_table             = $wpdb->prefix . "events_attendee";
59
-        $this->select_expression      = 'att.*, e.event_status';
60
-        $this->_extra_where_sql       = ' AS att
54
+	public function __construct()
55
+	{
56
+		global $wpdb;
57
+		$this->_pretty_name           = esc_html__("Line Items", "event_espresso");
58
+		$this->_old_table             = $wpdb->prefix . "events_attendee";
59
+		$this->select_expression      = 'att.*, e.event_status';
60
+		$this->_extra_where_sql       = ' AS att
61 61
             INNER JOIN ' . $wpdb->prefix . 'events_detail AS e ON att.event_id=e.id
62 62
             WHERE e.event_status!="D"';
63
-        $this->_new_transaction_table = $wpdb->prefix . "esp_transaction";
64
-        $this->_new_line_table        = $wpdb->prefix . "esp_line_item";
65
-        $this->_new_reg_table         = $wpdb->prefix . "esp_registration";
66
-        parent::__construct();
67
-    }
63
+		$this->_new_transaction_table = $wpdb->prefix . "esp_transaction";
64
+		$this->_new_line_table        = $wpdb->prefix . "esp_line_item";
65
+		$this->_new_reg_table         = $wpdb->prefix . "esp_registration";
66
+		parent::__construct();
67
+	}
68 68
 
69 69
 
70
-    /**
71
-     * @throws EE_Error
72
-     */
73
-    protected function _migrate_old_row($old_row)
74
-    {
75
-        // insert line items if its a primary id
76
-        if ((int) $old_row['is_primary']) {
77
-            $txn_id = (int) $this->get_migration_script()->get_mapping_new_pk(
78
-                $this->_old_table,
79
-                $old_row['id'],
80
-                $this->_new_transaction_table
81
-            );
82
-            if (! $txn_id) {
83
-                $this->add_error(
84
-                    sprintf(
85
-                        esc_html__(
86
-                            "Could not find the transaction for the 3.1 attendee %d from row %s",
87
-                            "event_espresso"
88
-                        ),
89
-                        $old_row['id'],
90
-                        $this->_json_encode($old_row)
91
-                    )
92
-                );
93
-                return;
94
-            }
95
-            $txn            = $this->_get_txn($txn_id);
96
-            $new_line_items = $this->_insert_new_line_items($txn, $old_row);
97
-            $this->get_migration_script()->set_mapping(
98
-                $this->_old_table,
99
-                $old_row['id'],
100
-                $this->_new_line_table,
101
-                $new_line_items
102
-            );
103
-        }
104
-    }
70
+	/**
71
+	 * @throws EE_Error
72
+	 */
73
+	protected function _migrate_old_row($old_row)
74
+	{
75
+		// insert line items if its a primary id
76
+		if ((int) $old_row['is_primary']) {
77
+			$txn_id = (int) $this->get_migration_script()->get_mapping_new_pk(
78
+				$this->_old_table,
79
+				$old_row['id'],
80
+				$this->_new_transaction_table
81
+			);
82
+			if (! $txn_id) {
83
+				$this->add_error(
84
+					sprintf(
85
+						esc_html__(
86
+							"Could not find the transaction for the 3.1 attendee %d from row %s",
87
+							"event_espresso"
88
+						),
89
+						$old_row['id'],
90
+						$this->_json_encode($old_row)
91
+					)
92
+				);
93
+				return;
94
+			}
95
+			$txn            = $this->_get_txn($txn_id);
96
+			$new_line_items = $this->_insert_new_line_items($txn, $old_row);
97
+			$this->get_migration_script()->set_mapping(
98
+				$this->_old_table,
99
+				$old_row['id'],
100
+				$this->_new_line_table,
101
+				$new_line_items
102
+			);
103
+		}
104
+	}
105 105
 
106 106
 
107
-    private function _get_txn(int $txn_id)
108
-    {
109
-        global $wpdb;
110
-        return $wpdb->get_row(
111
-            $wpdb->prepare(
112
-                "SELECT * FROM $this->_new_transaction_table WHERE TXN_ID=%d",
113
-                $txn_id
114
-            ),
115
-            ARRAY_A
116
-        );
117
-    }
107
+	private function _get_txn(int $txn_id)
108
+	{
109
+		global $wpdb;
110
+		return $wpdb->get_row(
111
+			$wpdb->prepare(
112
+				"SELECT * FROM $this->_new_transaction_table WHERE TXN_ID=%d",
113
+				$txn_id
114
+			),
115
+			ARRAY_A
116
+		);
117
+	}
118 118
 
119 119
 
120
-    /**
121
-     * In 4.1, we'd normally need more info than just the registrations to make the line items. Ie, we'd need
122
-     * the transaction, and tax prices at the time of registration. (And probably promotions and other price factors).
123
-     * But seeing how these are REGs created from 3.1 attendee data, which have
124
-     *
125
-     * @param array $transaction
126
-     * @param array $old_attendee
127
-     * @return array new line item ids
128
-     */
129
-    private function _insert_new_line_items(array $transaction, array $old_attendee): array
130
-    {
131
-        global $wpdb;
132
-        $regs_on_this_transaction = $wpdb->get_results(
133
-            $wpdb->prepare(
134
-                "SELECT * FROM $this->_new_reg_table WHERE TXN_ID=%d",
135
-                $transaction['TXN_ID']
136
-            ),
137
-            ARRAY_A
138
-        );
139
-        $new_line_item_ids        = [];
140
-        // create a total ine item
141
-        $total_line_item_id  = $this->_insert_new_line_item(
142
-            [
143
-                'LIN_code'  => 'total',
144
-                'TXN_ID'    => $transaction['TXN_ID'],
145
-                'LIN_name'  => esc_html__(
146
-                    "Total",
147
-                    "event_espresso"
148
-                ),
149
-                'LIN_total' => $transaction['TXN_total'],
150
-                'LIN_type'  => 'total',
151
-                'OBJ_ID'    => $transaction['TXN_ID'],
152
-                'OBJ_type'  => 'Transaction',
153
-            ],
154
-            $old_attendee
155
-        );
156
-        $new_line_item_ids[] = $total_line_item_id;
157
-        // create a subtotal line item
158
-        $reg_total = 0;
159
-        foreach ($regs_on_this_transaction as $new_reg) {
160
-            $reg_total += floatval($new_reg['REG_final_price']);
161
-        }
162
-        $subtotal_line_item_id = $this->_insert_new_line_item(
163
-            [
164
-                'LIN_code'   => 'sub-total',
165
-                'TXN_ID'     => $transaction['TXN_ID'],
166
-                'LIN_name'   => esc_html__(
167
-                    "Subtotal",
168
-                    "event_espresso"
169
-                ),
170
-                'LIN_total'  => $reg_total,
171
-                'LIN_parent' => $total_line_item_id,
172
-                'LIN_type'   => 'sub-total',
173
-            ],
174
-            $old_attendee
175
-        );
176
-        $new_line_item_ids[]   = $subtotal_line_item_id;
177
-        // group REGs by TKT_ID
178
-        $regs_by_tkt = [];
179
-        foreach ($regs_on_this_transaction as $new_reg) {
180
-            $regs_by_tkt[ $new_reg['TKT_ID'] ][] = $new_reg;
181
-        }
120
+	/**
121
+	 * In 4.1, we'd normally need more info than just the registrations to make the line items. Ie, we'd need
122
+	 * the transaction, and tax prices at the time of registration. (And probably promotions and other price factors).
123
+	 * But seeing how these are REGs created from 3.1 attendee data, which have
124
+	 *
125
+	 * @param array $transaction
126
+	 * @param array $old_attendee
127
+	 * @return array new line item ids
128
+	 */
129
+	private function _insert_new_line_items(array $transaction, array $old_attendee): array
130
+	{
131
+		global $wpdb;
132
+		$regs_on_this_transaction = $wpdb->get_results(
133
+			$wpdb->prepare(
134
+				"SELECT * FROM $this->_new_reg_table WHERE TXN_ID=%d",
135
+				$transaction['TXN_ID']
136
+			),
137
+			ARRAY_A
138
+		);
139
+		$new_line_item_ids        = [];
140
+		// create a total ine item
141
+		$total_line_item_id  = $this->_insert_new_line_item(
142
+			[
143
+				'LIN_code'  => 'total',
144
+				'TXN_ID'    => $transaction['TXN_ID'],
145
+				'LIN_name'  => esc_html__(
146
+					"Total",
147
+					"event_espresso"
148
+				),
149
+				'LIN_total' => $transaction['TXN_total'],
150
+				'LIN_type'  => 'total',
151
+				'OBJ_ID'    => $transaction['TXN_ID'],
152
+				'OBJ_type'  => 'Transaction',
153
+			],
154
+			$old_attendee
155
+		);
156
+		$new_line_item_ids[] = $total_line_item_id;
157
+		// create a subtotal line item
158
+		$reg_total = 0;
159
+		foreach ($regs_on_this_transaction as $new_reg) {
160
+			$reg_total += floatval($new_reg['REG_final_price']);
161
+		}
162
+		$subtotal_line_item_id = $this->_insert_new_line_item(
163
+			[
164
+				'LIN_code'   => 'sub-total',
165
+				'TXN_ID'     => $transaction['TXN_ID'],
166
+				'LIN_name'   => esc_html__(
167
+					"Subtotal",
168
+					"event_espresso"
169
+				),
170
+				'LIN_total'  => $reg_total,
171
+				'LIN_parent' => $total_line_item_id,
172
+				'LIN_type'   => 'sub-total',
173
+			],
174
+			$old_attendee
175
+		);
176
+		$new_line_item_ids[]   = $subtotal_line_item_id;
177
+		// group REGs by TKT_ID
178
+		$regs_by_tkt = [];
179
+		foreach ($regs_on_this_transaction as $new_reg) {
180
+			$regs_by_tkt[ $new_reg['TKT_ID'] ][] = $new_reg;
181
+		}
182 182
 
183
-        // create individual line items
183
+		// create individual line items
184 184
 
185
-        foreach ($regs_by_tkt as $ticket_id => $regs) {
186
-            $count      = count($regs);
187
-            $line_total = 0;
188
-            foreach ($regs as $new_reg) {
189
-                $line_total += $new_reg['REG_final_price'];
190
-            }
191
-            $a_reg               = reset($regs);
192
-            $new_ticket          = $this->_get_new_ticket_row($a_reg['TKT_ID']);
193
-            $reg_line_item_id    = $this->_insert_new_line_item(
194
-                [
195
-                    'LIN_code'       => md5(
196
-                        'Ticket' . $ticket_id . time()
197
-                    ),
198
-                    'TXN_ID'         => $transaction['TXN_ID'],
199
-                    'LIN_name'       => $new_ticket['TKT_name'],
200
-                    'LIN_unit_price' => $a_reg['REG_final_price'],
201
-                    'LIN_is_taxable' => false,
202
-                    'LIN_total'      => $line_total,
203
-                    'LIN_quantity'   => $count,
204
-                    'LIN_parent'     => $subtotal_line_item_id,
205
-                    'OBJ_ID'         => $ticket_id,
206
-                    'OBJ_type'       => 'Ticket',
207
-                ],
208
-                $old_attendee
209
-            );
210
-            $new_line_item_ids[] = $reg_line_item_id;
211
-        }
185
+		foreach ($regs_by_tkt as $ticket_id => $regs) {
186
+			$count      = count($regs);
187
+			$line_total = 0;
188
+			foreach ($regs as $new_reg) {
189
+				$line_total += $new_reg['REG_final_price'];
190
+			}
191
+			$a_reg               = reset($regs);
192
+			$new_ticket          = $this->_get_new_ticket_row($a_reg['TKT_ID']);
193
+			$reg_line_item_id    = $this->_insert_new_line_item(
194
+				[
195
+					'LIN_code'       => md5(
196
+						'Ticket' . $ticket_id . time()
197
+					),
198
+					'TXN_ID'         => $transaction['TXN_ID'],
199
+					'LIN_name'       => $new_ticket['TKT_name'],
200
+					'LIN_unit_price' => $a_reg['REG_final_price'],
201
+					'LIN_is_taxable' => false,
202
+					'LIN_total'      => $line_total,
203
+					'LIN_quantity'   => $count,
204
+					'LIN_parent'     => $subtotal_line_item_id,
205
+					'OBJ_ID'         => $ticket_id,
206
+					'OBJ_type'       => 'Ticket',
207
+				],
208
+				$old_attendee
209
+			);
210
+			$new_line_item_ids[] = $reg_line_item_id;
211
+		}
212 212
 
213 213
 
214
-        return $new_line_item_ids;
215
-    }
214
+		return $new_line_item_ids;
215
+	}
216 216
 
217 217
 
218
-    /**
219
-     * Gets the full ticket by ID
220
-     *
221
-     * @param int   $new_ticket_id
222
-     * @return array
223
-     * @global wpdb $wpdb
224
-     */
225
-    private function _get_new_ticket_row(int $new_ticket_id): array
226
-    {
227
-        global $wpdb;
228
-        return $wpdb->get_row(
229
-            $wpdb->prepare(
230
-                "SELECT * FROM {$wpdb->prefix}esp_ticket WHERE TKT_ID=%d",
231
-                $new_ticket_id
232
-            ),
233
-            ARRAY_A
234
-        );
235
-    }
218
+	/**
219
+	 * Gets the full ticket by ID
220
+	 *
221
+	 * @param int   $new_ticket_id
222
+	 * @return array
223
+	 * @global wpdb $wpdb
224
+	 */
225
+	private function _get_new_ticket_row(int $new_ticket_id): array
226
+	{
227
+		global $wpdb;
228
+		return $wpdb->get_row(
229
+			$wpdb->prepare(
230
+				"SELECT * FROM {$wpdb->prefix}esp_ticket WHERE TKT_ID=%d",
231
+				$new_ticket_id
232
+			),
233
+			ARRAY_A
234
+		);
235
+	}
236 236
 
237 237
 
238
-    private function _insert_new_line_item(array $cols_n_values, array $old_attendee): int
239
-    {
240
-        global $wpdb;
241
-        $default_cols_n_values = [
242
-            'LIN_code'       => '',
243
-            'TXN_ID'         => 0,
244
-            'LIN_name'       => '',
245
-            'LIN_desc'       => '',
246
-            'LIN_unit_price' => 0,
247
-            'LIN_percent'    => 0,
248
-            'LIN_is_taxable' => false,
249
-            'LIN_order'      => 0,
250
-            'LIN_total'      => 0,
251
-            'LIN_quantity'   => null,
252
-            'LIN_parent'     => 0,
253
-            'LIN_type'       => 'line-item',
254
-            'OBJ_ID'         => null,
255
-            'OBJ_type'       => null,
256
-        ];
257
-        $cols_n_values         = array_merge($default_cols_n_values, $cols_n_values);
258
-        $data_types            = [
259
-            '%s',// LIN_code
260
-            '%d',// TXN_ID
261
-            '%s',// LIN_name
262
-            '%s',// LIN_desc
263
-            '%f',// LIN_unit_price
264
-            '%f',// LIN_percent
265
-            '%d',// LIN_is_taxable
266
-            '%d',// LIN_order
267
-            '%f',// LIN_total
268
-            '%d',// LIN_quantity
269
-            '%d',// LIN_parent
270
-            '%s',// LIN_type
271
-            '%d',// OBJ_ID
272
-            '%s',// OBJ_type
273
-        ];
238
+	private function _insert_new_line_item(array $cols_n_values, array $old_attendee): int
239
+	{
240
+		global $wpdb;
241
+		$default_cols_n_values = [
242
+			'LIN_code'       => '',
243
+			'TXN_ID'         => 0,
244
+			'LIN_name'       => '',
245
+			'LIN_desc'       => '',
246
+			'LIN_unit_price' => 0,
247
+			'LIN_percent'    => 0,
248
+			'LIN_is_taxable' => false,
249
+			'LIN_order'      => 0,
250
+			'LIN_total'      => 0,
251
+			'LIN_quantity'   => null,
252
+			'LIN_parent'     => 0,
253
+			'LIN_type'       => 'line-item',
254
+			'OBJ_ID'         => null,
255
+			'OBJ_type'       => null,
256
+		];
257
+		$cols_n_values         = array_merge($default_cols_n_values, $cols_n_values);
258
+		$data_types            = [
259
+			'%s',// LIN_code
260
+			'%d',// TXN_ID
261
+			'%s',// LIN_name
262
+			'%s',// LIN_desc
263
+			'%f',// LIN_unit_price
264
+			'%f',// LIN_percent
265
+			'%d',// LIN_is_taxable
266
+			'%d',// LIN_order
267
+			'%f',// LIN_total
268
+			'%d',// LIN_quantity
269
+			'%d',// LIN_parent
270
+			'%s',// LIN_type
271
+			'%d',// OBJ_ID
272
+			'%s',// OBJ_type
273
+		];
274 274
 
275
-        $success = $wpdb->insert(
276
-            $this->_new_line_table,
277
-            $cols_n_values,
278
-            $data_types
279
-        );
280
-        if (! $success) {
281
-            $this->add_error(
282
-                $this->get_migration_script()->_create_error_message_for_db_insertion(
283
-                    $this->_old_table,
284
-                    $old_attendee,
285
-                    $this->_new_reg_table,
286
-                    $cols_n_values,
287
-                    $data_types
288
-                )
289
-            );
290
-            return 0;
291
-        }
292
-        return $wpdb->insert_id;
293
-    }
275
+		$success = $wpdb->insert(
276
+			$this->_new_line_table,
277
+			$cols_n_values,
278
+			$data_types
279
+		);
280
+		if (! $success) {
281
+			$this->add_error(
282
+				$this->get_migration_script()->_create_error_message_for_db_insertion(
283
+					$this->_old_table,
284
+					$old_attendee,
285
+					$this->_new_reg_table,
286
+					$cols_n_values,
287
+					$data_types
288
+				)
289
+			);
290
+			return 0;
291
+		}
292
+		return $wpdb->insert_id;
293
+	}
294 294
 }
Please login to merge, or discard this patch.
core/data_migration_scripts/4_1_0_stages/EE_DMS_4_1_0_prices.dmsstage.php 1 patch
Indentation   +416 added lines, -416 removed lines patch added patch discarded remove patch
@@ -107,454 +107,454 @@
 block discarded – undo
107 107
  */
108 108
 class EE_DMS_4_1_0_prices extends EE_Data_Migration_Script_Stage_Table
109 109
 {
110
-    const price_type_base = 1;
110
+	const price_type_base = 1;
111 111
 
112
-    const price_type_member_discount = 3;
112
+	const price_type_member_discount = 3;
113 113
 
114
-    const price_type_percent_surcharge = 4;
114
+	const price_type_percent_surcharge = 4;
115 115
 
116
-    const price_type_flat_surcharge = 5;
116
+	const price_type_flat_surcharge = 5;
117 117
 
118
-    private string $_new_price_table;
118
+	private string $_new_price_table;
119 119
 
120
-    private string $_new_ticket_table;
120
+	private string $_new_ticket_table;
121 121
 
122
-    private string $_new_ticket_price_table;
122
+	private string $_new_ticket_price_table;
123 123
 
124
-    private string $_new_datetime_ticket_table;
124
+	private string $_new_datetime_ticket_table;
125 125
 
126
-    /**
127
-     * A count of all the different tickets created, used for setting the new ones' TKT_Order
128
-     *
129
-     * @var int
130
-     */
131
-    private int $_ticket_count = 0;
126
+	/**
127
+	 * A count of all the different tickets created, used for setting the new ones' TKT_Order
128
+	 *
129
+	 * @var int
130
+	 */
131
+	private int $_ticket_count = 0;
132 132
 
133
-    private array $price_data_types = [
134
-        '%d',// PRT_ID
135
-        '%f',// PRT_amount
136
-        '%s',// PRC_name
137
-        '%d',// PRC_is_default
138
-        '%d',// PRC_overrides
139
-        '%d',// PRC_order
140
-        '%d',// PRC_deleted
141
-        '%d',// PRC_parent
142
-    ];
133
+	private array $price_data_types = [
134
+		'%d',// PRT_ID
135
+		'%f',// PRT_amount
136
+		'%s',// PRC_name
137
+		'%d',// PRC_is_default
138
+		'%d',// PRC_overrides
139
+		'%d',// PRC_order
140
+		'%d',// PRC_deleted
141
+		'%d',// PRC_parent
142
+	];
143 143
 
144 144
 
145
-    public function __construct()
146
-    {
147
-        global $wpdb;
148
-        $this->_pretty_name               = esc_html__("Prices", "event_espresso");
149
-        $this->_old_table                 = $wpdb->prefix . "events_prices";
150
-        $this->select_expression          = 'p.*, e.event_status';
151
-        $this->_extra_where_sql           = ' AS p
145
+	public function __construct()
146
+	{
147
+		global $wpdb;
148
+		$this->_pretty_name               = esc_html__("Prices", "event_espresso");
149
+		$this->_old_table                 = $wpdb->prefix . "events_prices";
150
+		$this->select_expression          = 'p.*, e.event_status';
151
+		$this->_extra_where_sql           = ' AS p
152 152
             INNER JOIN ' . $wpdb->prefix . 'events_detail AS e ON p.event_id=e.id
153 153
             WHERE e.event_status!="D"';
154
-        $this->_new_price_table           = $wpdb->prefix . "esp_price";
155
-        $this->_new_ticket_table          = $wpdb->prefix . "esp_ticket";
156
-        $this->_new_ticket_price_table    = $wpdb->prefix . "esp_ticket_price";
157
-        $this->_new_datetime_ticket_table = $wpdb->prefix . "esp_datetime_ticket";
158
-        parent::__construct();
159
-    }
154
+		$this->_new_price_table           = $wpdb->prefix . "esp_price";
155
+		$this->_new_ticket_table          = $wpdb->prefix . "esp_ticket";
156
+		$this->_new_ticket_price_table    = $wpdb->prefix . "esp_ticket_price";
157
+		$this->_new_datetime_ticket_table = $wpdb->prefix . "esp_datetime_ticket";
158
+		parent::__construct();
159
+	}
160 160
 
161 161
 
162
-    /**
163
-     * @throws EE_Error
164
-     */
165
-    protected function _migrate_old_row($old_row)
166
-    {
167
-        // create the base price
168
-        $new_price_id = $this->_insert_new_price($old_row);
169
-        // create the member discount if there is any
170
-        // commented-out because we may actually NOT be supporting this in 4.1
171
-        //      if($old_row['event_cost'] != $old_row['member_price']){
172
-        //          $member_price_discount_id = $this->_insert_new_member_price($old_row);
173
-        //      }else{
174
-        //          $member_price_discount_id = 0;
175
-        //      }
176
-        // create the surcharge if there is any
177
-        if (floatval($old_row['surcharge']) >= 0.01) {
178
-            $surcharge_price_id = $this->_insert_new_surcharge_price($old_row);
179
-            $this->get_migration_script()->set_mapping(
180
-                $this->_old_table,
181
-                $old_row['id'],
182
-                $this->_new_price_table,
183
-                [$new_price_id, $surcharge_price_id]
184
-            );
185
-        } else {
186
-            $surcharge_price_id = 0;
187
-            $this->get_migration_script()->set_mapping(
188
-                $this->_old_table,
189
-                $old_row['id'],
190
-                $this->_new_price_table,
191
-                [$new_price_id]
192
-            );
193
-        }
194
-        // associate the ticket to all datetimes for event (ie, this ONE ticket grants access to ALL datetimes, not just one of the attendee's choice.
195
-        // if the latter were the case, then we'd create a separate ticket for each datetime and have their
196
-        // association be one-to-one)
197
-        // create ticket
198
-        //      $ticket_id = $this->_insert_new_ticket($old_row);
199
-        //      if($ticket_id){
200
-        //          $this->get_migration_script()->set_mapping($this->_old_table, $old_row['id'], $this->_new_ticket_table, $ticket_id);
201
-        //          //associate to the prices
202
-        //          $this->_insert_ticket_price_relation($ticket_id, $new_price_id);
203
-        //          $this->_insert_ticket_price_relation($ticket_id, $surcharge_price_id);
204
-        //          //associate to datetimes for the event
205
-        //          foreach($this->_get_datetime_ids_for_old_event_id($old_row['event_id']) as $new_datetime_id){
206
-        //              $this->_insert_datetime_ticket_relation($new_datetime_id, $ticket_id);
207
-        //          }
208
-        //      }
209
-        // create a ticket for each old price -old datetime combo
210
-        $tickets_for_old_price = [];
211
-        foreach ($this->_get_datetime_ids_for_old_event_id($old_row['event_id']) as $new_datetime_id) {
212
-            $ticket_id               = $this->_insert_new_ticket($old_row);
213
-            $tickets_for_old_price[] = $ticket_id;
214
-            // associate to old prices
215
-            $this->_insert_ticket_price_relation($ticket_id, $new_price_id);
216
-            $this->_insert_ticket_price_relation($ticket_id, $surcharge_price_id);
217
-            $this->_insert_datetime_ticket_relation($new_datetime_id, $ticket_id);
218
-        }
219
-        $this->get_migration_script()->set_mapping(
220
-            $this->_old_table,
221
-            $old_row['id'],
222
-            $this->_new_ticket_table,
223
-            $tickets_for_old_price
224
-        );
225
-    }
162
+	/**
163
+	 * @throws EE_Error
164
+	 */
165
+	protected function _migrate_old_row($old_row)
166
+	{
167
+		// create the base price
168
+		$new_price_id = $this->_insert_new_price($old_row);
169
+		// create the member discount if there is any
170
+		// commented-out because we may actually NOT be supporting this in 4.1
171
+		//      if($old_row['event_cost'] != $old_row['member_price']){
172
+		//          $member_price_discount_id = $this->_insert_new_member_price($old_row);
173
+		//      }else{
174
+		//          $member_price_discount_id = 0;
175
+		//      }
176
+		// create the surcharge if there is any
177
+		if (floatval($old_row['surcharge']) >= 0.01) {
178
+			$surcharge_price_id = $this->_insert_new_surcharge_price($old_row);
179
+			$this->get_migration_script()->set_mapping(
180
+				$this->_old_table,
181
+				$old_row['id'],
182
+				$this->_new_price_table,
183
+				[$new_price_id, $surcharge_price_id]
184
+			);
185
+		} else {
186
+			$surcharge_price_id = 0;
187
+			$this->get_migration_script()->set_mapping(
188
+				$this->_old_table,
189
+				$old_row['id'],
190
+				$this->_new_price_table,
191
+				[$new_price_id]
192
+			);
193
+		}
194
+		// associate the ticket to all datetimes for event (ie, this ONE ticket grants access to ALL datetimes, not just one of the attendee's choice.
195
+		// if the latter were the case, then we'd create a separate ticket for each datetime and have their
196
+		// association be one-to-one)
197
+		// create ticket
198
+		//      $ticket_id = $this->_insert_new_ticket($old_row);
199
+		//      if($ticket_id){
200
+		//          $this->get_migration_script()->set_mapping($this->_old_table, $old_row['id'], $this->_new_ticket_table, $ticket_id);
201
+		//          //associate to the prices
202
+		//          $this->_insert_ticket_price_relation($ticket_id, $new_price_id);
203
+		//          $this->_insert_ticket_price_relation($ticket_id, $surcharge_price_id);
204
+		//          //associate to datetimes for the event
205
+		//          foreach($this->_get_datetime_ids_for_old_event_id($old_row['event_id']) as $new_datetime_id){
206
+		//              $this->_insert_datetime_ticket_relation($new_datetime_id, $ticket_id);
207
+		//          }
208
+		//      }
209
+		// create a ticket for each old price -old datetime combo
210
+		$tickets_for_old_price = [];
211
+		foreach ($this->_get_datetime_ids_for_old_event_id($old_row['event_id']) as $new_datetime_id) {
212
+			$ticket_id               = $this->_insert_new_ticket($old_row);
213
+			$tickets_for_old_price[] = $ticket_id;
214
+			// associate to old prices
215
+			$this->_insert_ticket_price_relation($ticket_id, $new_price_id);
216
+			$this->_insert_ticket_price_relation($ticket_id, $surcharge_price_id);
217
+			$this->_insert_datetime_ticket_relation($new_datetime_id, $ticket_id);
218
+		}
219
+		$this->get_migration_script()->set_mapping(
220
+			$this->_old_table,
221
+			$old_row['id'],
222
+			$this->_new_ticket_table,
223
+			$tickets_for_old_price
224
+		);
225
+	}
226 226
 
227 227
 
228
-    /**
229
-     * Creates a 4.1 price base type
230
-     *
231
-     * @param array $old_price
232
-     * @return int
233
-     * @global wpdb $wpdb
234
-     */
235
-    private function _insert_new_price(array $old_price): int
236
-    {
237
-        global $wpdb;
238
-        $cols_n_values = [
239
-            'PRT_ID'         => self::price_type_base,
240
-            'PRC_amount'     => floatval($old_price['event_cost']),
241
-            'PRC_name'       => $old_price['price_type'],
242
-            'PRC_is_default' => false,
243
-            'PRC_overrides'  => false,
244
-            'PRC_order'      => 0,
245
-            'PRC_deleted'    => false,
246
-            'PRC_parent'     => null,
228
+	/**
229
+	 * Creates a 4.1 price base type
230
+	 *
231
+	 * @param array $old_price
232
+	 * @return int
233
+	 * @global wpdb $wpdb
234
+	 */
235
+	private function _insert_new_price(array $old_price): int
236
+	{
237
+		global $wpdb;
238
+		$cols_n_values = [
239
+			'PRT_ID'         => self::price_type_base,
240
+			'PRC_amount'     => floatval($old_price['event_cost']),
241
+			'PRC_name'       => $old_price['price_type'],
242
+			'PRC_is_default' => false,
243
+			'PRC_overrides'  => false,
244
+			'PRC_order'      => 0,
245
+			'PRC_deleted'    => false,
246
+			'PRC_parent'     => null,
247 247
 
248
-        ];
249
-        $success       = $wpdb->insert($this->_new_price_table, $cols_n_values, $this->price_data_types);
250
-        if (! $success) {
251
-            $this->add_error(
252
-                $this->get_migration_script()->_create_error_message_for_db_insertion(
253
-                    $this->_old_table,
254
-                    $old_price,
255
-                    $this->_new_price_table,
256
-                    $cols_n_values,
257
-                    $this->price_data_types
258
-                )
259
-            );
260
-            return 0;
261
-        }
262
-        return $wpdb->insert_id;
263
-    }
264
-    /**
265
-     * Creates a 4.1 member price discount
266
-     *
267
-     * @param array $old_price
268
-     * @return int
269
-     * @global wpdb $wpdb
270
-     */
271
-    //  private function _insert_new_member_price($old_price){
272
-    //      $discount_amount = floatval($old_price['event_cost']) - floatval($old_price['member_price']);
273
-    //      global $wpdb;
274
-    //      $cols_n_values = array(
275
-    //          'PRT_ID'=>self::price_type_member_discount,
276
-    //          'PRC_amount'=>$discount_amount,
277
-    //          'PRC_name'=>$old_price['member_price_type'],
278
-    //          'PRC_is_default'=>false,
279
-    //          'PRC_overrides'=>false,
280
-    //          'PRC_order'=>10,
281
-    //          'PRC_deleted'=>false,
282
-    //          'PRC_parent'=>null
283
-    //
284
-    //      );
285
-    //      $data_types = array(
286
-    //          '%d',//PRT_ID
287
-    //          '%f',//PRT_amount
288
-    //          '%s',//PRC_name
289
-    //          '%d',//PRC_is_default
290
-    //          '%d',//PRC_overrides
291
-    //          '%d',//PRC_order
292
-    //          '%d',//PRC_deleted
293
-    //          '%d',//PRC_parent
294
-    //      );
295
-    //      $success = $wpdb->insert($this->_new_price_table,$cols_n_values,$data_types);
296
-    //      if ( ! $success){
297
-    //          $this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_price, $this->_new_price_table, $cols_n_values, $data_types));
298
-    //          return 0;
299
-    //      }
300
-    //      $new_id = $wpdb->insert_id;
301
-    //      return $new_id;
302
-    //  }
303
-    /**
304
-     * Creates a 4.1 member price discount
305
-     *
306
-     * @param array $old_price
307
-     * @return int
308
-     * @global wpdb $wpdb
309
-     */
310
-    private function _insert_new_surcharge_price(array $old_price): int
311
-    {
312
-        if ($old_price['surcharge_type'] == 'flat_rate') {
313
-            $price_type = self::price_type_flat_surcharge;
314
-        } else {
315
-            $price_type = self::price_type_percent_surcharge;
316
-        }
317
-        global $wpdb;
318
-        $cols_n_values = [
319
-            'PRT_ID'         => $price_type,
320
-            'PRC_amount'     => floatval($old_price['surcharge']),
321
-            'PRC_name'       => esc_html__("Surcharge", "event_espresso"),
322
-            'PRC_is_default' => false,
323
-            'PRC_overrides'  => false,
324
-            'PRC_order'      => 20,
325
-            'PRC_deleted'    => false,
326
-            'PRC_parent'     => null,
248
+		];
249
+		$success       = $wpdb->insert($this->_new_price_table, $cols_n_values, $this->price_data_types);
250
+		if (! $success) {
251
+			$this->add_error(
252
+				$this->get_migration_script()->_create_error_message_for_db_insertion(
253
+					$this->_old_table,
254
+					$old_price,
255
+					$this->_new_price_table,
256
+					$cols_n_values,
257
+					$this->price_data_types
258
+				)
259
+			);
260
+			return 0;
261
+		}
262
+		return $wpdb->insert_id;
263
+	}
264
+	/**
265
+	 * Creates a 4.1 member price discount
266
+	 *
267
+	 * @param array $old_price
268
+	 * @return int
269
+	 * @global wpdb $wpdb
270
+	 */
271
+	//  private function _insert_new_member_price($old_price){
272
+	//      $discount_amount = floatval($old_price['event_cost']) - floatval($old_price['member_price']);
273
+	//      global $wpdb;
274
+	//      $cols_n_values = array(
275
+	//          'PRT_ID'=>self::price_type_member_discount,
276
+	//          'PRC_amount'=>$discount_amount,
277
+	//          'PRC_name'=>$old_price['member_price_type'],
278
+	//          'PRC_is_default'=>false,
279
+	//          'PRC_overrides'=>false,
280
+	//          'PRC_order'=>10,
281
+	//          'PRC_deleted'=>false,
282
+	//          'PRC_parent'=>null
283
+	//
284
+	//      );
285
+	//      $data_types = array(
286
+	//          '%d',//PRT_ID
287
+	//          '%f',//PRT_amount
288
+	//          '%s',//PRC_name
289
+	//          '%d',//PRC_is_default
290
+	//          '%d',//PRC_overrides
291
+	//          '%d',//PRC_order
292
+	//          '%d',//PRC_deleted
293
+	//          '%d',//PRC_parent
294
+	//      );
295
+	//      $success = $wpdb->insert($this->_new_price_table,$cols_n_values,$data_types);
296
+	//      if ( ! $success){
297
+	//          $this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_price, $this->_new_price_table, $cols_n_values, $data_types));
298
+	//          return 0;
299
+	//      }
300
+	//      $new_id = $wpdb->insert_id;
301
+	//      return $new_id;
302
+	//  }
303
+	/**
304
+	 * Creates a 4.1 member price discount
305
+	 *
306
+	 * @param array $old_price
307
+	 * @return int
308
+	 * @global wpdb $wpdb
309
+	 */
310
+	private function _insert_new_surcharge_price(array $old_price): int
311
+	{
312
+		if ($old_price['surcharge_type'] == 'flat_rate') {
313
+			$price_type = self::price_type_flat_surcharge;
314
+		} else {
315
+			$price_type = self::price_type_percent_surcharge;
316
+		}
317
+		global $wpdb;
318
+		$cols_n_values = [
319
+			'PRT_ID'         => $price_type,
320
+			'PRC_amount'     => floatval($old_price['surcharge']),
321
+			'PRC_name'       => esc_html__("Surcharge", "event_espresso"),
322
+			'PRC_is_default' => false,
323
+			'PRC_overrides'  => false,
324
+			'PRC_order'      => 20,
325
+			'PRC_deleted'    => false,
326
+			'PRC_parent'     => null,
327 327
 
328
-        ];
329
-        $success       = $wpdb->insert($this->_new_price_table, $cols_n_values, $this->price_data_types);
330
-        if (! $success) {
331
-            $this->add_error(
332
-                $this->get_migration_script()->_create_error_message_for_db_insertion(
333
-                    $this->_old_table,
334
-                    $old_price,
335
-                    $this->_new_price_table,
336
-                    $cols_n_values,
337
-                    $this->price_data_types
338
-                )
339
-            );
340
-            return 0;
341
-        }
342
-        return $wpdb->insert_id;
343
-    }
328
+		];
329
+		$success       = $wpdb->insert($this->_new_price_table, $cols_n_values, $this->price_data_types);
330
+		if (! $success) {
331
+			$this->add_error(
332
+				$this->get_migration_script()->_create_error_message_for_db_insertion(
333
+					$this->_old_table,
334
+					$old_price,
335
+					$this->_new_price_table,
336
+					$cols_n_values,
337
+					$this->price_data_types
338
+				)
339
+			);
340
+			return 0;
341
+		}
342
+		return $wpdb->insert_id;
343
+	}
344 344
 
345 345
 
346
-    /**
347
-     * Inserts a 4.1 ticket based off the 3.1 price, and the price IDs we've already made from the 3.1 price
348
-     *
349
-     * @param array $old_price_row array where keys are columns
350
-     * @return int new ticket id
351
-     */
352
-    private function _insert_new_ticket(array $old_price_row): int
353
-    {
354
-        global $wpdb;
355
-        $event_row = $this->_get_event_row($old_price_row['event_id']);
356
-        if ($old_price_row['surcharge_type'] == 'flat_rate') {
357
-            $final_ticket_price = floatval($old_price_row['event_cost']) + floatval($old_price_row['surcharge']);
358
-        } else {// percent surcharge
359
-            $final_ticket_price =
360
-                floatval($old_price_row['event_cost']) * (1 + floatval($old_price_row['surcharge']) / 100);
361
-        }
362
-        $start_date     =
363
-            $event_row['registration_start'] .
364
-            " " .
365
-            $this->get_migration_script()->convertTimeFromAMPM($event_row['registration_startT']);
366
-        $start_date_utc = $this->get_migration_script()->convert_date_string_to_utc(
367
-            $this,
368
-            $old_price_row,
369
-            $start_date,
370
-            $event_row['timezone_string']
371
-        );
372
-        $end_date       =
373
-            $event_row['registration_end'] .
374
-            " " .
375
-            $this->get_migration_script()->convertTimeFromAMPM($event_row['registration_endT']);
376
-        $end_date_utc   = $this->get_migration_script()->convert_date_string_to_utc(
377
-            $this,
378
-            $old_price_row,
379
-            $end_date,
380
-            $event_row['timezone_string']
381
-        );
382
-        $cols_n_values  = [
383
-            'TTM_ID'          => 0,
384
-            'TKT_name'        => $old_price_row['price_type'],
385
-            'TKT_description' => '',
386
-            'TKT_start_date'  => $start_date_utc,
387
-            'TKT_end_date'    => $end_date_utc,
388
-            'TKT_min'         => 0,
389
-            'TKT_max'         => -1,
390
-            'TKT_price'       => $final_ticket_price,
391
-            'TKT_sold'        => 0,
392
-            // note: this will get calculated as we actually add registrations during the migration
393
-            'TKT_qty'         => -1,
394
-            'TKT_uses'        => 1,
395
-            'TKT_taxable'     => false,
396
-            // so by default, old prices are NOT taxable. This way they don't suddenly have a sudden spike in prices
397
-            'TKT_is_default'  => false,
398
-            'TKT_order'       => $this->_get_ticket_count(),
399
-            'TKT_row'         => 0,
400
-            // doesn't matter because UI reset this on first save anyways
401
-            'TKT_deleted'     => false,
402
-            'TKT_parent'      => 0,
346
+	/**
347
+	 * Inserts a 4.1 ticket based off the 3.1 price, and the price IDs we've already made from the 3.1 price
348
+	 *
349
+	 * @param array $old_price_row array where keys are columns
350
+	 * @return int new ticket id
351
+	 */
352
+	private function _insert_new_ticket(array $old_price_row): int
353
+	{
354
+		global $wpdb;
355
+		$event_row = $this->_get_event_row($old_price_row['event_id']);
356
+		if ($old_price_row['surcharge_type'] == 'flat_rate') {
357
+			$final_ticket_price = floatval($old_price_row['event_cost']) + floatval($old_price_row['surcharge']);
358
+		} else {// percent surcharge
359
+			$final_ticket_price =
360
+				floatval($old_price_row['event_cost']) * (1 + floatval($old_price_row['surcharge']) / 100);
361
+		}
362
+		$start_date     =
363
+			$event_row['registration_start'] .
364
+			" " .
365
+			$this->get_migration_script()->convertTimeFromAMPM($event_row['registration_startT']);
366
+		$start_date_utc = $this->get_migration_script()->convert_date_string_to_utc(
367
+			$this,
368
+			$old_price_row,
369
+			$start_date,
370
+			$event_row['timezone_string']
371
+		);
372
+		$end_date       =
373
+			$event_row['registration_end'] .
374
+			" " .
375
+			$this->get_migration_script()->convertTimeFromAMPM($event_row['registration_endT']);
376
+		$end_date_utc   = $this->get_migration_script()->convert_date_string_to_utc(
377
+			$this,
378
+			$old_price_row,
379
+			$end_date,
380
+			$event_row['timezone_string']
381
+		);
382
+		$cols_n_values  = [
383
+			'TTM_ID'          => 0,
384
+			'TKT_name'        => $old_price_row['price_type'],
385
+			'TKT_description' => '',
386
+			'TKT_start_date'  => $start_date_utc,
387
+			'TKT_end_date'    => $end_date_utc,
388
+			'TKT_min'         => 0,
389
+			'TKT_max'         => -1,
390
+			'TKT_price'       => $final_ticket_price,
391
+			'TKT_sold'        => 0,
392
+			// note: this will get calculated as we actually add registrations during the migration
393
+			'TKT_qty'         => -1,
394
+			'TKT_uses'        => 1,
395
+			'TKT_taxable'     => false,
396
+			// so by default, old prices are NOT taxable. This way they don't suddenly have a sudden spike in prices
397
+			'TKT_is_default'  => false,
398
+			'TKT_order'       => $this->_get_ticket_count(),
399
+			'TKT_row'         => 0,
400
+			// doesn't matter because UI reset this on first save anyways
401
+			'TKT_deleted'     => false,
402
+			'TKT_parent'      => 0,
403 403
 
404
-        ];
405
-        $data_types     = [
406
-            '%d',// TTM_ID
407
-            '%s',// TKT_name
408
-            '%s',// TKT_description
409
-            '%s',// TKT_start_date
410
-            '%s',// TKT_end_date
411
-            '%d',// TKT_min
412
-            '%d',// TKT_max
413
-            '%f',// TKT_price
414
-            '%d',// TKT_sold
415
-            '%d',// TKT_qty
416
-            '%d',// TKT_uses
417
-            '%d',// TKT_taxable
418
-            '%d',// TKT_is_default
419
-            '%d',// TKT_order
420
-            '%d',// TKT_row
421
-            '%d',// TKT_deleted
422
-            '%d',// TKT_parent
423
-        ];
424
-        $success        = $wpdb->insert($this->_new_ticket_table, $cols_n_values, $data_types);
425
-        if (! $success) {
426
-            $this->add_error(
427
-                $this->get_migration_script()->_create_error_message_for_db_insertion(
428
-                    $this->_old_table,
429
-                    $old_price_row,
430
-                    $this->_new_ticket_table,
431
-                    $cols_n_values,
432
-                    $data_types
433
-                )
434
-            );
435
-            return 0;
436
-        }
437
-        return $wpdb->insert_id;
438
-    }
404
+		];
405
+		$data_types     = [
406
+			'%d',// TTM_ID
407
+			'%s',// TKT_name
408
+			'%s',// TKT_description
409
+			'%s',// TKT_start_date
410
+			'%s',// TKT_end_date
411
+			'%d',// TKT_min
412
+			'%d',// TKT_max
413
+			'%f',// TKT_price
414
+			'%d',// TKT_sold
415
+			'%d',// TKT_qty
416
+			'%d',// TKT_uses
417
+			'%d',// TKT_taxable
418
+			'%d',// TKT_is_default
419
+			'%d',// TKT_order
420
+			'%d',// TKT_row
421
+			'%d',// TKT_deleted
422
+			'%d',// TKT_parent
423
+		];
424
+		$success        = $wpdb->insert($this->_new_ticket_table, $cols_n_values, $data_types);
425
+		if (! $success) {
426
+			$this->add_error(
427
+				$this->get_migration_script()->_create_error_message_for_db_insertion(
428
+					$this->_old_table,
429
+					$old_price_row,
430
+					$this->_new_ticket_table,
431
+					$cols_n_values,
432
+					$data_types
433
+				)
434
+			);
435
+			return 0;
436
+		}
437
+		return $wpdb->insert_id;
438
+	}
439 439
 
440 440
 
441
-    /**
442
-     * Adds a join between a ticket and a price
443
-     *
444
-     * @param int   $new_ticket_id
445
-     * @param int   $new_price_id
446
-     * @return void
447
-     * @global wpdb $wpdb
448
-     */
449
-    private function _insert_ticket_price_relation(int $new_ticket_id, int $new_price_id): void
450
-    {
451
-        global $wpdb;
452
-        $cols_n_values = [
453
-            'TKT_ID' => $new_ticket_id,
454
-            'PRC_ID' => $new_price_id,
455
-        ];
456
-        $data_types    = [
457
-            '%d',// TKT_ID
458
-            '%d',// PRC_ID
459
-        ];
460
-        $success       = $wpdb->insert($this->_new_ticket_price_table, $cols_n_values, $data_types);
461
-        if (! $success) {
462
-            $this->add_error(
463
-                $this->get_migration_script()->_create_error_message_for_db_insertion(
464
-                    $this->_old_table,
465
-                    ['ticket id' => $new_ticket_id, 'price id' => $new_price_id],
466
-                    $this->_new_ticket_price_table,
467
-                    $cols_n_values,
468
-                    $data_types
469
-                )
470
-            );
471
-        }
472
-    }
441
+	/**
442
+	 * Adds a join between a ticket and a price
443
+	 *
444
+	 * @param int   $new_ticket_id
445
+	 * @param int   $new_price_id
446
+	 * @return void
447
+	 * @global wpdb $wpdb
448
+	 */
449
+	private function _insert_ticket_price_relation(int $new_ticket_id, int $new_price_id): void
450
+	{
451
+		global $wpdb;
452
+		$cols_n_values = [
453
+			'TKT_ID' => $new_ticket_id,
454
+			'PRC_ID' => $new_price_id,
455
+		];
456
+		$data_types    = [
457
+			'%d',// TKT_ID
458
+			'%d',// PRC_ID
459
+		];
460
+		$success       = $wpdb->insert($this->_new_ticket_price_table, $cols_n_values, $data_types);
461
+		if (! $success) {
462
+			$this->add_error(
463
+				$this->get_migration_script()->_create_error_message_for_db_insertion(
464
+					$this->_old_table,
465
+					['ticket id' => $new_ticket_id, 'price id' => $new_price_id],
466
+					$this->_new_ticket_price_table,
467
+					$cols_n_values,
468
+					$data_types
469
+				)
470
+			);
471
+		}
472
+	}
473 473
 
474 474
 
475
-    /**
476
-     * Adds a join between a ticket and a datetime
477
-     *
478
-     * @param int   $new_datetime_id
479
-     * @param int   $new_ticket_id
480
-     * @return void
481
-     * @global wpdb $wpdb
482
-     */
483
-    private function _insert_datetime_ticket_relation(int $new_datetime_id, int $new_ticket_id)
484
-    {
485
-        global $wpdb;
486
-        $cols_n_values = [
487
-            'TKT_ID' => $new_ticket_id,
488
-            'DTT_ID' => $new_datetime_id,
489
-        ];
490
-        $data_types    = [
491
-            '%d',// TKT_ID
492
-            '%d',// DTT_ID
493
-        ];
494
-        $success       = $wpdb->insert($this->_new_datetime_ticket_table, $cols_n_values, $data_types);
495
-        if (! $success) {
496
-            $this->add_error(
497
-                $this->get_migration_script()->_create_error_message_for_db_insertion(
498
-                    $this->_old_table,
499
-                    ['ticket id' => $new_ticket_id, 'datetime id' => $new_datetime_id],
500
-                    $this->_new_datetime_ticket_table,
501
-                    $cols_n_values,
502
-                    $data_types
503
-                )
504
-            );
505
-        }
506
-    }
475
+	/**
476
+	 * Adds a join between a ticket and a datetime
477
+	 *
478
+	 * @param int   $new_datetime_id
479
+	 * @param int   $new_ticket_id
480
+	 * @return void
481
+	 * @global wpdb $wpdb
482
+	 */
483
+	private function _insert_datetime_ticket_relation(int $new_datetime_id, int $new_ticket_id)
484
+	{
485
+		global $wpdb;
486
+		$cols_n_values = [
487
+			'TKT_ID' => $new_ticket_id,
488
+			'DTT_ID' => $new_datetime_id,
489
+		];
490
+		$data_types    = [
491
+			'%d',// TKT_ID
492
+			'%d',// DTT_ID
493
+		];
494
+		$success       = $wpdb->insert($this->_new_datetime_ticket_table, $cols_n_values, $data_types);
495
+		if (! $success) {
496
+			$this->add_error(
497
+				$this->get_migration_script()->_create_error_message_for_db_insertion(
498
+					$this->_old_table,
499
+					['ticket id' => $new_ticket_id, 'datetime id' => $new_datetime_id],
500
+					$this->_new_datetime_ticket_table,
501
+					$cols_n_values,
502
+					$data_types
503
+				)
504
+			);
505
+		}
506
+	}
507 507
 
508 508
 
509
-    /**
510
-     * Simply gets the 3.1 event row data
511
-     *
512
-     * @param int   $event_id
513
-     * @return array
514
-     * @global wpdb $wpdb
515
-     */
516
-    private function _get_event_row(int $event_id): array
517
-    {
518
-        global $wpdb;
519
-        $old_event_table = $wpdb->prefix . "events_detail";
520
-        return $wpdb->get_row($wpdb->prepare("SELECT * FROM $old_event_table WHERE id=%d", $event_id), ARRAY_A);
521
-    }
509
+	/**
510
+	 * Simply gets the 3.1 event row data
511
+	 *
512
+	 * @param int   $event_id
513
+	 * @return array
514
+	 * @global wpdb $wpdb
515
+	 */
516
+	private function _get_event_row(int $event_id): array
517
+	{
518
+		global $wpdb;
519
+		$old_event_table = $wpdb->prefix . "events_detail";
520
+		return $wpdb->get_row($wpdb->prepare("SELECT * FROM $old_event_table WHERE id=%d", $event_id), ARRAY_A);
521
+	}
522 522
 
523 523
 
524
-    /**
525
-     * Gets a higher ticket count than last time it was called (and is persisted between HTTP requests).
526
-     * Yes we COULD run a query joining events->datetimes->ticket_datetimes->tickets, but this should work fine too
527
-     *
528
-     * @return int
529
-     */
530
-    private function _get_ticket_count(): int
531
-    {
532
-        return $this->_ticket_count++;
533
-    }
524
+	/**
525
+	 * Gets a higher ticket count than last time it was called (and is persisted between HTTP requests).
526
+	 * Yes we COULD run a query joining events->datetimes->ticket_datetimes->tickets, but this should work fine too
527
+	 *
528
+	 * @return int
529
+	 */
530
+	private function _get_ticket_count(): int
531
+	{
532
+		return $this->_ticket_count++;
533
+	}
534 534
 
535 535
 
536
-    /**
537
-     * Using the 3.1 event id, gets the 4.1 datetimes for it
538
-     *
539
-     * @param int $old_event_id
540
-     * @return array where values are datetime ids
541
-     * @throws EE_Error
542
-     */
543
-    private function _get_datetime_ids_for_old_event_id(int $old_event_id): array
544
-    {
545
-        global $wpdb;
546
-        $new_cpt_id = $this->get_migration_script()->get_mapping_new_pk(
547
-            $wpdb->prefix . "events_detail",
548
-            $old_event_id,
549
-            $wpdb->posts
550
-        );
551
-        return $wpdb->get_col(
552
-            $wpdb->prepare(
553
-                "SELECT DTT_ID FROM {$wpdb->prefix}esp_datetime WHERE EVT_ID=%d",
554
-                $new_cpt_id
555
-            )
556
-        );
557
-    }
536
+	/**
537
+	 * Using the 3.1 event id, gets the 4.1 datetimes for it
538
+	 *
539
+	 * @param int $old_event_id
540
+	 * @return array where values are datetime ids
541
+	 * @throws EE_Error
542
+	 */
543
+	private function _get_datetime_ids_for_old_event_id(int $old_event_id): array
544
+	{
545
+		global $wpdb;
546
+		$new_cpt_id = $this->get_migration_script()->get_mapping_new_pk(
547
+			$wpdb->prefix . "events_detail",
548
+			$old_event_id,
549
+			$wpdb->posts
550
+		);
551
+		return $wpdb->get_col(
552
+			$wpdb->prepare(
553
+				"SELECT DTT_ID FROM {$wpdb->prefix}esp_datetime WHERE EVT_ID=%d",
554
+				$new_cpt_id
555
+			)
556
+		);
557
+	}
558 558
 }
559 559
 // @todo: tell users that in 3.1 the limit was on registration PER event,in 4.1 it's limit PER TICKET... SO, if they sell 2 different types of tickets
560 560
 //
Please login to merge, or discard this patch.
data_migration_scripts/4_1_0_stages/EE_DMS_4_1_0_org_options.dmsstage.php 1 patch
Indentation   +305 added lines, -305 removed lines patch added patch discarded remove patch
@@ -89,322 +89,322 @@
 block discarded – undo
89 89
  */
90 90
 class EE_DMS_4_1_0_org_options extends EE_Data_Migration_Script_Stage
91 91
 {
92
-    public function __construct()
93
-    {
94
-        $this->_pretty_name                        = esc_html__("Organization Options/Config", "event_espresso");
95
-        $this->_org_options_we_know_how_to_migrate = apply_filters(
96
-            'FHEE__EE_DMS_4_1_0_org_options__org_options_we_know_how_to_migrate',
97
-            $this->_org_options_we_know_how_to_migrate
98
-        );
99
-        parent::__construct();
100
-    }
92
+	public function __construct()
93
+	{
94
+		$this->_pretty_name                        = esc_html__("Organization Options/Config", "event_espresso");
95
+		$this->_org_options_we_know_how_to_migrate = apply_filters(
96
+			'FHEE__EE_DMS_4_1_0_org_options__org_options_we_know_how_to_migrate',
97
+			$this->_org_options_we_know_how_to_migrate
98
+		);
99
+		parent::__construct();
100
+	}
101 101
 
102 102
 
103
-    public function _migration_step($num_items_to_migrate = 50)
104
-    {
105
-        $items_actually_migrated = 0;
106
-        $old_org_options         = get_option('events_organization_settings');
107
-        foreach ($this->_org_options_we_know_how_to_migrate as $option_name) {
108
-            // only bother migrating if there's a setting to migrate. Otherwise we'll just use the default
109
-            if (isset($old_org_options[ $option_name ])) {
110
-                $this->_handle_org_option($option_name, $old_org_options[ $option_name ]);
111
-            }
112
-            if ($option_name == 'surcharge') {
113
-                $this->_insert_new_global_surcharge_price($old_org_options);
114
-            }
115
-            $items_actually_migrated++;
116
-        }
103
+	public function _migration_step($num_items_to_migrate = 50)
104
+	{
105
+		$items_actually_migrated = 0;
106
+		$old_org_options         = get_option('events_organization_settings');
107
+		foreach ($this->_org_options_we_know_how_to_migrate as $option_name) {
108
+			// only bother migrating if there's a setting to migrate. Otherwise we'll just use the default
109
+			if (isset($old_org_options[ $option_name ])) {
110
+				$this->_handle_org_option($option_name, $old_org_options[ $option_name ]);
111
+			}
112
+			if ($option_name == 'surcharge') {
113
+				$this->_insert_new_global_surcharge_price($old_org_options);
114
+			}
115
+			$items_actually_migrated++;
116
+		}
117 117
 
118
-        $success = EE_Config::instance()->update_espresso_config();
119
-        if (! $success) {
120
-            $this->add_error(
121
-                sprintf(
122
-                    esc_html__('Could not save EE Config during org options stage. Reason: %s', 'event_espresso'),
123
-                    EE_Error::get_notices(false)
124
-                )
125
-            );
126
-            EE_Error::overwrite_errors();
127
-        }
128
-        EE_Network_Config::instance()->update_config(false, false);
129
-        if ($this->count_records_migrated() + $items_actually_migrated >= $this->count_records_to_migrate()) {
130
-            // we may have added new pages and this might be necessary
131
-            flush_rewrite_rules();
132
-            $this->set_completed();
133
-        }
134
-        return $items_actually_migrated;
135
-    }
118
+		$success = EE_Config::instance()->update_espresso_config();
119
+		if (! $success) {
120
+			$this->add_error(
121
+				sprintf(
122
+					esc_html__('Could not save EE Config during org options stage. Reason: %s', 'event_espresso'),
123
+					EE_Error::get_notices(false)
124
+				)
125
+			);
126
+			EE_Error::overwrite_errors();
127
+		}
128
+		EE_Network_Config::instance()->update_config(false, false);
129
+		if ($this->count_records_migrated() + $items_actually_migrated >= $this->count_records_to_migrate()) {
130
+			// we may have added new pages and this might be necessary
131
+			flush_rewrite_rules();
132
+			$this->set_completed();
133
+		}
134
+		return $items_actually_migrated;
135
+	}
136 136
 
137 137
 
138
-    public function _count_records_to_migrate(): int
139
-    {
140
-        return (int) count($this->_org_options_we_know_how_to_migrate);
141
-    }
138
+	public function _count_records_to_migrate(): int
139
+	{
140
+		return (int) count($this->_org_options_we_know_how_to_migrate);
141
+	}
142 142
 
143 143
 
144
-    private function _handle_org_option($option_name, $value)
145
-    {
146
-        $c  = EE_Config::instance();
147
-        $cn = EE_Network_Config::instance();
148
-        switch ($option_name) {
149
-            case 'organization':
150
-                $c->organization->name = $value;
151
-                break;
152
-            case 'organization_street1':
153
-                $c->organization->address_1 = $value;
154
-                break;
155
-            case 'organization_street2':
156
-                $c->organization->address_2 = $value;
157
-                break;
158
-            case 'organization_city':
159
-                $c->organization->city = $value;
160
-                break;
161
-            case 'organization_state':
162
-                try {
163
-                    $state                   = $this->get_migration_script()->get_or_create_state($value);
164
-                    $state_id                = $state['STA_ID'];
165
-                    $c->organization->STA_ID = $state_id;
166
-                } catch (EE_Error $e) {
167
-                }
168
-                break;
169
-            case 'organization_zip':
170
-                $c->organization->zip = $value;
171
-                break;
172
-            case 'contact_email':
173
-                $c->organization->email = $value;
174
-                break;
175
-            case 'default_payment_status':
176
-                $c->registration->default_STS_ID =
177
-                    $this->get_migration_script()->convert_3_1_payment_status_to_4_1_STS_ID($value);
178
-                break;
179
-            case 'organization_country':
180
-                $iso                      = $this->get_migration_script()->get_iso_from_3_1_country_id($value);
181
-                $c->organization->CNT_ISO = $iso;
182
-                $country_row              = $this->get_migration_script()->get_or_create_country($iso);
183
-                if (! $country_row) {
184
-                    $this->add_error(
185
-                        sprintf(
186
-                            esc_html__(
187
-                                "Could not set country's currency config because no country exists for ISO %s",
188
-                                "event_espresso"
189
-                            ),
190
-                            $iso
191
-                        )
192
-                    );
193
-                }
194
-                // can't use EE_Currency_Config's handy constructor because the models are off-limits right now (and it uses them)
195
-                $c->currency->code    = $country_row['CNT_cur_code'];             // currency code: USD, CAD, EUR
196
-                $c->currency->name    = $country_row['CNT_cur_single'];           // Dollar
197
-                $c->currency->plural  = $country_row['CNT_cur_plural'];           // Dollars
198
-                $c->currency->sign    = $country_row['CNT_cur_sign'];             // currency sign: $
199
-                $c->currency->sign_b4 = filter_var(
200
-                    $country_row['CNT_cur_sign_b4'],
201
-                    FILTER_VALIDATE_BOOLEAN
202
-                );                                                                // currency sign before or after: $TRUE  or  FALSE$
203
-                $c->currency->dec_plc = (int) $country_row['CNT_cur_dec_plc'];    // decimal places: 2 = 0.00  3 = 0.000
204
-                $c->currency->dec_mrk =
205
-                    $country_row['CNT_cur_dec_mrk'];                              // decimal mark: (comma) ',' = 0,01   or (decimal) '.' = 0.01
206
-                $c->currency->thsnds  = $country_row['CNT_cur_thsnds'];
207
-                break;  // thousands separator: (comma) ',' = 1,000   or (decimal) '.' = 1.000
208
-            //            $c->currency = new EE_Currency_Config($c->organization->CNT_ISO);break;
209
-            //        case 'currency_symbol': ignore the currency symbol. we'll just go by their country.
210
-            //            $c->currency->sign = $value;break;
211
-            case 'show_pending_payment_options':
212
-                $c->registration->show_pending_payment_options = ($value == 'Y');
213
-                break;
214
-            case 'display_address_in_regform':
215
-                $c->template_settings->display_address_in_regform = ($value == 'Y');
216
-                break;
217
-            case 'default_logo_url':
218
-                $c->organization->logo_url = $value;
219
-                break;
220
-            case 'event_page_id':
221
-                // also, find that post, and changes the shortcode in it from ESPRESSO_PAYMENTS
222
-                // to ESPRESSO_THANK_YOU
223
-                $reg_page_post               = get_post($value);
224
-                $reg_page_post->post_content = str_replace(
225
-                    "[ESPRESSO_EVENTS]",
226
-                    "[ESPRESSO_CHECKOUT]",
227
-                    $reg_page_post->post_content
228
-                );
229
-                wp_update_post($reg_page_post);
230
-                $c->core->reg_page_id = $value;
231
-                break;
232
-            case 'return_url':
233
-                // also, find that post, and changes the shortcode in it from ESPRESSO_PAYMENTS
234
-                // to ESPRESSO_THANK_YOU
235
-                $thank_you_page_post               = get_post($value);
236
-                $thank_you_page_post->post_content = str_replace(
237
-                    "[ESPRESSO_PAYMENTS]",
238
-                    "[ESPRESSO_THANK_YOU]",
239
-                    $thank_you_page_post->post_content
240
-                );
241
-                wp_update_post($thank_you_page_post);
242
-                $c->core->thank_you_page_id = $value;
243
-                break;
244
-            case 'cancel_return':
245
-                $c->core->cancel_page_id = $value;
144
+	private function _handle_org_option($option_name, $value)
145
+	{
146
+		$c  = EE_Config::instance();
147
+		$cn = EE_Network_Config::instance();
148
+		switch ($option_name) {
149
+			case 'organization':
150
+				$c->organization->name = $value;
151
+				break;
152
+			case 'organization_street1':
153
+				$c->organization->address_1 = $value;
154
+				break;
155
+			case 'organization_street2':
156
+				$c->organization->address_2 = $value;
157
+				break;
158
+			case 'organization_city':
159
+				$c->organization->city = $value;
160
+				break;
161
+			case 'organization_state':
162
+				try {
163
+					$state                   = $this->get_migration_script()->get_or_create_state($value);
164
+					$state_id                = $state['STA_ID'];
165
+					$c->organization->STA_ID = $state_id;
166
+				} catch (EE_Error $e) {
167
+				}
168
+				break;
169
+			case 'organization_zip':
170
+				$c->organization->zip = $value;
171
+				break;
172
+			case 'contact_email':
173
+				$c->organization->email = $value;
174
+				break;
175
+			case 'default_payment_status':
176
+				$c->registration->default_STS_ID =
177
+					$this->get_migration_script()->convert_3_1_payment_status_to_4_1_STS_ID($value);
178
+				break;
179
+			case 'organization_country':
180
+				$iso                      = $this->get_migration_script()->get_iso_from_3_1_country_id($value);
181
+				$c->organization->CNT_ISO = $iso;
182
+				$country_row              = $this->get_migration_script()->get_or_create_country($iso);
183
+				if (! $country_row) {
184
+					$this->add_error(
185
+						sprintf(
186
+							esc_html__(
187
+								"Could not set country's currency config because no country exists for ISO %s",
188
+								"event_espresso"
189
+							),
190
+							$iso
191
+						)
192
+					);
193
+				}
194
+				// can't use EE_Currency_Config's handy constructor because the models are off-limits right now (and it uses them)
195
+				$c->currency->code    = $country_row['CNT_cur_code'];             // currency code: USD, CAD, EUR
196
+				$c->currency->name    = $country_row['CNT_cur_single'];           // Dollar
197
+				$c->currency->plural  = $country_row['CNT_cur_plural'];           // Dollars
198
+				$c->currency->sign    = $country_row['CNT_cur_sign'];             // currency sign: $
199
+				$c->currency->sign_b4 = filter_var(
200
+					$country_row['CNT_cur_sign_b4'],
201
+					FILTER_VALIDATE_BOOLEAN
202
+				);                                                                // currency sign before or after: $TRUE  or  FALSE$
203
+				$c->currency->dec_plc = (int) $country_row['CNT_cur_dec_plc'];    // decimal places: 2 = 0.00  3 = 0.000
204
+				$c->currency->dec_mrk =
205
+					$country_row['CNT_cur_dec_mrk'];                              // decimal mark: (comma) ',' = 0,01   or (decimal) '.' = 0.01
206
+				$c->currency->thsnds  = $country_row['CNT_cur_thsnds'];
207
+				break;  // thousands separator: (comma) ',' = 1,000   or (decimal) '.' = 1.000
208
+			//            $c->currency = new EE_Currency_Config($c->organization->CNT_ISO);break;
209
+			//        case 'currency_symbol': ignore the currency symbol. we'll just go by their country.
210
+			//            $c->currency->sign = $value;break;
211
+			case 'show_pending_payment_options':
212
+				$c->registration->show_pending_payment_options = ($value == 'Y');
213
+				break;
214
+			case 'display_address_in_regform':
215
+				$c->template_settings->display_address_in_regform = ($value == 'Y');
216
+				break;
217
+			case 'default_logo_url':
218
+				$c->organization->logo_url = $value;
219
+				break;
220
+			case 'event_page_id':
221
+				// also, find that post, and changes the shortcode in it from ESPRESSO_PAYMENTS
222
+				// to ESPRESSO_THANK_YOU
223
+				$reg_page_post               = get_post($value);
224
+				$reg_page_post->post_content = str_replace(
225
+					"[ESPRESSO_EVENTS]",
226
+					"[ESPRESSO_CHECKOUT]",
227
+					$reg_page_post->post_content
228
+				);
229
+				wp_update_post($reg_page_post);
230
+				$c->core->reg_page_id = $value;
231
+				break;
232
+			case 'return_url':
233
+				// also, find that post, and changes the shortcode in it from ESPRESSO_PAYMENTS
234
+				// to ESPRESSO_THANK_YOU
235
+				$thank_you_page_post               = get_post($value);
236
+				$thank_you_page_post->post_content = str_replace(
237
+					"[ESPRESSO_PAYMENTS]",
238
+					"[ESPRESSO_THANK_YOU]",
239
+					$thank_you_page_post->post_content
240
+				);
241
+				wp_update_post($thank_you_page_post);
242
+				$c->core->thank_you_page_id = $value;
243
+				break;
244
+			case 'cancel_return':
245
+				$c->core->cancel_page_id = $value;
246 246
 
247
-                break;
248
-            case 'notify_url':
249
-                $c->core->txn_page_id = $value;
250
-                break;
251
-            case 'use_captcha':
252
-                $c->registration->use_captcha = ($value == 'Y');
253
-                break;
254
-            case 'recaptcha_publickey':
255
-                $c->registration->recaptcha_publickey = $value;
256
-                break;
257
-            case 'recaptcha_privatekey':
258
-                $c->registration->recaptcha_privatekey = $value;
259
-                break;
260
-            case 'recaptcha_theme':
261
-                $c->registration->recaptcha_theme = $value;
262
-                break;
263
-            case 'recaptcha_width':
264
-                $c->registration->recaptcha_width = $value;
265
-                break;
266
-            case 'recaptcha_language':
267
-                $c->registration->recaptcha_language = $value;
268
-                break;
269
-            case 'espresso_dashboard_widget':
270
-                $c->admin->use_dashboard_widget = ($value == 'Y');
271
-                break;
272
-            case 'use_personnel_manager':
273
-                $c->admin->use_personnel_manager = ($value == 'Y');
274
-                break;
275
-            case 'use_event_timezones':
276
-                $c->admin->use_event_timezones = ($value == 'Y');
277
-                break;
278
-            case 'affiliate_id':
279
-                $c->admin->affiliate_id = $value;
280
-                break;
281
-            case 'site_license_key':
282
-                $cn->core->site_license_key = $value;
283
-                break;
284
-            default:
285
-                do_action('AHEE__EE_DMS_4_1_0__handle_org_option', $option_name, $value);
286
-        }
287
-    }
247
+				break;
248
+			case 'notify_url':
249
+				$c->core->txn_page_id = $value;
250
+				break;
251
+			case 'use_captcha':
252
+				$c->registration->use_captcha = ($value == 'Y');
253
+				break;
254
+			case 'recaptcha_publickey':
255
+				$c->registration->recaptcha_publickey = $value;
256
+				break;
257
+			case 'recaptcha_privatekey':
258
+				$c->registration->recaptcha_privatekey = $value;
259
+				break;
260
+			case 'recaptcha_theme':
261
+				$c->registration->recaptcha_theme = $value;
262
+				break;
263
+			case 'recaptcha_width':
264
+				$c->registration->recaptcha_width = $value;
265
+				break;
266
+			case 'recaptcha_language':
267
+				$c->registration->recaptcha_language = $value;
268
+				break;
269
+			case 'espresso_dashboard_widget':
270
+				$c->admin->use_dashboard_widget = ($value == 'Y');
271
+				break;
272
+			case 'use_personnel_manager':
273
+				$c->admin->use_personnel_manager = ($value == 'Y');
274
+				break;
275
+			case 'use_event_timezones':
276
+				$c->admin->use_event_timezones = ($value == 'Y');
277
+				break;
278
+			case 'affiliate_id':
279
+				$c->admin->affiliate_id = $value;
280
+				break;
281
+			case 'site_license_key':
282
+				$cn->core->site_license_key = $value;
283
+				break;
284
+			default:
285
+				do_action('AHEE__EE_DMS_4_1_0__handle_org_option', $option_name, $value);
286
+		}
287
+	}
288 288
 
289 289
 
290
-    /**
291
-     * Creates a 4.1 member price discount
292
-     *
293
-     * @param array $org_options
294
-     * @return void
295
-     * @global wpdb $wpdb
296
-     */
297
-    private function _insert_new_global_surcharge_price(array $org_options): void
298
-    {
299
-        $amount = (float) $org_options['surcharge'];
300
-        // dont create a price if the surcharge is 0
301
-        if ($amount <= .01) {
302
-            return;
303
-        }
304
-        if ($org_options['surcharge_type'] == 'flat_rate') {
305
-            $price_type = EE_DMS_4_1_0_prices::price_type_flat_surcharge;
306
-        } else {
307
-            $price_type = EE_DMS_4_1_0_prices::price_type_percent_surcharge;
308
-        }
309
-        global $wpdb;
310
-        $cols_n_values = [
311
-            'PRT_ID'         => $price_type,
312
-            'PRC_amount'     => $amount,
313
-            'PRC_name'       => $org_options['surcharge_text'],
314
-            'PRC_is_default' => true,
315
-            'PRC_overrides'  => false,
316
-            'PRC_order'      => 100,
317
-            'PRC_deleted'    => false,
318
-            'PRC_parent'     => null,
290
+	/**
291
+	 * Creates a 4.1 member price discount
292
+	 *
293
+	 * @param array $org_options
294
+	 * @return void
295
+	 * @global wpdb $wpdb
296
+	 */
297
+	private function _insert_new_global_surcharge_price(array $org_options): void
298
+	{
299
+		$amount = (float) $org_options['surcharge'];
300
+		// dont create a price if the surcharge is 0
301
+		if ($amount <= .01) {
302
+			return;
303
+		}
304
+		if ($org_options['surcharge_type'] == 'flat_rate') {
305
+			$price_type = EE_DMS_4_1_0_prices::price_type_flat_surcharge;
306
+		} else {
307
+			$price_type = EE_DMS_4_1_0_prices::price_type_percent_surcharge;
308
+		}
309
+		global $wpdb;
310
+		$cols_n_values = [
311
+			'PRT_ID'         => $price_type,
312
+			'PRC_amount'     => $amount,
313
+			'PRC_name'       => $org_options['surcharge_text'],
314
+			'PRC_is_default' => true,
315
+			'PRC_overrides'  => false,
316
+			'PRC_order'      => 100,
317
+			'PRC_deleted'    => false,
318
+			'PRC_parent'     => null,
319 319
 
320
-        ];
321
-        $data_types    = [
322
-            '%d',// PRT_ID
323
-            '%f',// PRT_amount
324
-            '%s',// PRC_name
325
-            '%d',// PRC_is_default
326
-            '%d',// PRC_overrides
327
-            '%d',// PRC_order
328
-            '%d',// PRC_deleted
329
-            '%d',// PRC_parent
330
-        ];
331
-        $price_table   = $wpdb->prefix . "esp_price";
332
-        $success       = $wpdb->insert($price_table, $cols_n_values, $data_types);
333
-        if (! $success) {
334
-            $this->add_error(
335
-                $this->get_migration_script()->_create_error_message_for_db_insertion(
336
-                    'org_options',
337
-                    [
338
-                        'surcharge'      => $org_options['surcharge'],
339
-                        'surcharge_type' => $org_options['surcharge_type'],
340
-                        'surcharge_text' => $org_options['surcharge_text'],
341
-                    ],
342
-                    $price_table,
343
-                    $cols_n_values,
344
-                    $data_types
345
-                )
346
-            );
347
-        }
348
-    }
320
+		];
321
+		$data_types    = [
322
+			'%d',// PRT_ID
323
+			'%f',// PRT_amount
324
+			'%s',// PRC_name
325
+			'%d',// PRC_is_default
326
+			'%d',// PRC_overrides
327
+			'%d',// PRC_order
328
+			'%d',// PRC_deleted
329
+			'%d',// PRC_parent
330
+		];
331
+		$price_table   = $wpdb->prefix . "esp_price";
332
+		$success       = $wpdb->insert($price_table, $cols_n_values, $data_types);
333
+		if (! $success) {
334
+			$this->add_error(
335
+				$this->get_migration_script()->_create_error_message_for_db_insertion(
336
+					'org_options',
337
+					[
338
+						'surcharge'      => $org_options['surcharge'],
339
+						'surcharge_type' => $org_options['surcharge_type'],
340
+						'surcharge_text' => $org_options['surcharge_text'],
341
+					],
342
+					$price_table,
343
+					$cols_n_values,
344
+					$data_types
345
+				)
346
+			);
347
+		}
348
+	}
349 349
 
350 350
 
351
-    protected $_org_options_we_know_how_to_migrate = [
352
-        'organization',
353
-        'organization_street1',
354
-        'organization_street2',
355
-        'organization_city',
356
-        'organization_state',
357
-        'organization_zip',
358
-        'contact_email',
359
-        'default_mail',
360
-        'payment_subject',
361
-        'payment_message',
362
-        'message',
363
-        'default_payment_status',
364
-        'surcharge',// unused?
365
-        'country_id',// unused?
366
-        'organization_country',
367
-        //    'currency_symbol',
368
-        'expire_on_registration_end',
369
-        'email_before_payment',
370
-        'email_fancy_headers',
371
-        'enable_default_style',
372
-        'event_ssl_active',
373
-        'selected_style',
374
-        'show_pending_payment_options',
375
-        'show_reg_footer',
376
-        'skip_confirmation_page',
377
-        'allow_mer_discounts',// no equiv
378
-        'allow_mer_vouchers',// no equiv
379
-        'display_short_description_in_event_list',
380
-        'display_description_on_multi_reg_page',
381
-        'display_address_in_event_list',
382
-        'display_address_in_regform',
383
-        'use_custom_post_types',// no equiv
384
-        'display_ical_download',
385
-        'display_featured_image',
386
-        'themeroller',
387
-        'default_logo_url',
388
-        'event_page_id',
389
-        'return_url',
390
-        'cancel_return',
391
-        'notify_url',
392
-        'events_in_dashboard',
393
-        'use_captcha',
394
-        'recaptcha_publickey',
395
-        'recaptcha_privatekey',
396
-        'recaptcha_theme',
397
-        'recaptcha_width',
398
-        'recaptcha_language',
399
-        'espresso_dashboard_widget',
400
-        'time_reg_limit',
401
-        //    'use_attendee_pre_approval', removed in 4.1- instead this is factored into the default reg status
402
-        'use_personnel_manager',// no equiv
403
-        'use_event_timezones',
404
-        'full_logging',
405
-        'surcharge_type',// unused
406
-        'surcharge_text',// unused
407
-        'affiliate_id',
408
-        'site_license_key',
409
-    ];
351
+	protected $_org_options_we_know_how_to_migrate = [
352
+		'organization',
353
+		'organization_street1',
354
+		'organization_street2',
355
+		'organization_city',
356
+		'organization_state',
357
+		'organization_zip',
358
+		'contact_email',
359
+		'default_mail',
360
+		'payment_subject',
361
+		'payment_message',
362
+		'message',
363
+		'default_payment_status',
364
+		'surcharge',// unused?
365
+		'country_id',// unused?
366
+		'organization_country',
367
+		//    'currency_symbol',
368
+		'expire_on_registration_end',
369
+		'email_before_payment',
370
+		'email_fancy_headers',
371
+		'enable_default_style',
372
+		'event_ssl_active',
373
+		'selected_style',
374
+		'show_pending_payment_options',
375
+		'show_reg_footer',
376
+		'skip_confirmation_page',
377
+		'allow_mer_discounts',// no equiv
378
+		'allow_mer_vouchers',// no equiv
379
+		'display_short_description_in_event_list',
380
+		'display_description_on_multi_reg_page',
381
+		'display_address_in_event_list',
382
+		'display_address_in_regform',
383
+		'use_custom_post_types',// no equiv
384
+		'display_ical_download',
385
+		'display_featured_image',
386
+		'themeroller',
387
+		'default_logo_url',
388
+		'event_page_id',
389
+		'return_url',
390
+		'cancel_return',
391
+		'notify_url',
392
+		'events_in_dashboard',
393
+		'use_captcha',
394
+		'recaptcha_publickey',
395
+		'recaptcha_privatekey',
396
+		'recaptcha_theme',
397
+		'recaptcha_width',
398
+		'recaptcha_language',
399
+		'espresso_dashboard_widget',
400
+		'time_reg_limit',
401
+		//    'use_attendee_pre_approval', removed in 4.1- instead this is factored into the default reg status
402
+		'use_personnel_manager',// no equiv
403
+		'use_event_timezones',
404
+		'full_logging',
405
+		'surcharge_type',// unused
406
+		'surcharge_text',// unused
407
+		'affiliate_id',
408
+		'site_license_key',
409
+	];
410 410
 }
Please login to merge, or discard this patch.