Completed
Branch BUG/fixed-event-taxonomy-slugs (b1b03d)
by
unknown
53:27 queued 39:47
created
core/admin/EE_Help_Tour.core.php 3 patches
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -96,7 +96,7 @@
 block discarded – undo
96 96
      *
97 97
      * @access public
98 98
      * @param boolean $caf used to indicate if this tour is happening on caf install or not.
99
-     * @return void
99
+     * @return EE_Help_Tour
100 100
      */
101 101
     public function __construct($caf = false)
102 102
     {
Please login to merge, or discard this patch.
Indentation   +264 added lines, -264 removed lines patch added patch discarded remove patch
@@ -15,268 +15,268 @@
 block discarded – undo
15 15
 abstract class EE_Help_Tour extends EE_Base
16 16
 {
17 17
 
18
-    /**
19
-     * This is the label for the tour. It is used when regenerating restart buttons for the tour. Set this in the
20
-     * constructor of the child class.
21
-     *
22
-     * @access protected
23
-     * @var string
24
-     */
25
-    protected $_label = '';
26
-
27
-
28
-    /**
29
-     * This is the slug for the tour.  It should be unique from all tours and is used for starting a tour and setting
30
-     * cookies for the tour. Set this in the constructor of the child class.
31
-     *
32
-     * @access protected
33
-     * @var string
34
-     */
35
-    protected $_slug = '';
36
-
37
-
38
-    /**
39
-     * This will contain the formatted array for the stops that gets used by EE_Admin_Page->_add_help_tour() for
40
-     * setting up a tour on a given page. format for array is: array(
41
-     *        0 => array(
42
-     *            'id' => 'id_element', //if attached to an css id for an element then use this param. id's will take
43
-     *            precendence even if you also set class.
44
-     *            'class' => 'class_element', //if attached to a css class for an element anchoring the stop then use
45
-     *            this param. The first element for that class is the anchor. If the class or the id are empty then the
46
-     *            stop will be a modal on the page anchored to the main body.
47
-     *            'custom_class' => 'some_custom_class', //optional custom class to add for this stop.
48
-     *            'button_text' => 'custom text for button', //optional
49
-     *            'content' => 'The content for the stop', //required
50
-     *            'pause_after' => false, //indicate if you want the tour to pause after this stop and it will get
51
-     *            added to the pauseAfter global option array setup for the joyride instance. This is only applicable
52
-     *            when this tour has been set to run on timer.
53
-     *            'options' => array(
54
-     *                //override any of the global options set via the help_tour "option_callback" for the joyride
55
-     *                instance on this specific stop.
56
-     *                )
57
-     *            )
58
-     *        );
59
-     *
60
-     * @access protected
61
-     * @var array
62
-     */
63
-    protected $_stops = array();
64
-
65
-
66
-    /**
67
-     * This contains any stop specific options for the tour.
68
-     * defaults are set but child classes can override.
69
-     *
70
-     * @access protected
71
-     * @var array
72
-     */
73
-    protected $_options = array();
74
-
75
-
76
-    /**
77
-     * holds anything found in the $_REQUEST object (however we override any _gets with _post data).
78
-     *
79
-     * @access protected
80
-     * @var array
81
-     */
82
-    protected $_req_data = array();
83
-
84
-
85
-    /**
86
-     * a flag that is set on init for whether this help_tour is happening on a caf install or not.
87
-     *
88
-     * @var boolean
89
-     */
90
-    protected $_is_caf = false;
91
-
92
-
93
-    /**
94
-     * _constructor
95
-     * initialized the tour object and sets up important properties required to setup the tour.
96
-     *
97
-     * @access public
98
-     * @param boolean $caf used to indicate if this tour is happening on caf install or not.
99
-     * @return void
100
-     */
101
-    public function __construct($caf = false)
102
-    {
103
-        $this->_is_caf = $caf;
104
-        $this->_req_data = array_merge($_GET, $_POST);
105
-        $this->_set_tour_properties();
106
-        $this->_set_tour_stops();
107
-        $this->_set_tour_options();
108
-
109
-        // make sure the last tour stop has "end tour" for its button
110
-        $end = array_pop($this->_stops);
111
-        $end['button_text'] = __('End Tour', 'event_espresso');
112
-        // add back to stops
113
-        $this->_stops[] = $end;
114
-    }
115
-
116
-
117
-    /**
118
-     * required method that has the sole purpose of setting up the tour $_label and $_slug properties
119
-     *
120
-     * @abstract
121
-     * @access protected
122
-     * @return void
123
-     */
124
-    abstract protected function _set_tour_properties();
125
-
126
-
127
-    /**
128
-     * required method that's sole purpose is to setup the $_stops property
129
-     *
130
-     * @abstract
131
-     * @access protected
132
-     * @return void
133
-     */
134
-    abstract protected function _set_tour_stops();
135
-
136
-
137
-    /**
138
-     * The method can optionally be overridden by child classes to set the _options array if there are any default
139
-     * options the child wishes to override for a this tour. See property definition for more info
140
-     *
141
-     * @access protected
142
-     * @return void
143
-     */
144
-    protected function _set_tour_options($options = array())
145
-    {
146
-        $defaults = array(
147
-            'tipLocation'           => 'bottom',
148
-            // 'top', 'bottom', 'right', 'left' in relation to parent
149
-            'nubPosition'           => 'auto',
150
-            // override on a per tooltip bases. can be "auto", "right", "top", "bottom", "left"
151
-            'tipAdjustmentY'        => 0,
152
-            // allow for adjustment of tip
153
-            'tipAdjustmentX'        => 0,
154
-            // allow for adjustment of tip
155
-            'scroll'                => true,
156
-            // whether to scrollTo the next step or not
157
-            'scrollSpeed'           => 300,
158
-            // Page scrolling speed in ms
159
-            'timer'                 => 0,
160
-            // 0 = off, all other numbers = time(ms)
161
-            'autoStart'             => true,
162
-            // true or false - false tour starts when restart called
163
-            'startTimerOnClick'     => true,
164
-            // true/false to start timer on first click
165
-            'nextButton'            => true,
166
-            // true/false for next button visibility
167
-            'button_text'           => __('Next', 'event_espresso'),
168
-            'tipAnimation'          => 'fade',
169
-            // 'pop' or 'fade' in each tip
170
-            'pauseAfter'            => array(),
171
-            // array of indexes where to pause the tour after
172
-            'tipAnimationFadeSpeed' => 300,
173
-            // if 'fade'- speed in ms of transition
174
-            'cookieMonster'         => true,
175
-            // true/false for whether cookies are used
176
-            'cookieName'            => $this->get_slug(),
177
-            // choose your own cookie name (setup will add the prefix for the specific page joyride)
178
-            'cookieDomain'          => false,
179
-            // set to false or yoursite.com
180
-            // 'tipContainer' => 'body',            // Where the tip be attached if not inline
181
-            'modal'                 => false,
182
-            // Whether to cover page with modal during the tour
183
-            'expose'                => false,
184
-            // Whether to expose the elements at each step in the tour (requires modal:true),
185
-            'postExposeCallback'    => 'EEHelpTour.postExposeCallback',
186
-            // A method to call after an element has been exposed
187
-            'preRideCallback'       => 'EEHelpTour_preRideCallback',
188
-            // A method to call before the tour starts (passed index, tip, and cloned exposed element)
189
-            'postRideCallback'      => 'EEHelpTour_postRideCallback',
190
-            // a method to call once the tour closes.  This will correspond to the name of a js method that will have to be defined in loaded js.
191
-            'preStepCallback'       => 'EEHelpTour_preStepCallback',
192
-            // A method to call before each step
193
-            'postStepCallback'      => 'EEHelpTour_postStepCallback',
194
-            // A method to call after each step (remember this will correspond with a js method that you will have to define in a js file BEFORE ee-help-tour.js loads, if the default methods do not exist, then ee-help-tour.js just substitues empty functions $.noop)/**/
195
-        );
196
-
197
-        $options = ! empty($options) && is_array($options) ? array_merge($defaults, $options) : $defaults;
198
-        $this->_options = $options;
199
-    }
200
-
201
-
202
-    /**
203
-     * getter functions to return all the properties for the tour.
204
-     */
205
-
206
-
207
-    /**
208
-     * get_slug
209
-     *
210
-     * @return string slug for the tour
211
-     */
212
-    public function get_slug()
213
-    {
214
-        if (empty($this->_slug)) {
215
-            throw new EE_Error(
216
-                sprintf(
217
-                    __(
218
-                        'There is no slug set for the help tour class (%s). Make sure that the $_slug property is set in the class constructor',
219
-                        'event_espresso'
220
-                    ),
221
-                    get_class($this)
222
-                )
223
-            );
224
-        }
225
-        return $this->_slug;
226
-    }
227
-
228
-
229
-    /**
230
-     * get_label
231
-     *
232
-     * @return string
233
-     */
234
-    public function get_label()
235
-    {
236
-        if (empty($this->_label)) {
237
-            throw new EE_Error(
238
-                sprintf(
239
-                    __(
240
-                        'There is no label set for the help tour class (%s). Make sure that the $_label property is set in the class constructor',
241
-                        'event_espresso'
242
-                    ),
243
-                    get_class($this)
244
-                )
245
-            );
246
-        }
247
-        return $this->_label;
248
-    }
249
-
250
-
251
-    /**
252
-     * get_stops
253
-     *
254
-     * @return array
255
-     */
256
-    public function get_stops()
257
-    {
258
-        foreach ($this->_stops as $ind => $stop) {
259
-            if (! isset($stop['button_text'])) {
260
-                $this->_stops[ $ind ]['button_text'] = $this->_options['button_text'];
261
-            }
262
-        }
263
-        return $this->_stops;
264
-    }
265
-
266
-
267
-    /**
268
-     * get options
269
-     *
270
-     * @return array
271
-     */
272
-    public function get_options()
273
-    {
274
-        // let's make sure there are not pauses set
275
-        foreach ($this->_stops as $ind => $stop) {
276
-            if (isset($stop['pause_after']) && $stop['pause_after']) {
277
-                $this->_options['pauseAfter'][] = $ind;
278
-            }
279
-        }
280
-        return apply_filters('FHEE__' . get_class($this) . '__get_options', $this->_options, $this);
281
-    }
18
+	/**
19
+	 * This is the label for the tour. It is used when regenerating restart buttons for the tour. Set this in the
20
+	 * constructor of the child class.
21
+	 *
22
+	 * @access protected
23
+	 * @var string
24
+	 */
25
+	protected $_label = '';
26
+
27
+
28
+	/**
29
+	 * This is the slug for the tour.  It should be unique from all tours and is used for starting a tour and setting
30
+	 * cookies for the tour. Set this in the constructor of the child class.
31
+	 *
32
+	 * @access protected
33
+	 * @var string
34
+	 */
35
+	protected $_slug = '';
36
+
37
+
38
+	/**
39
+	 * This will contain the formatted array for the stops that gets used by EE_Admin_Page->_add_help_tour() for
40
+	 * setting up a tour on a given page. format for array is: array(
41
+	 *        0 => array(
42
+	 *            'id' => 'id_element', //if attached to an css id for an element then use this param. id's will take
43
+	 *            precendence even if you also set class.
44
+	 *            'class' => 'class_element', //if attached to a css class for an element anchoring the stop then use
45
+	 *            this param. The first element for that class is the anchor. If the class or the id are empty then the
46
+	 *            stop will be a modal on the page anchored to the main body.
47
+	 *            'custom_class' => 'some_custom_class', //optional custom class to add for this stop.
48
+	 *            'button_text' => 'custom text for button', //optional
49
+	 *            'content' => 'The content for the stop', //required
50
+	 *            'pause_after' => false, //indicate if you want the tour to pause after this stop and it will get
51
+	 *            added to the pauseAfter global option array setup for the joyride instance. This is only applicable
52
+	 *            when this tour has been set to run on timer.
53
+	 *            'options' => array(
54
+	 *                //override any of the global options set via the help_tour "option_callback" for the joyride
55
+	 *                instance on this specific stop.
56
+	 *                )
57
+	 *            )
58
+	 *        );
59
+	 *
60
+	 * @access protected
61
+	 * @var array
62
+	 */
63
+	protected $_stops = array();
64
+
65
+
66
+	/**
67
+	 * This contains any stop specific options for the tour.
68
+	 * defaults are set but child classes can override.
69
+	 *
70
+	 * @access protected
71
+	 * @var array
72
+	 */
73
+	protected $_options = array();
74
+
75
+
76
+	/**
77
+	 * holds anything found in the $_REQUEST object (however we override any _gets with _post data).
78
+	 *
79
+	 * @access protected
80
+	 * @var array
81
+	 */
82
+	protected $_req_data = array();
83
+
84
+
85
+	/**
86
+	 * a flag that is set on init for whether this help_tour is happening on a caf install or not.
87
+	 *
88
+	 * @var boolean
89
+	 */
90
+	protected $_is_caf = false;
91
+
92
+
93
+	/**
94
+	 * _constructor
95
+	 * initialized the tour object and sets up important properties required to setup the tour.
96
+	 *
97
+	 * @access public
98
+	 * @param boolean $caf used to indicate if this tour is happening on caf install or not.
99
+	 * @return void
100
+	 */
101
+	public function __construct($caf = false)
102
+	{
103
+		$this->_is_caf = $caf;
104
+		$this->_req_data = array_merge($_GET, $_POST);
105
+		$this->_set_tour_properties();
106
+		$this->_set_tour_stops();
107
+		$this->_set_tour_options();
108
+
109
+		// make sure the last tour stop has "end tour" for its button
110
+		$end = array_pop($this->_stops);
111
+		$end['button_text'] = __('End Tour', 'event_espresso');
112
+		// add back to stops
113
+		$this->_stops[] = $end;
114
+	}
115
+
116
+
117
+	/**
118
+	 * required method that has the sole purpose of setting up the tour $_label and $_slug properties
119
+	 *
120
+	 * @abstract
121
+	 * @access protected
122
+	 * @return void
123
+	 */
124
+	abstract protected function _set_tour_properties();
125
+
126
+
127
+	/**
128
+	 * required method that's sole purpose is to setup the $_stops property
129
+	 *
130
+	 * @abstract
131
+	 * @access protected
132
+	 * @return void
133
+	 */
134
+	abstract protected function _set_tour_stops();
135
+
136
+
137
+	/**
138
+	 * The method can optionally be overridden by child classes to set the _options array if there are any default
139
+	 * options the child wishes to override for a this tour. See property definition for more info
140
+	 *
141
+	 * @access protected
142
+	 * @return void
143
+	 */
144
+	protected function _set_tour_options($options = array())
145
+	{
146
+		$defaults = array(
147
+			'tipLocation'           => 'bottom',
148
+			// 'top', 'bottom', 'right', 'left' in relation to parent
149
+			'nubPosition'           => 'auto',
150
+			// override on a per tooltip bases. can be "auto", "right", "top", "bottom", "left"
151
+			'tipAdjustmentY'        => 0,
152
+			// allow for adjustment of tip
153
+			'tipAdjustmentX'        => 0,
154
+			// allow for adjustment of tip
155
+			'scroll'                => true,
156
+			// whether to scrollTo the next step or not
157
+			'scrollSpeed'           => 300,
158
+			// Page scrolling speed in ms
159
+			'timer'                 => 0,
160
+			// 0 = off, all other numbers = time(ms)
161
+			'autoStart'             => true,
162
+			// true or false - false tour starts when restart called
163
+			'startTimerOnClick'     => true,
164
+			// true/false to start timer on first click
165
+			'nextButton'            => true,
166
+			// true/false for next button visibility
167
+			'button_text'           => __('Next', 'event_espresso'),
168
+			'tipAnimation'          => 'fade',
169
+			// 'pop' or 'fade' in each tip
170
+			'pauseAfter'            => array(),
171
+			// array of indexes where to pause the tour after
172
+			'tipAnimationFadeSpeed' => 300,
173
+			// if 'fade'- speed in ms of transition
174
+			'cookieMonster'         => true,
175
+			// true/false for whether cookies are used
176
+			'cookieName'            => $this->get_slug(),
177
+			// choose your own cookie name (setup will add the prefix for the specific page joyride)
178
+			'cookieDomain'          => false,
179
+			// set to false or yoursite.com
180
+			// 'tipContainer' => 'body',            // Where the tip be attached if not inline
181
+			'modal'                 => false,
182
+			// Whether to cover page with modal during the tour
183
+			'expose'                => false,
184
+			// Whether to expose the elements at each step in the tour (requires modal:true),
185
+			'postExposeCallback'    => 'EEHelpTour.postExposeCallback',
186
+			// A method to call after an element has been exposed
187
+			'preRideCallback'       => 'EEHelpTour_preRideCallback',
188
+			// A method to call before the tour starts (passed index, tip, and cloned exposed element)
189
+			'postRideCallback'      => 'EEHelpTour_postRideCallback',
190
+			// a method to call once the tour closes.  This will correspond to the name of a js method that will have to be defined in loaded js.
191
+			'preStepCallback'       => 'EEHelpTour_preStepCallback',
192
+			// A method to call before each step
193
+			'postStepCallback'      => 'EEHelpTour_postStepCallback',
194
+			// A method to call after each step (remember this will correspond with a js method that you will have to define in a js file BEFORE ee-help-tour.js loads, if the default methods do not exist, then ee-help-tour.js just substitues empty functions $.noop)/**/
195
+		);
196
+
197
+		$options = ! empty($options) && is_array($options) ? array_merge($defaults, $options) : $defaults;
198
+		$this->_options = $options;
199
+	}
200
+
201
+
202
+	/**
203
+	 * getter functions to return all the properties for the tour.
204
+	 */
205
+
206
+
207
+	/**
208
+	 * get_slug
209
+	 *
210
+	 * @return string slug for the tour
211
+	 */
212
+	public function get_slug()
213
+	{
214
+		if (empty($this->_slug)) {
215
+			throw new EE_Error(
216
+				sprintf(
217
+					__(
218
+						'There is no slug set for the help tour class (%s). Make sure that the $_slug property is set in the class constructor',
219
+						'event_espresso'
220
+					),
221
+					get_class($this)
222
+				)
223
+			);
224
+		}
225
+		return $this->_slug;
226
+	}
227
+
228
+
229
+	/**
230
+	 * get_label
231
+	 *
232
+	 * @return string
233
+	 */
234
+	public function get_label()
235
+	{
236
+		if (empty($this->_label)) {
237
+			throw new EE_Error(
238
+				sprintf(
239
+					__(
240
+						'There is no label set for the help tour class (%s). Make sure that the $_label property is set in the class constructor',
241
+						'event_espresso'
242
+					),
243
+					get_class($this)
244
+				)
245
+			);
246
+		}
247
+		return $this->_label;
248
+	}
249
+
250
+
251
+	/**
252
+	 * get_stops
253
+	 *
254
+	 * @return array
255
+	 */
256
+	public function get_stops()
257
+	{
258
+		foreach ($this->_stops as $ind => $stop) {
259
+			if (! isset($stop['button_text'])) {
260
+				$this->_stops[ $ind ]['button_text'] = $this->_options['button_text'];
261
+			}
262
+		}
263
+		return $this->_stops;
264
+	}
265
+
266
+
267
+	/**
268
+	 * get options
269
+	 *
270
+	 * @return array
271
+	 */
272
+	public function get_options()
273
+	{
274
+		// let's make sure there are not pauses set
275
+		foreach ($this->_stops as $ind => $stop) {
276
+			if (isset($stop['pause_after']) && $stop['pause_after']) {
277
+				$this->_options['pauseAfter'][] = $ind;
278
+			}
279
+		}
280
+		return apply_filters('FHEE__' . get_class($this) . '__get_options', $this->_options, $this);
281
+	}
282 282
 }
Please login to merge, or discard this patch.
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -256,8 +256,8 @@  discard block
 block discarded – undo
256 256
     public function get_stops()
257 257
     {
258 258
         foreach ($this->_stops as $ind => $stop) {
259
-            if (! isset($stop['button_text'])) {
260
-                $this->_stops[ $ind ]['button_text'] = $this->_options['button_text'];
259
+            if ( ! isset($stop['button_text'])) {
260
+                $this->_stops[$ind]['button_text'] = $this->_options['button_text'];
261 261
             }
262 262
         }
263 263
         return $this->_stops;
@@ -277,6 +277,6 @@  discard block
 block discarded – undo
277 277
                 $this->_options['pauseAfter'][] = $ind;
278 278
             }
279 279
         }
280
-        return apply_filters('FHEE__' . get_class($this) . '__get_options', $this->_options, $this);
280
+        return apply_filters('FHEE__'.get_class($this).'__get_options', $this->_options, $this);
281 281
     }
282 282
 }
Please login to merge, or discard this patch.
core/data_migration_scripts/4_1_0_stages/EE_DMS_4_1_0_answers.dmsstage.php 3 patches
Doc Comments   -1 removed lines patch added patch discarded remove patch
@@ -62,7 +62,6 @@
 block discarded – undo
62 62
     /**
63 63
      * Creates a 4.1 price base type
64 64
      * @global type $wpdb
65
-     * @param array $old_price
66 65
      * @param int $new_reg_id
67 66
      * @return int
68 67
      */
Please login to merge, or discard this patch.
Indentation   +75 added lines, -75 removed lines patch added patch discarded remove patch
@@ -32,81 +32,81 @@
 block discarded – undo
32 32
 
33 33
 class EE_DMS_4_1_0_answers extends EE_Data_Migration_Script_Stage_Table
34 34
 {
35
-    private $_new_answer_table;
36
-    private $_new_question_table;
37
-    public function __construct()
38
-    {
39
-        global $wpdb;
40
-        $this->_pretty_name = __("Answers", "event_espresso");
41
-        $this->_old_table = $wpdb->prefix."events_answer";
42
-        $this->_new_answer_table = $wpdb->prefix."esp_answer";
43
-        $this->_new_question_table = $wpdb->prefix."esp_question";
44
-        parent::__construct();
45
-    }
46
-    protected function _migrate_old_row($old_row)
47
-    {
48
-        // get the new REGs for the old answer
49
-        global $wpdb;
50
-        $old_attendee_table = $wpdb->prefix."events_attendee";
51
-        $new_reg_table = $wpdb->prefix."esp_registration";
52
-        $regs = $this->get_migration_script()->get_mapping_new_pk($old_attendee_table, $old_row['attendee_id'], $new_reg_table);
53
-        if (! $regs) {
54
-            $this->add_error(sprintf(__("Could not find new registrations for old attendee %d when creating answer %s", "event_espresso"), $old_row['attendee_id'], $this->_json_encode($old_row)));
55
-            return false;
56
-        }
57
-        // as inefficient as this sounds, we create an answer per REGISTRATION, (even if the registrations use the same attendee)
58
-        foreach ($regs as $new_reg_id) {
59
-            $new_answer_id = $this->_insert_new_answer($old_row, $new_reg_id);
60
-        }
61
-    }
62
-    /**
63
-     * Creates a 4.1 price base type
64
-     * @global type $wpdb
65
-     * @param array $old_price
66
-     * @param int $new_reg_id
67
-     * @return int
68
-     */
69
-    private function _insert_new_answer($old_answer, $new_reg_id)
70
-    {
71
-        global $wpdb;
72
-        $old_question_table = $wpdb->prefix."events_question";
73
-        $new_question_id = $this->get_migration_script()->get_mapping_new_pk($old_question_table, $old_answer['question_id'], $this->_new_question_table);
35
+	private $_new_answer_table;
36
+	private $_new_question_table;
37
+	public function __construct()
38
+	{
39
+		global $wpdb;
40
+		$this->_pretty_name = __("Answers", "event_espresso");
41
+		$this->_old_table = $wpdb->prefix."events_answer";
42
+		$this->_new_answer_table = $wpdb->prefix."esp_answer";
43
+		$this->_new_question_table = $wpdb->prefix."esp_question";
44
+		parent::__construct();
45
+	}
46
+	protected function _migrate_old_row($old_row)
47
+	{
48
+		// get the new REGs for the old answer
49
+		global $wpdb;
50
+		$old_attendee_table = $wpdb->prefix."events_attendee";
51
+		$new_reg_table = $wpdb->prefix."esp_registration";
52
+		$regs = $this->get_migration_script()->get_mapping_new_pk($old_attendee_table, $old_row['attendee_id'], $new_reg_table);
53
+		if (! $regs) {
54
+			$this->add_error(sprintf(__("Could not find new registrations for old attendee %d when creating answer %s", "event_espresso"), $old_row['attendee_id'], $this->_json_encode($old_row)));
55
+			return false;
56
+		}
57
+		// as inefficient as this sounds, we create an answer per REGISTRATION, (even if the registrations use the same attendee)
58
+		foreach ($regs as $new_reg_id) {
59
+			$new_answer_id = $this->_insert_new_answer($old_row, $new_reg_id);
60
+		}
61
+	}
62
+	/**
63
+	 * Creates a 4.1 price base type
64
+	 * @global type $wpdb
65
+	 * @param array $old_price
66
+	 * @param int $new_reg_id
67
+	 * @return int
68
+	 */
69
+	private function _insert_new_answer($old_answer, $new_reg_id)
70
+	{
71
+		global $wpdb;
72
+		$old_question_table = $wpdb->prefix."events_question";
73
+		$new_question_id = $this->get_migration_script()->get_mapping_new_pk($old_question_table, $old_answer['question_id'], $this->_new_question_table);
74 74
 
75
-        $question_type = $this->_get_question_type($new_question_id);
76
-        if (in_array($question_type, array('MULTIPLE'))) {
77
-            $ans_value = serialize(explode(",", stripslashes($old_answer['answer'])));
78
-        } else {
79
-            $ans_value = stripslashes($old_answer['answer']);
80
-        }
81
-        $cols_n_values = array(
82
-            'REG_ID'=>$new_reg_id,
83
-            'QST_ID'=>$new_question_id,
84
-            'ANS_value'=>$ans_value
85
-        );
86
-        $datatypes = array(
87
-            '%d',// REG_ID
88
-            '%d',// QST_ID
89
-            '%s',// ANS_value
90
-        );
91
-        $success = $wpdb->insert($this->_new_answer_table, $cols_n_values, $datatypes);
92
-        if (! $success) {
93
-            $this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_answer, $this->_new_answer_table, $cols_n_values, $datatypes));
94
-            return 0;
95
-        }
96
-        $new_id = $wpdb->insert_id;
97
-        return $new_id;
98
-    }
75
+		$question_type = $this->_get_question_type($new_question_id);
76
+		if (in_array($question_type, array('MULTIPLE'))) {
77
+			$ans_value = serialize(explode(",", stripslashes($old_answer['answer'])));
78
+		} else {
79
+			$ans_value = stripslashes($old_answer['answer']);
80
+		}
81
+		$cols_n_values = array(
82
+			'REG_ID'=>$new_reg_id,
83
+			'QST_ID'=>$new_question_id,
84
+			'ANS_value'=>$ans_value
85
+		);
86
+		$datatypes = array(
87
+			'%d',// REG_ID
88
+			'%d',// QST_ID
89
+			'%s',// ANS_value
90
+		);
91
+		$success = $wpdb->insert($this->_new_answer_table, $cols_n_values, $datatypes);
92
+		if (! $success) {
93
+			$this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_answer, $this->_new_answer_table, $cols_n_values, $datatypes));
94
+			return 0;
95
+		}
96
+		$new_id = $wpdb->insert_id;
97
+		return $new_id;
98
+	}
99 99
 
100
-    /**
101
-     * Gets the question's type
102
-     * @global type $wpdb
103
-     * @param type $question_id
104
-     * @return string
105
-     */
106
-    private function _get_question_type($question_id)
107
-    {
108
-        global $wpdb;
109
-        $type = $wpdb->get_var($wpdb->prepare("SELECT QST_type FROM ".$this->_new_question_table." WHERE QST_ID=%d LIMIT 1", $question_id));
110
-        return $type;
111
-    }
100
+	/**
101
+	 * Gets the question's type
102
+	 * @global type $wpdb
103
+	 * @param type $question_id
104
+	 * @return string
105
+	 */
106
+	private function _get_question_type($question_id)
107
+	{
108
+		global $wpdb;
109
+		$type = $wpdb->get_var($wpdb->prepare("SELECT QST_type FROM ".$this->_new_question_table." WHERE QST_ID=%d LIMIT 1", $question_id));
110
+		return $type;
111
+	}
112 112
 }
Please login to merge, or discard this patch.
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -50,7 +50,7 @@  discard block
 block discarded – undo
50 50
         $old_attendee_table = $wpdb->prefix."events_attendee";
51 51
         $new_reg_table = $wpdb->prefix."esp_registration";
52 52
         $regs = $this->get_migration_script()->get_mapping_new_pk($old_attendee_table, $old_row['attendee_id'], $new_reg_table);
53
-        if (! $regs) {
53
+        if ( ! $regs) {
54 54
             $this->add_error(sprintf(__("Could not find new registrations for old attendee %d when creating answer %s", "event_espresso"), $old_row['attendee_id'], $this->_json_encode($old_row)));
55 55
             return false;
56 56
         }
@@ -84,12 +84,12 @@  discard block
 block discarded – undo
84 84
             'ANS_value'=>$ans_value
85 85
         );
86 86
         $datatypes = array(
87
-            '%d',// REG_ID
88
-            '%d',// QST_ID
89
-            '%s',// ANS_value
87
+            '%d', // REG_ID
88
+            '%d', // QST_ID
89
+            '%s', // ANS_value
90 90
         );
91 91
         $success = $wpdb->insert($this->_new_answer_table, $cols_n_values, $datatypes);
92
-        if (! $success) {
92
+        if ( ! $success) {
93 93
             $this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_answer, $this->_new_answer_table, $cols_n_values, $datatypes));
94 94
             return 0;
95 95
         }
Please login to merge, or discard this patch.
data_migration_scripts/4_1_0_stages/EE_DMS_4_1_0_attendees.dmsstage.php 3 patches
Doc Comments   +6 added lines, -2 removed lines patch added patch discarded remove patch
@@ -579,8 +579,8 @@  discard block
 block discarded – undo
579 579
      * that they WILL be added (because the attendees stage runs nearly last during
580 580
      * the migration script)
581 581
      * @param type $new_ticket_id
582
-     * @param type $sold
583
-     * @param type $STS_ID
582
+     * @param string $STS_ID
583
+     * @param integer $quantity_sold
584 584
      * @return boolean whether they were successfully updated or not
585 585
      */
586 586
     protected function _add_regs_to_ticket_and_datetimes($new_ticket_id, $quantity_sold, $STS_ID)
@@ -777,6 +777,10 @@  discard block
 block discarded – undo
777 777
         }
778 778
         return $count;
779 779
     }
780
+
781
+    /**
782
+     * @param integer $new_txn_id
783
+     */
780 784
     private function _insert_new_payment($old_attendee, $new_txn_id)
781 785
     {
782 786
         global $wpdb;
Please login to merge, or discard this patch.
Indentation   +598 added lines, -601 removed lines patch added patch discarded remove patch
@@ -84,9 +84,6 @@  discard block
 block discarded – undo
84 84
   KEY `submitted` (`submitted`),
85 85
   KEY `likes` (`likes`)
86 86
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8$$
87
-
88
-
89
-
90 87
  * 4.1 Attendee tables and fields:
91 88
  * $this->_tables = array(
92 89
             'Attendee_CPT'=> new EE_Primary_Table('posts', 'ID'),
@@ -216,632 +213,632 @@  discard block
 block discarded – undo
216 213
  */
217 214
 class EE_DMS_4_1_0_attendees extends EE_Data_Migration_Script_Stage_Table
218 215
 {
219
-    private $_new_attendee_cpt_table;
220
-    private $_new_attendee_meta_table;
221
-    private $_new_reg_table;
222
-    private $_new_transaction_table;
223
-    private $_new_payment_table;
224
-    private $_new_line_table;
225
-    private $_old_mer_table;
226
-    private $_new_ticket_table;
227
-    private $_new_ticket_datetime_table;
228
-    private $_new_datetime_table;
229
-    private $_new_datetime_ticket_table;
230
-    private $_new_price_table;
231
-    private $_new_ticket_price_table;
232
-    /**
233
-     * Rememebrs whether or not the mer table exists
234
-     * @var boolean
235
-     */
236
-    private $_mer_tables_exist = null;
237
-    public function __construct()
238
-    {
239
-        global $wpdb;
240
-        $this->_pretty_name = __("Attendees", "event_espresso");
241
-        $this->_old_table = $wpdb->prefix."events_attendee";
242
-        $this->_old_mer_table = $wpdb->prefix."events_multi_event_registration_id_group";
243
-        ;
244
-        $this->_new_attendee_cpt_table = $wpdb->posts;
245
-        $this->_new_attendee_meta_table = $wpdb->prefix."esp_attendee_meta";
246
-        $this->_new_reg_table = $wpdb->prefix."esp_registration";
247
-        $this->_new_transaction_table = $wpdb->prefix."esp_transaction";
248
-        $this->_new_payment_table = $wpdb->prefix."esp_payment";
249
-        $this->_new_line_table = $wpdb->prefix."esp_line_item";
250
-        $this->_new_ticket_table = $wpdb->prefix."esp_ticket";
251
-        $this->_new_ticket_datetime_table = $wpdb->prefix."esp_datetime_ticket";
252
-        $this->_new_datetime_table = $wpdb->prefix."esp_datetime";
253
-        $this->_new_datetime_ticket_table = $wpdb->prefix."esp_datetime_ticket";
254
-        $this->_new_price_table = $wpdb->prefix."esp_price";
255
-        $this->_new_ticket_price_table = $wpdb->prefix."esp_ticket_price";
256
-        parent::__construct();
257
-    }
216
+	private $_new_attendee_cpt_table;
217
+	private $_new_attendee_meta_table;
218
+	private $_new_reg_table;
219
+	private $_new_transaction_table;
220
+	private $_new_payment_table;
221
+	private $_new_line_table;
222
+	private $_old_mer_table;
223
+	private $_new_ticket_table;
224
+	private $_new_ticket_datetime_table;
225
+	private $_new_datetime_table;
226
+	private $_new_datetime_ticket_table;
227
+	private $_new_price_table;
228
+	private $_new_ticket_price_table;
229
+	/**
230
+	 * Rememebrs whether or not the mer table exists
231
+	 * @var boolean
232
+	 */
233
+	private $_mer_tables_exist = null;
234
+	public function __construct()
235
+	{
236
+		global $wpdb;
237
+		$this->_pretty_name = __("Attendees", "event_espresso");
238
+		$this->_old_table = $wpdb->prefix."events_attendee";
239
+		$this->_old_mer_table = $wpdb->prefix."events_multi_event_registration_id_group";
240
+		;
241
+		$this->_new_attendee_cpt_table = $wpdb->posts;
242
+		$this->_new_attendee_meta_table = $wpdb->prefix."esp_attendee_meta";
243
+		$this->_new_reg_table = $wpdb->prefix."esp_registration";
244
+		$this->_new_transaction_table = $wpdb->prefix."esp_transaction";
245
+		$this->_new_payment_table = $wpdb->prefix."esp_payment";
246
+		$this->_new_line_table = $wpdb->prefix."esp_line_item";
247
+		$this->_new_ticket_table = $wpdb->prefix."esp_ticket";
248
+		$this->_new_ticket_datetime_table = $wpdb->prefix."esp_datetime_ticket";
249
+		$this->_new_datetime_table = $wpdb->prefix."esp_datetime";
250
+		$this->_new_datetime_ticket_table = $wpdb->prefix."esp_datetime_ticket";
251
+		$this->_new_price_table = $wpdb->prefix."esp_price";
252
+		$this->_new_ticket_price_table = $wpdb->prefix."esp_ticket_price";
253
+		parent::__construct();
254
+	}
258 255
 
259
-    protected function _migrate_old_row($old_row)
260
-    {
261
-        // first check if there's already a new attendee with similar characteristics
262
-        $new_att_id = $this->_find_attendee_cpt_matching($old_row);
263
-        if (! $new_att_id) {
264
-            $new_att_id = $this->_insert_new_attendee_cpt($old_row);
265
-            if (! $new_att_id) {
266
-                // if we couldnt even make an attendee, abandon all hope
267
-                return false;
268
-            }
269
-            $new_att_meta_id = $this->_insert_attendee_meta_row($old_row, $new_att_id);
270
-            if ($new_att_meta_id) {
271
-                $this->get_migration_script()->set_mapping($this->_old_table, $old_row['id'], $this->_new_attendee_meta_table, $new_att_meta_id);
272
-            }
273
-        }
274
-        $this->get_migration_script()->set_mapping($this->_old_table, $old_row['id'], $this->_new_attendee_cpt_table, $new_att_id);
256
+	protected function _migrate_old_row($old_row)
257
+	{
258
+		// first check if there's already a new attendee with similar characteristics
259
+		$new_att_id = $this->_find_attendee_cpt_matching($old_row);
260
+		if (! $new_att_id) {
261
+			$new_att_id = $this->_insert_new_attendee_cpt($old_row);
262
+			if (! $new_att_id) {
263
+				// if we couldnt even make an attendee, abandon all hope
264
+				return false;
265
+			}
266
+			$new_att_meta_id = $this->_insert_attendee_meta_row($old_row, $new_att_id);
267
+			if ($new_att_meta_id) {
268
+				$this->get_migration_script()->set_mapping($this->_old_table, $old_row['id'], $this->_new_attendee_meta_table, $new_att_meta_id);
269
+			}
270
+		}
271
+		$this->get_migration_script()->set_mapping($this->_old_table, $old_row['id'], $this->_new_attendee_cpt_table, $new_att_id);
275 272
 
276
-        $txn_id = $this->_insert_new_transaction($old_row);
277
-        if (! $txn_id) {
278
-            // if we couldnt make the transaction, also abandon all hope
279
-            return false;
280
-        }
281
-        $this->get_migration_script()->set_mapping($this->_old_table, $old_row['id'], $this->_new_transaction_table, $txn_id);
282
-        $pay_id = $this->_insert_new_payment($old_row, $txn_id);
283
-        if ($pay_id) {
284
-            $this->get_migration_script()->set_mapping($this->_old_table, $old_row['id'], $this->_new_payment_table, $pay_id);
285
-        }
273
+		$txn_id = $this->_insert_new_transaction($old_row);
274
+		if (! $txn_id) {
275
+			// if we couldnt make the transaction, also abandon all hope
276
+			return false;
277
+		}
278
+		$this->get_migration_script()->set_mapping($this->_old_table, $old_row['id'], $this->_new_transaction_table, $txn_id);
279
+		$pay_id = $this->_insert_new_payment($old_row, $txn_id);
280
+		if ($pay_id) {
281
+			$this->get_migration_script()->set_mapping($this->_old_table, $old_row['id'], $this->_new_payment_table, $pay_id);
282
+		}
286 283
 
287 284
 
288
-        // even if there was no payment, we can go ahead with adding the reg
289
-        $new_regs = $this->_insert_new_registrations($old_row, $new_att_id, $txn_id);
290
-        if ($new_regs) {
291
-            $this->get_migration_script()->set_mapping($this->_old_table, $old_row['id'], $this->_new_reg_table, $new_regs);
292
-        }
293
-    }
294
-    /**
295
-     * Checks if there's already an attendee CPT in the db that has the same
296
-     * first and last name, and email. If so, returns its ID as an int.
297
-     * @global type $wpdb
298
-     * @param array $old_attendee
299
-     * @return int
300
-     */
301
-    private function _find_attendee_cpt_matching($old_attendee)
302
-    {
303
-        global $wpdb;
304
-        $existing_attendee_id = $wpdb->get_var($wpdb->prepare("SELECT id FROM ".$this->_new_attendee_cpt_table." AS cpt INNER JOIN ".$this->_new_attendee_meta_table." AS meta ON cpt.ID = meta.ATT_ID WHERE meta.ATT_fname = %s AND meta.ATT_lname = %s AND meta.ATT_email = %s LIMIT 1", $old_attendee['fname'], $old_attendee['lname'], $old_attendee['email']));
305
-        return intval($existing_attendee_id);
306
-    }
307
-    private function _insert_new_attendee_cpt($old_attendee)
308
-    {
309
-        global $wpdb;
310
-        $cols_n_values = array(
311
-            'post_title'=>stripslashes($old_attendee['fname']." ".$old_attendee['lname']),// ATT_full_name
312
-            'post_content'=>'',// ATT_bio
313
-            'post_name'=>sanitize_title($old_attendee['fname']."-".$old_attendee['lname']),// ATT_slug
314
-            'post_date'=>$this->get_migration_script()->convert_date_string_to_utc($this, $old_attendee, $old_attendee['date']),// ATT_created
315
-            'post_excerpt'=>'',// ATT_short_bio
316
-            'post_modified'=>$this->get_migration_script()->convert_date_string_to_utc($this, $old_attendee, $old_attendee['date']),// ATT_modified
317
-            'post_author'=>0,// ATT_author
318
-            'post_parent'=>0,// ATT_parent
319
-            'post_type'=>'espresso_attendees',// post_type
320
-            'post_status'=>'publish'// status
321
-        );
322
-        $datatypes = array(
323
-            '%s',// ATT_full_name
324
-            '%s',// ATT_bio
325
-            '%s',// ATT_slug
326
-            '%s',// ATT_created
327
-            '%s',// ATT_short_bio
328
-            '%s',// ATT_modified
329
-            '%d',// ATT_author
330
-            '%d',// ATT_parent
331
-            '%s',// post_type
332
-            '%s',// status
333
-        );
334
-        $success = $wpdb->insert($this->_new_attendee_cpt_table, $cols_n_values, $datatypes);
335
-        if (! $success) {
336
-            $this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_attendee, $this->_new_attendee_cpt_table, $cols_n_values, $datatypes));
337
-            return 0;
338
-        }
339
-        $new_id = $wpdb->insert_id;
340
-        return $new_id;
341
-    }
285
+		// even if there was no payment, we can go ahead with adding the reg
286
+		$new_regs = $this->_insert_new_registrations($old_row, $new_att_id, $txn_id);
287
+		if ($new_regs) {
288
+			$this->get_migration_script()->set_mapping($this->_old_table, $old_row['id'], $this->_new_reg_table, $new_regs);
289
+		}
290
+	}
291
+	/**
292
+	 * Checks if there's already an attendee CPT in the db that has the same
293
+	 * first and last name, and email. If so, returns its ID as an int.
294
+	 * @global type $wpdb
295
+	 * @param array $old_attendee
296
+	 * @return int
297
+	 */
298
+	private function _find_attendee_cpt_matching($old_attendee)
299
+	{
300
+		global $wpdb;
301
+		$existing_attendee_id = $wpdb->get_var($wpdb->prepare("SELECT id FROM ".$this->_new_attendee_cpt_table." AS cpt INNER JOIN ".$this->_new_attendee_meta_table." AS meta ON cpt.ID = meta.ATT_ID WHERE meta.ATT_fname = %s AND meta.ATT_lname = %s AND meta.ATT_email = %s LIMIT 1", $old_attendee['fname'], $old_attendee['lname'], $old_attendee['email']));
302
+		return intval($existing_attendee_id);
303
+	}
304
+	private function _insert_new_attendee_cpt($old_attendee)
305
+	{
306
+		global $wpdb;
307
+		$cols_n_values = array(
308
+			'post_title'=>stripslashes($old_attendee['fname']." ".$old_attendee['lname']),// ATT_full_name
309
+			'post_content'=>'',// ATT_bio
310
+			'post_name'=>sanitize_title($old_attendee['fname']."-".$old_attendee['lname']),// ATT_slug
311
+			'post_date'=>$this->get_migration_script()->convert_date_string_to_utc($this, $old_attendee, $old_attendee['date']),// ATT_created
312
+			'post_excerpt'=>'',// ATT_short_bio
313
+			'post_modified'=>$this->get_migration_script()->convert_date_string_to_utc($this, $old_attendee, $old_attendee['date']),// ATT_modified
314
+			'post_author'=>0,// ATT_author
315
+			'post_parent'=>0,// ATT_parent
316
+			'post_type'=>'espresso_attendees',// post_type
317
+			'post_status'=>'publish'// status
318
+		);
319
+		$datatypes = array(
320
+			'%s',// ATT_full_name
321
+			'%s',// ATT_bio
322
+			'%s',// ATT_slug
323
+			'%s',// ATT_created
324
+			'%s',// ATT_short_bio
325
+			'%s',// ATT_modified
326
+			'%d',// ATT_author
327
+			'%d',// ATT_parent
328
+			'%s',// post_type
329
+			'%s',// status
330
+		);
331
+		$success = $wpdb->insert($this->_new_attendee_cpt_table, $cols_n_values, $datatypes);
332
+		if (! $success) {
333
+			$this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_attendee, $this->_new_attendee_cpt_table, $cols_n_values, $datatypes));
334
+			return 0;
335
+		}
336
+		$new_id = $wpdb->insert_id;
337
+		return $new_id;
338
+	}
342 339
 
343
-    private function _insert_attendee_meta_row($old_attendee, $new_attendee_cpt_id)
344
-    {
345
-        global $wpdb;
346
-        // get the state and country ids from the old row
347
-        try {
348
-            $new_country = $this->get_migration_script()->get_or_create_country(stripslashes($old_attendee['country_id']));
349
-            $new_country_iso = $new_country['CNT_ISO'];
350
-        } catch (EE_Error $exception) {
351
-            $new_country_iso = $this->get_migration_script()->get_default_country_iso();
352
-        }
353
-        try {
354
-            $new_state = $this->get_migration_script()->get_or_create_state(stripslashes($old_attendee['state']), $new_country_iso);
355
-            $new_state_id = $new_state['STA_ID'];
356
-        } catch (EE_Error $exception) {
357
-            $new_state_id = 0;
358
-        }
359
-        $cols_n_values = array(
360
-            'ATT_ID'=>$new_attendee_cpt_id,
361
-            'ATT_fname'=>stripslashes($old_attendee['fname']),
362
-            'ATT_lname'=>stripslashes($old_attendee['lname']),
363
-            'ATT_address'=>stripslashes($old_attendee['address']),
364
-            'ATT_address2'=>stripslashes($old_attendee['address2']),
365
-            'ATT_city'=>stripslashes($old_attendee['city']),
366
-            'STA_ID'=>$new_state_id,
367
-            'CNT_ISO'=>$new_country_iso,
368
-            'ATT_zip'=>stripslashes($old_attendee['zip']),
369
-            'ATT_email'=>stripslashes($old_attendee['email']),
370
-            'ATT_phone'=>stripslashes($old_attendee['phone']),
371
-        );
372
-        $datatypes = array(
373
-            '%d',// ATT_ID
374
-            '%s',// ATT_fname
375
-            '%s',// ATT_lname
376
-            '%s',// ATT_address
377
-            '%s',// ATT_address2
378
-            '%s',// ATT_city
379
-            '%d',// STA_ID
380
-            '%s',// CNT_ISO
381
-            '%s',// ATT_zip
382
-            '%s',// ATT_email
383
-            '%s',// ATT_phone
384
-        );
385
-        $success = $wpdb->insert($this->_new_attendee_meta_table, $cols_n_values, $datatypes);
386
-        if (! $success) {
387
-            $this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_attendee, $this->_new_attendee_meta_table, $cols_n_values, $datatypes));
388
-            return 0;
389
-        }
390
-        $new_id = $wpdb->insert_id;
391
-        return $new_id;
392
-    }
340
+	private function _insert_attendee_meta_row($old_attendee, $new_attendee_cpt_id)
341
+	{
342
+		global $wpdb;
343
+		// get the state and country ids from the old row
344
+		try {
345
+			$new_country = $this->get_migration_script()->get_or_create_country(stripslashes($old_attendee['country_id']));
346
+			$new_country_iso = $new_country['CNT_ISO'];
347
+		} catch (EE_Error $exception) {
348
+			$new_country_iso = $this->get_migration_script()->get_default_country_iso();
349
+		}
350
+		try {
351
+			$new_state = $this->get_migration_script()->get_or_create_state(stripslashes($old_attendee['state']), $new_country_iso);
352
+			$new_state_id = $new_state['STA_ID'];
353
+		} catch (EE_Error $exception) {
354
+			$new_state_id = 0;
355
+		}
356
+		$cols_n_values = array(
357
+			'ATT_ID'=>$new_attendee_cpt_id,
358
+			'ATT_fname'=>stripslashes($old_attendee['fname']),
359
+			'ATT_lname'=>stripslashes($old_attendee['lname']),
360
+			'ATT_address'=>stripslashes($old_attendee['address']),
361
+			'ATT_address2'=>stripslashes($old_attendee['address2']),
362
+			'ATT_city'=>stripslashes($old_attendee['city']),
363
+			'STA_ID'=>$new_state_id,
364
+			'CNT_ISO'=>$new_country_iso,
365
+			'ATT_zip'=>stripslashes($old_attendee['zip']),
366
+			'ATT_email'=>stripslashes($old_attendee['email']),
367
+			'ATT_phone'=>stripslashes($old_attendee['phone']),
368
+		);
369
+		$datatypes = array(
370
+			'%d',// ATT_ID
371
+			'%s',// ATT_fname
372
+			'%s',// ATT_lname
373
+			'%s',// ATT_address
374
+			'%s',// ATT_address2
375
+			'%s',// ATT_city
376
+			'%d',// STA_ID
377
+			'%s',// CNT_ISO
378
+			'%s',// ATT_zip
379
+			'%s',// ATT_email
380
+			'%s',// ATT_phone
381
+		);
382
+		$success = $wpdb->insert($this->_new_attendee_meta_table, $cols_n_values, $datatypes);
383
+		if (! $success) {
384
+			$this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_attendee, $this->_new_attendee_meta_table, $cols_n_values, $datatypes));
385
+			return 0;
386
+		}
387
+		$new_id = $wpdb->insert_id;
388
+		return $new_id;
389
+	}
393 390
 
394
-    /**
395
-     * Note: we don't necessarily create a new transaction for each attendee row.
396
-     * Only if the old attendee 'is_primary' is true; otherwise we find the old attendee row that
397
-     * 'is_primary' and has the same 'txn_id', then we return ITS new transaction id
398
-     * @global type $wpdb
399
-     * @param type $old_attendee
400
-     * @return int new transaction id
401
-     */
402
-    private function _insert_new_transaction($old_attendee)
403
-    {
404
-        global $wpdb;
391
+	/**
392
+	 * Note: we don't necessarily create a new transaction for each attendee row.
393
+	 * Only if the old attendee 'is_primary' is true; otherwise we find the old attendee row that
394
+	 * 'is_primary' and has the same 'txn_id', then we return ITS new transaction id
395
+	 * @global type $wpdb
396
+	 * @param type $old_attendee
397
+	 * @return int new transaction id
398
+	 */
399
+	private function _insert_new_transaction($old_attendee)
400
+	{
401
+		global $wpdb;
405 402
 
406
-        // first: let's check for an existing transaction for this old attendee
407
-        if (intval($old_attendee['is_primary'])) {// primary attendee, so create txn
408
-            $txn_id = $this->get_migration_script()->get_mapping_new_pk($this->_old_table, intval($old_attendee['id']), $this->_new_transaction_table);
409
-        } else { // non-primary attendee, so find its primary attendee's transaction
410
-            $primary_attendee_old_id = $wpdb->get_var($wpdb->prepare("SELECT id FROM ".$this->_old_table." WHERE is_primary=1 and registration_id=%s", $old_attendee['registration_id']));
411
-            if (! $primary_attendee_old_id) {
412
-                $primary_attendee = $this->_find_mer_primary_attendee_using_mer_tables($old_attendee['registration_id']);
413
-                $primary_attendee_old_id = is_array($primary_attendee) ? $primary_attendee['id'] : null;
414
-            }
415
-            $txn_id = $this->get_migration_script()->get_mapping_new_pk($this->_old_table, intval($primary_attendee_old_id), $this->_new_transaction_table);
416
-            if (! $txn_id) {
417
-                $this->add_error(sprintf(__("Could not find primary attendee's new transaction. Current attendee is: %s, we think the 3.1 primary attendee for it has id %d, but there's no 4.1 transaction for that primary attendee id.", "event_espresso"), $this->_json_encode($old_attendee), $primary_attendee_old_id));
418
-                $txn_id = 0;
419
-            }
420
-        }
421
-        // if there isn't yet a transaction row for this, create one
422
-        // (so even if it was a non-primary attendee with no EE3 primary attendee,
423
-        // it ought to have SOME transaction, so we'll make one)
424
-        if (! $txn_id) {
425
-            // maps 3.1 payment stati onto 4.1 transaction stati
426
-            $txn_status_mapping = array(
427
-                'Completed'=>'TCM',
428
-                'Pending'=>'TIN',
429
-                'Payment Declined'=>'TIN',
430
-                'Incomplete'=>'TIN',
431
-                'Not Completed'=>'TIN',
432
-                'Cancelled'=>'TIN',
433
-                'Declined'=>'TIN'
434
-            );
435
-            $STS_ID = isset($txn_status_mapping[ $old_attendee['payment_status'] ]) ? $txn_status_mapping[ $old_attendee['payment_status'] ] : 'TIN';
436
-            $cols_n_values = array(
437
-                'TXN_timestamp'=>$this->get_migration_script()->convert_date_string_to_utc($this, $old_attendee, $old_attendee['date']),
438
-                'TXN_total'=>floatval($old_attendee['total_cost']),
439
-                'TXN_paid'=>floatval($old_attendee['amount_pd']),
440
-                'STS_ID'=>$STS_ID,
441
-                'TXN_hash_salt'=>$old_attendee['hashSalt']
442
-            );
443
-            $datatypes = array(
444
-                '%s',// TXN_timestamp
445
-                '%f',// TXN_total
446
-                '%f',// TXN_paid
447
-                '%s',// STS_ID
448
-                '%s',// TXN_hash_salt
449
-            );
450
-            $success = $wpdb->insert($this->_new_transaction_table, $cols_n_values, $datatypes);
451
-            if (! $success) {
452
-                $this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_attendee, $this->_new_transaction_table, $cols_n_values, $datatypes));
453
-                return 0;
454
-            }
455
-            $txn_id = $wpdb->insert_id;
456
-        }
403
+		// first: let's check for an existing transaction for this old attendee
404
+		if (intval($old_attendee['is_primary'])) {// primary attendee, so create txn
405
+			$txn_id = $this->get_migration_script()->get_mapping_new_pk($this->_old_table, intval($old_attendee['id']), $this->_new_transaction_table);
406
+		} else { // non-primary attendee, so find its primary attendee's transaction
407
+			$primary_attendee_old_id = $wpdb->get_var($wpdb->prepare("SELECT id FROM ".$this->_old_table." WHERE is_primary=1 and registration_id=%s", $old_attendee['registration_id']));
408
+			if (! $primary_attendee_old_id) {
409
+				$primary_attendee = $this->_find_mer_primary_attendee_using_mer_tables($old_attendee['registration_id']);
410
+				$primary_attendee_old_id = is_array($primary_attendee) ? $primary_attendee['id'] : null;
411
+			}
412
+			$txn_id = $this->get_migration_script()->get_mapping_new_pk($this->_old_table, intval($primary_attendee_old_id), $this->_new_transaction_table);
413
+			if (! $txn_id) {
414
+				$this->add_error(sprintf(__("Could not find primary attendee's new transaction. Current attendee is: %s, we think the 3.1 primary attendee for it has id %d, but there's no 4.1 transaction for that primary attendee id.", "event_espresso"), $this->_json_encode($old_attendee), $primary_attendee_old_id));
415
+				$txn_id = 0;
416
+			}
417
+		}
418
+		// if there isn't yet a transaction row for this, create one
419
+		// (so even if it was a non-primary attendee with no EE3 primary attendee,
420
+		// it ought to have SOME transaction, so we'll make one)
421
+		if (! $txn_id) {
422
+			// maps 3.1 payment stati onto 4.1 transaction stati
423
+			$txn_status_mapping = array(
424
+				'Completed'=>'TCM',
425
+				'Pending'=>'TIN',
426
+				'Payment Declined'=>'TIN',
427
+				'Incomplete'=>'TIN',
428
+				'Not Completed'=>'TIN',
429
+				'Cancelled'=>'TIN',
430
+				'Declined'=>'TIN'
431
+			);
432
+			$STS_ID = isset($txn_status_mapping[ $old_attendee['payment_status'] ]) ? $txn_status_mapping[ $old_attendee['payment_status'] ] : 'TIN';
433
+			$cols_n_values = array(
434
+				'TXN_timestamp'=>$this->get_migration_script()->convert_date_string_to_utc($this, $old_attendee, $old_attendee['date']),
435
+				'TXN_total'=>floatval($old_attendee['total_cost']),
436
+				'TXN_paid'=>floatval($old_attendee['amount_pd']),
437
+				'STS_ID'=>$STS_ID,
438
+				'TXN_hash_salt'=>$old_attendee['hashSalt']
439
+			);
440
+			$datatypes = array(
441
+				'%s',// TXN_timestamp
442
+				'%f',// TXN_total
443
+				'%f',// TXN_paid
444
+				'%s',// STS_ID
445
+				'%s',// TXN_hash_salt
446
+			);
447
+			$success = $wpdb->insert($this->_new_transaction_table, $cols_n_values, $datatypes);
448
+			if (! $success) {
449
+				$this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_attendee, $this->_new_transaction_table, $cols_n_values, $datatypes));
450
+				return 0;
451
+			}
452
+			$txn_id = $wpdb->insert_id;
453
+		}
457 454
 
458
-        return $txn_id;
459
-    }
460
-    /**
461
-     * Detects if the MER tables exist
462
-     * @global type $wpdb
463
-     * @return boolean
464
-     */
465
-    private function _mer_tables_exist()
466
-    {
467
-        if ($this->_mer_tables_exist === null) {
468
-            global $wpdb;
455
+		return $txn_id;
456
+	}
457
+	/**
458
+	 * Detects if the MER tables exist
459
+	 * @global type $wpdb
460
+	 * @return boolean
461
+	 */
462
+	private function _mer_tables_exist()
463
+	{
464
+		if ($this->_mer_tables_exist === null) {
465
+			global $wpdb;
469 466
 
470
-            if ($wpdb->get_var("SHOW TABLES LIKE '{$this->_old_mer_table}'") != $this->_old_mer_table) {
471
-                $this->_mer_tables_exist = false;
472
-            } else {
473
-                $this->_mer_tables_exist = true;
474
-            }
475
-        }
476
-        return $this->_mer_tables_exist;
477
-    }
467
+			if ($wpdb->get_var("SHOW TABLES LIKE '{$this->_old_mer_table}'") != $this->_old_mer_table) {
468
+				$this->_mer_tables_exist = false;
469
+			} else {
470
+				$this->_mer_tables_exist = true;
471
+			}
472
+		}
473
+		return $this->_mer_tables_exist;
474
+	}
478 475
 
479
-    /**
480
-     * Gets the 4.1 registration's status given the 3.1 attendee row. We consider
481
-     * whether the event required pre-approval or not,a dn the 4.1 payment status.
482
-     * @global type $wpdb
483
-     * @param type $old_attendee_row
484
-     * @return string
485
-     */
486
-    private function _get_reg_status_for_old_payment_status($old_attendee_row)
487
-    {
488
-        // need event default reg status and if pre_approval was required
489
-        global $wpdb;
490
-        $event_required_pre_approval = $wpdb->get_var($wpdb->prepare("SELECT require_pre_approval FROM ".$wpdb->prefix."events_detail WHERE id = %d", $old_attendee_row['event_id']));
491
-        return $this->get_migration_script()->convert_3_1_payment_status_to_4_1_STS_ID(
492
-            $old_attendee_row['payment_status'],
493
-            intval($event_required_pre_approval) && intval($old_attendee_row['pre_approve'])
494
-        );
495
-    }
496
-    /**
497
-     * Adds however many rgistrations are indicated by the old attendee's QUANTITY field,
498
-     * and returns an array of their IDs
499
-     * @global type $wpdb
500
-     * @param array $old_attendee
501
-     * @param int $new_attendee_id
502
-     * @param int $new_txn_id
503
-     * @return array of new registratio ids
504
-     */
505
-    private function _insert_new_registrations($old_attendee, $new_attendee_id, $new_txn_id)
506
-    {
507
-        global $wpdb;
476
+	/**
477
+	 * Gets the 4.1 registration's status given the 3.1 attendee row. We consider
478
+	 * whether the event required pre-approval or not,a dn the 4.1 payment status.
479
+	 * @global type $wpdb
480
+	 * @param type $old_attendee_row
481
+	 * @return string
482
+	 */
483
+	private function _get_reg_status_for_old_payment_status($old_attendee_row)
484
+	{
485
+		// need event default reg status and if pre_approval was required
486
+		global $wpdb;
487
+		$event_required_pre_approval = $wpdb->get_var($wpdb->prepare("SELECT require_pre_approval FROM ".$wpdb->prefix."events_detail WHERE id = %d", $old_attendee_row['event_id']));
488
+		return $this->get_migration_script()->convert_3_1_payment_status_to_4_1_STS_ID(
489
+			$old_attendee_row['payment_status'],
490
+			intval($event_required_pre_approval) && intval($old_attendee_row['pre_approve'])
491
+		);
492
+	}
493
+	/**
494
+	 * Adds however many rgistrations are indicated by the old attendee's QUANTITY field,
495
+	 * and returns an array of their IDs
496
+	 * @global type $wpdb
497
+	 * @param array $old_attendee
498
+	 * @param int $new_attendee_id
499
+	 * @param int $new_txn_id
500
+	 * @return array of new registratio ids
501
+	 */
502
+	private function _insert_new_registrations($old_attendee, $new_attendee_id, $new_txn_id)
503
+	{
504
+		global $wpdb;
508 505
 
509
-        $STS_ID = $this->_get_reg_status_for_old_payment_status($old_attendee);
510
-        $new_event_id = $this->get_migration_script()->get_mapping_new_pk($wpdb->prefix.'events_detail', $old_attendee['event_id'], $wpdb->posts);
511
-        if (! $new_event_id) {
512
-            $this->add_error(sprintf(__("Could not find NEW event CPT ID for old event '%d' on old attendee %s", "event_espresso"), $old_attendee['event_id'], $this->_json_encode($old_attendee)));
513
-        }
506
+		$STS_ID = $this->_get_reg_status_for_old_payment_status($old_attendee);
507
+		$new_event_id = $this->get_migration_script()->get_mapping_new_pk($wpdb->prefix.'events_detail', $old_attendee['event_id'], $wpdb->posts);
508
+		if (! $new_event_id) {
509
+			$this->add_error(sprintf(__("Could not find NEW event CPT ID for old event '%d' on old attendee %s", "event_espresso"), $old_attendee['event_id'], $this->_json_encode($old_attendee)));
510
+		}
514 511
 
515
-        $ticket_id = $this->_try_to_find_new_ticket_id($old_attendee, $new_event_id);
516
-        if (! $ticket_id) {
517
-            $ticket_id = $this->_insert_new_ticket_because_none_found($old_attendee, $new_event_id);
518
-            $this->add_error(sprintf(__('Could not find a ticket for old attendee with id %d for new event %d, so created a new ticket with id %d', 'event_espresso'), $old_attendee['id'], $new_event_id, $ticket_id));
519
-        }
520
-        $regs_on_this_row = intval($old_attendee['quantity']);
521
-        $new_regs = array();
522
-        // 4 cases we need to account for:
523
-        // 1 old attendee_details row with a quantity of X (no mer)
524
-        // Y old attendee_details rows with a quantity of 1 (no mer) joined by their common registration_id
525
-        // Y old attendee_details rows with a quantity of x (because of mer)
526
-        // Y old attendee_details rows with a quantity of 1 (because of mer) joined by wp_events_multi_event_registration_id_group
527
-        for ($count = 1; $count <= $regs_on_this_row; $count++) {
528
-            // sum regs on older rows
529
-            $regs_on_this_event_and_txn = $this->_sum_old_attendees_on_old_txn($old_attendee, true);
530
-            $cols_n_values = array(
531
-                'EVT_ID'=>$new_event_id,
532
-                'ATT_ID'=>$new_attendee_id,
533
-                'TXN_ID'=>$new_txn_id,
534
-                'TKT_ID'=>$ticket_id,
535
-                'STS_ID'=>$STS_ID,
536
-                'REG_date'=>$this->get_migration_script()->convert_date_string_to_utc($this, $old_attendee, $old_attendee['date']),
537
-                'REG_final_price'=>$old_attendee['final_price'],
538
-                'REG_session'=> substr($old_attendee['attendee_session'], 0, 44),
539
-                'REG_code'=>sanitize_key($old_attendee['registration_id']),
540
-                'REG_url_link'=>  sanitize_key($old_attendee['registration_id'].'-'.$count),
541
-                'REG_count'=>$regs_on_this_event_and_txn + $count,
542
-                'REG_group_size'=>$this->_sum_old_attendees_on_old_txn($old_attendee, false),
543
-                'REG_att_is_going'=>true,
544
-                'REG_deleted'=>false
545
-            );
546
-            $datatypes = array(
547
-                '%d',// EVT_ID
548
-                '%d',// ATT_ID
549
-                '%d',// TXN_ID
550
-                '%d',// TKT_ID
551
-                '%s',// STS_ID
552
-                '%s',// REG_date
553
-                '%f',// REG_final_price
554
-                '%s',// REG_session
555
-                '%s',// REG_code
556
-                '%s',// REG_url_link
557
-                '%d',// REG_count
558
-                '%d',// REG_group_size
559
-                '%d',// REG_att_is_going
560
-                '%d',// REG_deleted
561
-            );
562
-            $success = $wpdb->insert($this->_new_reg_table, $cols_n_values, $datatypes);
563
-            if (! $success) {
564
-                $this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_attendee, $this->_new_reg_table, $cols_n_values, $datatypes));
565
-                return 0;
566
-            }
567
-            $cols_n_values['REG_ID'] = $wpdb->insert_id;
568
-            $new_regs[] = $wpdb->insert_id;
569
-        }
570
-        $this->_add_regs_to_ticket_and_datetimes($ticket_id, count($new_regs), $STS_ID);
571
-        return $new_regs;
572
-    }
512
+		$ticket_id = $this->_try_to_find_new_ticket_id($old_attendee, $new_event_id);
513
+		if (! $ticket_id) {
514
+			$ticket_id = $this->_insert_new_ticket_because_none_found($old_attendee, $new_event_id);
515
+			$this->add_error(sprintf(__('Could not find a ticket for old attendee with id %d for new event %d, so created a new ticket with id %d', 'event_espresso'), $old_attendee['id'], $new_event_id, $ticket_id));
516
+		}
517
+		$regs_on_this_row = intval($old_attendee['quantity']);
518
+		$new_regs = array();
519
+		// 4 cases we need to account for:
520
+		// 1 old attendee_details row with a quantity of X (no mer)
521
+		// Y old attendee_details rows with a quantity of 1 (no mer) joined by their common registration_id
522
+		// Y old attendee_details rows with a quantity of x (because of mer)
523
+		// Y old attendee_details rows with a quantity of 1 (because of mer) joined by wp_events_multi_event_registration_id_group
524
+		for ($count = 1; $count <= $regs_on_this_row; $count++) {
525
+			// sum regs on older rows
526
+			$regs_on_this_event_and_txn = $this->_sum_old_attendees_on_old_txn($old_attendee, true);
527
+			$cols_n_values = array(
528
+				'EVT_ID'=>$new_event_id,
529
+				'ATT_ID'=>$new_attendee_id,
530
+				'TXN_ID'=>$new_txn_id,
531
+				'TKT_ID'=>$ticket_id,
532
+				'STS_ID'=>$STS_ID,
533
+				'REG_date'=>$this->get_migration_script()->convert_date_string_to_utc($this, $old_attendee, $old_attendee['date']),
534
+				'REG_final_price'=>$old_attendee['final_price'],
535
+				'REG_session'=> substr($old_attendee['attendee_session'], 0, 44),
536
+				'REG_code'=>sanitize_key($old_attendee['registration_id']),
537
+				'REG_url_link'=>  sanitize_key($old_attendee['registration_id'].'-'.$count),
538
+				'REG_count'=>$regs_on_this_event_and_txn + $count,
539
+				'REG_group_size'=>$this->_sum_old_attendees_on_old_txn($old_attendee, false),
540
+				'REG_att_is_going'=>true,
541
+				'REG_deleted'=>false
542
+			);
543
+			$datatypes = array(
544
+				'%d',// EVT_ID
545
+				'%d',// ATT_ID
546
+				'%d',// TXN_ID
547
+				'%d',// TKT_ID
548
+				'%s',// STS_ID
549
+				'%s',// REG_date
550
+				'%f',// REG_final_price
551
+				'%s',// REG_session
552
+				'%s',// REG_code
553
+				'%s',// REG_url_link
554
+				'%d',// REG_count
555
+				'%d',// REG_group_size
556
+				'%d',// REG_att_is_going
557
+				'%d',// REG_deleted
558
+			);
559
+			$success = $wpdb->insert($this->_new_reg_table, $cols_n_values, $datatypes);
560
+			if (! $success) {
561
+				$this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_attendee, $this->_new_reg_table, $cols_n_values, $datatypes));
562
+				return 0;
563
+			}
564
+			$cols_n_values['REG_ID'] = $wpdb->insert_id;
565
+			$new_regs[] = $wpdb->insert_id;
566
+		}
567
+		$this->_add_regs_to_ticket_and_datetimes($ticket_id, count($new_regs), $STS_ID);
568
+		return $new_regs;
569
+	}
573 570
 
574
-    /**
575
-     * Increments the sold values on the ticket and its related datetimes by the amount sold,
576
-     * which should be done directly after adding the rows. Yes this means we're constantly incrementing
577
-     * the sold amounts as we go, and is less efficient than a single big query,
578
-     * but its safer because we KNOW these regs have been added, rather than inferring
579
-     * that they WILL be added (because the attendees stage runs nearly last during
580
-     * the migration script)
581
-     * @param type $new_ticket_id
582
-     * @param type $sold
583
-     * @param type $STS_ID
584
-     * @return boolean whether they were successfully updated or not
585
-     */
586
-    protected function _add_regs_to_ticket_and_datetimes($new_ticket_id, $quantity_sold, $STS_ID)
587
-    {
588
-        if ($STS_ID != 'RAP') {
589
-            return true;
590
-        }
591
-        global $wpdb;
592
-        $success = $wpdb->query($wpdb->prepare("UPDATE {$this->_new_ticket_table} SET TKT_sold=TKT_sold+%d WHERE TKT_ID=%d", $quantity_sold, $new_ticket_id));
593
-        if ($success) {
594
-            // get the ticket's datetimes, and increment them too
595
-            $success_update_dateimtes =  $wpdb->query($wpdb->prepare("UPDATE {$this->_new_ticket_table} TKT
571
+	/**
572
+	 * Increments the sold values on the ticket and its related datetimes by the amount sold,
573
+	 * which should be done directly after adding the rows. Yes this means we're constantly incrementing
574
+	 * the sold amounts as we go, and is less efficient than a single big query,
575
+	 * but its safer because we KNOW these regs have been added, rather than inferring
576
+	 * that they WILL be added (because the attendees stage runs nearly last during
577
+	 * the migration script)
578
+	 * @param type $new_ticket_id
579
+	 * @param type $sold
580
+	 * @param type $STS_ID
581
+	 * @return boolean whether they were successfully updated or not
582
+	 */
583
+	protected function _add_regs_to_ticket_and_datetimes($new_ticket_id, $quantity_sold, $STS_ID)
584
+	{
585
+		if ($STS_ID != 'RAP') {
586
+			return true;
587
+		}
588
+		global $wpdb;
589
+		$success = $wpdb->query($wpdb->prepare("UPDATE {$this->_new_ticket_table} SET TKT_sold=TKT_sold+%d WHERE TKT_ID=%d", $quantity_sold, $new_ticket_id));
590
+		if ($success) {
591
+			// get the ticket's datetimes, and increment them too
592
+			$success_update_dateimtes =  $wpdb->query($wpdb->prepare("UPDATE {$this->_new_ticket_table} TKT
596 593
 				INNER JOIN {$this->_new_ticket_datetime_table} as DTK ON TKT.TKT_ID = DTK.TKT_ID
597 594
 				INNER JOIN {$this->_new_datetime_table} as DTT ON DTK.DTT_ID = DTT.DTT_ID
598 595
 				SET DTT.DTT_sold = DTT.DTT_sold + %d WHERE TKT.TKT_ID = %d", $quantity_sold, $new_ticket_id));
599
-            if (! $success_update_dateimtes) {
600
-                $this->add_error(sprintf(__("Could not update datetimes related to ticket with ID %d's TKT_sold by %d because %s", "event_espresso"), $new_ticket_id, $quantity_sold, $wpdb->last_error));
601
-            }
602
-        } else {
603
-            $this->add_error(sprintf(__("Could not update ticket with ID %d's TKT_sold by %d because %s", "event_espresso"), $new_ticket_id, $quantity_sold, $wpdb->last_error));
604
-        }
605
-        return true;
606
-    }
607
-    /**
608
-     * Makes a best guess at which ticket is the one the attendee purchased.
609
-     * Obviously, the old attendee's event_id narrows it down quite a bit;
610
-     * then the old attendee's orig_price and event_time, and price_option can uniquely identify the ticket
611
-     * however, if we don't find an exact match, see if any of those conditions match;
612
-     * and lastly if none of that works, just use the first ticket for the event we find
613
-     * @param array $old_attendee
614
-     */
615
-    private function _try_to_find_new_ticket_id($old_attendee, $new_event_id)
616
-    {
617
-        global $wpdb;
618
-        $tickets_table = $this->_new_ticket_table;
619
-        $datetime_tickets_table = $this->_new_ticket_datetime_table;
620
-        $datetime_table = $this->_new_datetime_table;
596
+			if (! $success_update_dateimtes) {
597
+				$this->add_error(sprintf(__("Could not update datetimes related to ticket with ID %d's TKT_sold by %d because %s", "event_espresso"), $new_ticket_id, $quantity_sold, $wpdb->last_error));
598
+			}
599
+		} else {
600
+			$this->add_error(sprintf(__("Could not update ticket with ID %d's TKT_sold by %d because %s", "event_espresso"), $new_ticket_id, $quantity_sold, $wpdb->last_error));
601
+		}
602
+		return true;
603
+	}
604
+	/**
605
+	 * Makes a best guess at which ticket is the one the attendee purchased.
606
+	 * Obviously, the old attendee's event_id narrows it down quite a bit;
607
+	 * then the old attendee's orig_price and event_time, and price_option can uniquely identify the ticket
608
+	 * however, if we don't find an exact match, see if any of those conditions match;
609
+	 * and lastly if none of that works, just use the first ticket for the event we find
610
+	 * @param array $old_attendee
611
+	 */
612
+	private function _try_to_find_new_ticket_id($old_attendee, $new_event_id)
613
+	{
614
+		global $wpdb;
615
+		$tickets_table = $this->_new_ticket_table;
616
+		$datetime_tickets_table = $this->_new_ticket_datetime_table;
617
+		$datetime_table = $this->_new_datetime_table;
621 618
 
622
-        $old_att_price_option = $old_attendee['price_option'];
623
-        $old_att_price = floatval($old_attendee['orig_price']);
619
+		$old_att_price_option = $old_attendee['price_option'];
620
+		$old_att_price = floatval($old_attendee['orig_price']);
624 621
 
625
-        $old_att_start_date = $old_attendee['start_date'];
626
-        $old_att_start_time = $this->get_migration_script()->convertTimeFromAMPM($old_attendee['event_time']);
627
-        $old_att_datetime = $this->get_migration_script()->convert_date_string_to_utc($this, $old_attendee, "$old_att_start_date $old_att_start_time:00");
628
-        // add all conditions to an array from which we can SHIFT conditions off in order to widen our search
629
-        // the most important condition should be last, as it will be array_shift'ed off last
630
-        $conditions = array(
631
-            $wpdb->prepare("$datetime_table.DTT_EVT_start = %s", $old_att_datetime),// times match?
632
-            $wpdb->prepare("$tickets_table.TKT_price = %f", $old_att_price),// prices match?
633
-            $wpdb->prepare("$tickets_table.TKT_name = %s", $old_att_price_option),// names match?
634
-            $wpdb->prepare("$datetime_table.EVT_ID = %d", $new_event_id),// events match?
635
-        );
636
-        $select_and_join_part = "SELECT $tickets_table.TKT_ID FROM $tickets_table INNER JOIN
622
+		$old_att_start_date = $old_attendee['start_date'];
623
+		$old_att_start_time = $this->get_migration_script()->convertTimeFromAMPM($old_attendee['event_time']);
624
+		$old_att_datetime = $this->get_migration_script()->convert_date_string_to_utc($this, $old_attendee, "$old_att_start_date $old_att_start_time:00");
625
+		// add all conditions to an array from which we can SHIFT conditions off in order to widen our search
626
+		// the most important condition should be last, as it will be array_shift'ed off last
627
+		$conditions = array(
628
+			$wpdb->prepare("$datetime_table.DTT_EVT_start = %s", $old_att_datetime),// times match?
629
+			$wpdb->prepare("$tickets_table.TKT_price = %f", $old_att_price),// prices match?
630
+			$wpdb->prepare("$tickets_table.TKT_name = %s", $old_att_price_option),// names match?
631
+			$wpdb->prepare("$datetime_table.EVT_ID = %d", $new_event_id),// events match?
632
+		);
633
+		$select_and_join_part = "SELECT $tickets_table.TKT_ID FROM $tickets_table INNER JOIN
637 634
 			$datetime_tickets_table ON $tickets_table.TKT_ID = $datetime_tickets_table.TKT_ID INNER JOIN
638 635
 			$datetime_table ON $datetime_tickets_table.DTT_ID = $datetime_table.DTT_ID";
639
-        // start running queries, widening search each time by removing a condition
640
-        do {
641
-            $full_query = $select_and_join_part." WHERE ".implode(" AND ", $conditions)." LIMIT 1";
642
-            $ticket_id_found = $wpdb->get_var($full_query);
643
-            array_shift($conditions);
644
-        } while (! $ticket_id_found && $conditions);
645
-        return $ticket_id_found;
646
-    }
636
+		// start running queries, widening search each time by removing a condition
637
+		do {
638
+			$full_query = $select_and_join_part." WHERE ".implode(" AND ", $conditions)." LIMIT 1";
639
+			$ticket_id_found = $wpdb->get_var($full_query);
640
+			array_shift($conditions);
641
+		} while (! $ticket_id_found && $conditions);
642
+		return $ticket_id_found;
643
+	}
647 644
 
648
-    /**
649
-     * If we couldn't find a 4.1 ticket for a 3.1 attendee row, this function creates one;
650
-     * and it also tries to find a datetime that works, and a inserts a price, and associates
651
-     * the new ticket to that datetime and price.
652
-     * @return int ticket id
653
-     */
654
-    private function _insert_new_ticket_because_none_found($old_attendee, $new_event_id)
655
-    {
656
-        global $wpdb;
657
-        $old_att_price_option = $old_attendee['price_option'];
658
-        $old_att_price = floatval($old_attendee['orig_price']);
645
+	/**
646
+	 * If we couldn't find a 4.1 ticket for a 3.1 attendee row, this function creates one;
647
+	 * and it also tries to find a datetime that works, and a inserts a price, and associates
648
+	 * the new ticket to that datetime and price.
649
+	 * @return int ticket id
650
+	 */
651
+	private function _insert_new_ticket_because_none_found($old_attendee, $new_event_id)
652
+	{
653
+		global $wpdb;
654
+		$old_att_price_option = $old_attendee['price_option'];
655
+		$old_att_price = floatval($old_attendee['orig_price']);
659 656
 
660
-        $old_att_start_date = $old_attendee['start_date'];
661
-        $old_att_start_time = $this->get_migration_script()->convertTimeFromAMPM($old_attendee['event_time']);
662
-        $old_att_start_datetime = $this->get_migration_script()->convert_date_string_to_utc($this, $old_attendee, "$old_att_start_date $old_att_start_time:00");
657
+		$old_att_start_date = $old_attendee['start_date'];
658
+		$old_att_start_time = $this->get_migration_script()->convertTimeFromAMPM($old_attendee['event_time']);
659
+		$old_att_start_datetime = $this->get_migration_script()->convert_date_string_to_utc($this, $old_attendee, "$old_att_start_date $old_att_start_time:00");
663 660
 
664 661
 
665
-        // insert new datetime unless we find one
666
-        $datetime_id = $wpdb->get_var($wpdb->prepare("SELECT DTT_ID FROM " . $this->_new_datetime_table . " WHERE DTT_EVT_start=%s AND EVT_ID=%d LIMIT 1", $old_att_start_datetime, $new_event_id), ARRAY_A);
667
-        if (! $datetime_id) {
668
-            $old_att_end_date = $old_attendee['start_date'];
669
-            $old_att_end_time = $this->get_migration_script()->convertTimeFromAMPM($old_attendee['event_time']);
670
-            $old_att_end_datetime = $this->get_migration_script()->convert_date_string_to_utc($this, $old_attendee, "$old_att_end_date $old_att_end_time:00");
671
-            $wpdb->insert(
672
-                $this->_new_datetime_table,
673
-                array(
674
-                        'EVT_ID' => $new_event_id,
675
-                        'DTT_EVT_start' => $old_att_start_datetime,
676
-                        'DTT_EVT_end' => $old_att_end_datetime,
677
-                        'DTT_deleted' => true
678
-                    ),
679
-                array(
680
-                        '%d',// EVT_ID
681
-                        '%s',// DTT_EVT_start
682
-                        '%s',// DTT_EVT_end
683
-                        '%d',// DTT_deleted
684
-                    )
685
-            );
686
-            $datetime_id = $wpdb->insert_id;
687
-        }
662
+		// insert new datetime unless we find one
663
+		$datetime_id = $wpdb->get_var($wpdb->prepare("SELECT DTT_ID FROM " . $this->_new_datetime_table . " WHERE DTT_EVT_start=%s AND EVT_ID=%d LIMIT 1", $old_att_start_datetime, $new_event_id), ARRAY_A);
664
+		if (! $datetime_id) {
665
+			$old_att_end_date = $old_attendee['start_date'];
666
+			$old_att_end_time = $this->get_migration_script()->convertTimeFromAMPM($old_attendee['event_time']);
667
+			$old_att_end_datetime = $this->get_migration_script()->convert_date_string_to_utc($this, $old_attendee, "$old_att_end_date $old_att_end_time:00");
668
+			$wpdb->insert(
669
+				$this->_new_datetime_table,
670
+				array(
671
+						'EVT_ID' => $new_event_id,
672
+						'DTT_EVT_start' => $old_att_start_datetime,
673
+						'DTT_EVT_end' => $old_att_end_datetime,
674
+						'DTT_deleted' => true
675
+					),
676
+				array(
677
+						'%d',// EVT_ID
678
+						'%s',// DTT_EVT_start
679
+						'%s',// DTT_EVT_end
680
+						'%d',// DTT_deleted
681
+					)
682
+			);
683
+			$datetime_id = $wpdb->insert_id;
684
+		}
688 685
 
689
-        // insert new ticket
690
-        $success = $wpdb->insert(
691
-            $wpdb->prefix . 'esp_ticket',
692
-            array(
693
-                    'TKT_name' => $old_att_price_option,
694
-                    'TKT_qty' => -1,
695
-                    'TKT_price' => $old_att_price,
696
-                    'TKT_start_date' => $old_att_start_datetime,// we really have no clue what the time should be, but at least it was available when they attended
697
-                    'TKT_end_date' => $old_att_end_datetime,
686
+		// insert new ticket
687
+		$success = $wpdb->insert(
688
+			$wpdb->prefix . 'esp_ticket',
689
+			array(
690
+					'TKT_name' => $old_att_price_option,
691
+					'TKT_qty' => -1,
692
+					'TKT_price' => $old_att_price,
693
+					'TKT_start_date' => $old_att_start_datetime,// we really have no clue what the time should be, but at least it was available when they attended
694
+					'TKT_end_date' => $old_att_end_datetime,
698 695
 
699
-                ),
700
-            array(
701
-                    '%s',// name
702
-                    '%d',// qty
703
-                    '%d',// price
704
-                    '%s',// start_date
705
-                    '%s',// end_date
706
-                )
707
-        );
708
-        $ticket_id = $wpdb->insert_id;
709
-        // associate the ticket with the datetime we found earlier
710
-        $wpdb->insert(
711
-            $this->_new_datetime_ticket_table,
712
-            array(
713
-                    'DTT_ID' => $datetime_id,
714
-                    'TKT_ID' => $ticket_id
715
-                ),
716
-            array(
717
-                    '%d',// DTT_ID
718
-                    '%d',// TKT_ID
719
-                )
720
-        );
721
-        // insert new price
722
-        $wpdb->insert(
723
-            $this->_new_price_table,
724
-            array(
725
-                    'PRC_amount' => $old_att_price,
726
-                    'PRT_ID' => EE_DMS_4_1_0_prices::price_type_base,
727
-                    'PRC_name' => $old_att_price_option,
728
-                    'PRC_deleted' => true
729
-                ),
730
-            array(
731
-                    '%d',// PRC_amount
732
-                    '%d',// PRT_ID
733
-                    '%s',// PRC_name
734
-                    '%d',// PRC_deleted
735
-                )
736
-        );
737
-        $price_id = $wpdb->insert_id;
738
-        // associate the price to the ticket
739
-        $wpdb->insert(
740
-            $this->_new_ticket_price_table,
741
-            array(
742
-                    'TKT_ID' => $ticket_id,
743
-                    'PRC_ID' => $price_id
744
-                ),
745
-            array(
746
-                    '%d',// TKT_ID
747
-                    '%d',// PRC_ID
748
-                )
749
-        );
750
-        return $ticket_id;
751
-    }
752
-    /**
753
-     * Counts all the registrations on this transaction. If $count_only_older is TRUE then returns the number added SO FAR (ie,
754
-     * only considers attendee rows with an ID less than this one's), but if $count_only_older is FALSe returns ALL
755
-     * @global type $wpdb
756
-     * @param array $old_attendee_row
757
-     * @param boolean $count_only_older true if you want the running count (ie, the total up to this row), and false if you want ALL
758
-     * @return int
759
-     */
760
-    private function _sum_old_attendees_on_old_txn($old_attendee_row, $count_only_older = false)
761
-    {
762
-        global $wpdb;
763
-        $count_only_older_sql = $count_only_older ? $wpdb->prepare(" AND id<%d", $old_attendee_row['id']) : '';
764
-        $count = intval($wpdb->get_var($wpdb->prepare("SELECT SUM(quantity) FROM ".$this->_old_table." WHERE registration_id=%s $count_only_older_sql", $old_attendee_row['registration_id'])));
696
+				),
697
+			array(
698
+					'%s',// name
699
+					'%d',// qty
700
+					'%d',// price
701
+					'%s',// start_date
702
+					'%s',// end_date
703
+				)
704
+		);
705
+		$ticket_id = $wpdb->insert_id;
706
+		// associate the ticket with the datetime we found earlier
707
+		$wpdb->insert(
708
+			$this->_new_datetime_ticket_table,
709
+			array(
710
+					'DTT_ID' => $datetime_id,
711
+					'TKT_ID' => $ticket_id
712
+				),
713
+			array(
714
+					'%d',// DTT_ID
715
+					'%d',// TKT_ID
716
+				)
717
+		);
718
+		// insert new price
719
+		$wpdb->insert(
720
+			$this->_new_price_table,
721
+			array(
722
+					'PRC_amount' => $old_att_price,
723
+					'PRT_ID' => EE_DMS_4_1_0_prices::price_type_base,
724
+					'PRC_name' => $old_att_price_option,
725
+					'PRC_deleted' => true
726
+				),
727
+			array(
728
+					'%d',// PRC_amount
729
+					'%d',// PRT_ID
730
+					'%s',// PRC_name
731
+					'%d',// PRC_deleted
732
+				)
733
+		);
734
+		$price_id = $wpdb->insert_id;
735
+		// associate the price to the ticket
736
+		$wpdb->insert(
737
+			$this->_new_ticket_price_table,
738
+			array(
739
+					'TKT_ID' => $ticket_id,
740
+					'PRC_ID' => $price_id
741
+				),
742
+			array(
743
+					'%d',// TKT_ID
744
+					'%d',// PRC_ID
745
+				)
746
+		);
747
+		return $ticket_id;
748
+	}
749
+	/**
750
+	 * Counts all the registrations on this transaction. If $count_only_older is TRUE then returns the number added SO FAR (ie,
751
+	 * only considers attendee rows with an ID less than this one's), but if $count_only_older is FALSe returns ALL
752
+	 * @global type $wpdb
753
+	 * @param array $old_attendee_row
754
+	 * @param boolean $count_only_older true if you want the running count (ie, the total up to this row), and false if you want ALL
755
+	 * @return int
756
+	 */
757
+	private function _sum_old_attendees_on_old_txn($old_attendee_row, $count_only_older = false)
758
+	{
759
+		global $wpdb;
760
+		$count_only_older_sql = $count_only_older ? $wpdb->prepare(" AND id<%d", $old_attendee_row['id']) : '';
761
+		$count = intval($wpdb->get_var($wpdb->prepare("SELECT SUM(quantity) FROM ".$this->_old_table." WHERE registration_id=%s $count_only_older_sql", $old_attendee_row['registration_id'])));
765 762
 
766
-        if ($this->_mer_tables_exist()) {
767
-            // if MER exists, then its a little tricky.
768
-            // when users registered by adding items to the cart, and it was a
769
-            // group registration requiring additional attendee INFO, then the attendee rows
770
-            // DO NOT have the same registration_id (although they probably should have)
771
-            // they are related just like MER attendee rows are related, through the MER group table
772
-            // BUT we want to count all the MER attendee rows for the same registration
773
-            $primary_attendee = $this->_find_mer_primary_attendee_using_mer_tables($old_attendee_row['registration_id']);
763
+		if ($this->_mer_tables_exist()) {
764
+			// if MER exists, then its a little tricky.
765
+			// when users registered by adding items to the cart, and it was a
766
+			// group registration requiring additional attendee INFO, then the attendee rows
767
+			// DO NOT have the same registration_id (although they probably should have)
768
+			// they are related just like MER attendee rows are related, through the MER group table
769
+			// BUT we want to count all the MER attendee rows for the same registration
770
+			$primary_attendee = $this->_find_mer_primary_attendee_using_mer_tables($old_attendee_row['registration_id']);
774 771
 
775
-            $count_using_mer_table = $wpdb->get_var($wpdb->prepare("SELECT SUM(quantity) FROM {$this->_old_table} att INNER JOIN {$this->_old_mer_table} mer ON att.registration_id = mer.registration_id WHERE att.event_id=%d AND mer.primary_registration_id = %s $count_only_older_sql", $old_attendee_row['event_id'], $primary_attendee['registration_id']));
776
-            $count = max($count_using_mer_table, $count);
777
-        }
778
-        return $count;
779
-    }
780
-    private function _insert_new_payment($old_attendee, $new_txn_id)
781
-    {
782
-        global $wpdb;
783
-        // only add a payment for primary attendees
784
-        $old_pay_stati_indicating_no_payment = array('Pending','Incomplete','Not Completed');
785
-        // if this is for a primary 3.1 attendee which WASN'T free and has a completed, cancelled, or declined payment...
786
-        if (intval($old_attendee['is_primary']) && floatval($old_attendee['total_cost']) && ! in_array($old_attendee['payment_status'], $old_pay_stati_indicating_no_payment)) {
787
-            $pay_status_mapping = array(
788
-                'Completed'=>'PAP',
789
-                'Payment Declined'=>'PDC',
790
-                'Cancelled'=>'PCN',
791
-                'Declined'=>'PDC'
792
-            );
793
-            $by_admin = $old_attendee['payment'] == 'Admin';
794
-            $STS_ID = isset($pay_status_mapping[ $old_attendee['payment_status'] ]) ? $pay_status_mapping[ $old_attendee['payment_status'] ] : 'PFL';// IE, if we don't recognize the status, assume payment failed
795
-            $cols_n_values = array(
796
-                'TXN_ID'=>$new_txn_id,
797
-                'STS_ID'=>$STS_ID,
798
-                'PAY_timestamp'=>$this->get_migration_script()->convert_date_string_to_utc($this, $old_attendee, $old_attendee['date']),
799
-                'PAY_method'=>'CART',
800
-                'PAY_amount'=>$old_attendee['amount_pd'],
801
-                'PAY_gateway'=>$old_attendee['txn_type'],
802
-                'PAY_gateway_response'=>'',
803
-                'PAY_txn_id_chq_nmbr'=>substr($old_attendee['txn_id'], 0, 32),
804
-                'PAY_via_admin'=>$by_admin,
805
-                'PAY_details'=>$old_attendee['transaction_details']
772
+			$count_using_mer_table = $wpdb->get_var($wpdb->prepare("SELECT SUM(quantity) FROM {$this->_old_table} att INNER JOIN {$this->_old_mer_table} mer ON att.registration_id = mer.registration_id WHERE att.event_id=%d AND mer.primary_registration_id = %s $count_only_older_sql", $old_attendee_row['event_id'], $primary_attendee['registration_id']));
773
+			$count = max($count_using_mer_table, $count);
774
+		}
775
+		return $count;
776
+	}
777
+	private function _insert_new_payment($old_attendee, $new_txn_id)
778
+	{
779
+		global $wpdb;
780
+		// only add a payment for primary attendees
781
+		$old_pay_stati_indicating_no_payment = array('Pending','Incomplete','Not Completed');
782
+		// if this is for a primary 3.1 attendee which WASN'T free and has a completed, cancelled, or declined payment...
783
+		if (intval($old_attendee['is_primary']) && floatval($old_attendee['total_cost']) && ! in_array($old_attendee['payment_status'], $old_pay_stati_indicating_no_payment)) {
784
+			$pay_status_mapping = array(
785
+				'Completed'=>'PAP',
786
+				'Payment Declined'=>'PDC',
787
+				'Cancelled'=>'PCN',
788
+				'Declined'=>'PDC'
789
+			);
790
+			$by_admin = $old_attendee['payment'] == 'Admin';
791
+			$STS_ID = isset($pay_status_mapping[ $old_attendee['payment_status'] ]) ? $pay_status_mapping[ $old_attendee['payment_status'] ] : 'PFL';// IE, if we don't recognize the status, assume payment failed
792
+			$cols_n_values = array(
793
+				'TXN_ID'=>$new_txn_id,
794
+				'STS_ID'=>$STS_ID,
795
+				'PAY_timestamp'=>$this->get_migration_script()->convert_date_string_to_utc($this, $old_attendee, $old_attendee['date']),
796
+				'PAY_method'=>'CART',
797
+				'PAY_amount'=>$old_attendee['amount_pd'],
798
+				'PAY_gateway'=>$old_attendee['txn_type'],
799
+				'PAY_gateway_response'=>'',
800
+				'PAY_txn_id_chq_nmbr'=>substr($old_attendee['txn_id'], 0, 32),
801
+				'PAY_via_admin'=>$by_admin,
802
+				'PAY_details'=>$old_attendee['transaction_details']
806 803
 
807
-            );
808
-            $datatypes = array(
809
-                '%d',// TXN_Id
810
-                '%s',// STS_ID
811
-                '%s',// PAY_timestamp
812
-                '%s',// PAY_method
813
-                '%f',// PAY_amount
814
-                '%s',// PAY_gateway
815
-                '%s',// PAY_gateway_response
816
-                '%s',// PAY_txn_id_chq_nmbr
817
-                '%d',// PAY_via_admin
818
-                '%s',// PAY_details
819
-            );
820
-            $success = $wpdb->insert($this->_new_payment_table, $cols_n_values, $datatypes);
821
-            if (! $success) {
822
-                $this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_attendee, $this->_new_attendee_cpt_table, $cols_n_values, $datatypes));
823
-                return 0;
824
-            }
825
-            $new_id = $wpdb->insert_id;
826
-            return $new_id;
827
-        } else {
828
-            return 0;
829
-        }
830
-    }
804
+			);
805
+			$datatypes = array(
806
+				'%d',// TXN_Id
807
+				'%s',// STS_ID
808
+				'%s',// PAY_timestamp
809
+				'%s',// PAY_method
810
+				'%f',// PAY_amount
811
+				'%s',// PAY_gateway
812
+				'%s',// PAY_gateway_response
813
+				'%s',// PAY_txn_id_chq_nmbr
814
+				'%d',// PAY_via_admin
815
+				'%s',// PAY_details
816
+			);
817
+			$success = $wpdb->insert($this->_new_payment_table, $cols_n_values, $datatypes);
818
+			if (! $success) {
819
+				$this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_attendee, $this->_new_attendee_cpt_table, $cols_n_values, $datatypes));
820
+				return 0;
821
+			}
822
+			$new_id = $wpdb->insert_id;
823
+			return $new_id;
824
+		} else {
825
+			return 0;
826
+		}
827
+	}
831 828
 
832
-    /**
833
-     * If MER is active, if you want ot fin dthe other registrations on that attendee row
834
-     * @global type $wpdb
835
-     * @param type $old_registration_id
836
-     * @return array
837
-     */
838
-    private function _find_mer_primary_attendee_using_mer_tables($old_registration_id)
839
-    {
840
-        if (! $this->_mer_tables_exist()) {
841
-            return false;
842
-        }
843
-        global $wpdb;
844
-        $old_att_for_primary_reg = $wpdb->get_row($wpdb->prepare("SELECT * FROM {$this->_old_mer_table} AS mer INNER JOIN {$this->_old_table} AS att ON mer.primary_registration_id = att.registration_id WHERE mer.registration_id=%s LIMIT 1", $old_registration_id), ARRAY_A);
845
-        return $old_att_for_primary_reg;
846
-    }
829
+	/**
830
+	 * If MER is active, if you want ot fin dthe other registrations on that attendee row
831
+	 * @global type $wpdb
832
+	 * @param type $old_registration_id
833
+	 * @return array
834
+	 */
835
+	private function _find_mer_primary_attendee_using_mer_tables($old_registration_id)
836
+	{
837
+		if (! $this->_mer_tables_exist()) {
838
+			return false;
839
+		}
840
+		global $wpdb;
841
+		$old_att_for_primary_reg = $wpdb->get_row($wpdb->prepare("SELECT * FROM {$this->_old_mer_table} AS mer INNER JOIN {$this->_old_table} AS att ON mer.primary_registration_id = att.registration_id WHERE mer.registration_id=%s LIMIT 1", $old_registration_id), ARRAY_A);
842
+		return $old_att_for_primary_reg;
843
+	}
847 844
 }
Please login to merge, or discard this patch.
Spacing   +104 added lines, -104 removed lines patch added patch discarded remove patch
@@ -260,9 +260,9 @@  discard block
 block discarded – undo
260 260
     {
261 261
         // first check if there's already a new attendee with similar characteristics
262 262
         $new_att_id = $this->_find_attendee_cpt_matching($old_row);
263
-        if (! $new_att_id) {
263
+        if ( ! $new_att_id) {
264 264
             $new_att_id = $this->_insert_new_attendee_cpt($old_row);
265
-            if (! $new_att_id) {
265
+            if ( ! $new_att_id) {
266 266
                 // if we couldnt even make an attendee, abandon all hope
267 267
                 return false;
268 268
             }
@@ -274,7 +274,7 @@  discard block
 block discarded – undo
274 274
         $this->get_migration_script()->set_mapping($this->_old_table, $old_row['id'], $this->_new_attendee_cpt_table, $new_att_id);
275 275
 
276 276
         $txn_id = $this->_insert_new_transaction($old_row);
277
-        if (! $txn_id) {
277
+        if ( ! $txn_id) {
278 278
             // if we couldnt make the transaction, also abandon all hope
279 279
             return false;
280 280
         }
@@ -308,31 +308,31 @@  discard block
 block discarded – undo
308 308
     {
309 309
         global $wpdb;
310 310
         $cols_n_values = array(
311
-            'post_title'=>stripslashes($old_attendee['fname']." ".$old_attendee['lname']),// ATT_full_name
312
-            'post_content'=>'',// ATT_bio
313
-            'post_name'=>sanitize_title($old_attendee['fname']."-".$old_attendee['lname']),// ATT_slug
314
-            'post_date'=>$this->get_migration_script()->convert_date_string_to_utc($this, $old_attendee, $old_attendee['date']),// ATT_created
315
-            'post_excerpt'=>'',// ATT_short_bio
316
-            'post_modified'=>$this->get_migration_script()->convert_date_string_to_utc($this, $old_attendee, $old_attendee['date']),// ATT_modified
317
-            'post_author'=>0,// ATT_author
318
-            'post_parent'=>0,// ATT_parent
319
-            'post_type'=>'espresso_attendees',// post_type
311
+            'post_title'=>stripslashes($old_attendee['fname']." ".$old_attendee['lname']), // ATT_full_name
312
+            'post_content'=>'', // ATT_bio
313
+            'post_name'=>sanitize_title($old_attendee['fname']."-".$old_attendee['lname']), // ATT_slug
314
+            'post_date'=>$this->get_migration_script()->convert_date_string_to_utc($this, $old_attendee, $old_attendee['date']), // ATT_created
315
+            'post_excerpt'=>'', // ATT_short_bio
316
+            'post_modified'=>$this->get_migration_script()->convert_date_string_to_utc($this, $old_attendee, $old_attendee['date']), // ATT_modified
317
+            'post_author'=>0, // ATT_author
318
+            'post_parent'=>0, // ATT_parent
319
+            'post_type'=>'espresso_attendees', // post_type
320 320
             'post_status'=>'publish'// status
321 321
         );
322 322
         $datatypes = array(
323
-            '%s',// ATT_full_name
324
-            '%s',// ATT_bio
325
-            '%s',// ATT_slug
326
-            '%s',// ATT_created
327
-            '%s',// ATT_short_bio
328
-            '%s',// ATT_modified
329
-            '%d',// ATT_author
330
-            '%d',// ATT_parent
331
-            '%s',// post_type
332
-            '%s',// status
323
+            '%s', // ATT_full_name
324
+            '%s', // ATT_bio
325
+            '%s', // ATT_slug
326
+            '%s', // ATT_created
327
+            '%s', // ATT_short_bio
328
+            '%s', // ATT_modified
329
+            '%d', // ATT_author
330
+            '%d', // ATT_parent
331
+            '%s', // post_type
332
+            '%s', // status
333 333
         );
334 334
         $success = $wpdb->insert($this->_new_attendee_cpt_table, $cols_n_values, $datatypes);
335
-        if (! $success) {
335
+        if ( ! $success) {
336 336
             $this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_attendee, $this->_new_attendee_cpt_table, $cols_n_values, $datatypes));
337 337
             return 0;
338 338
         }
@@ -370,20 +370,20 @@  discard block
 block discarded – undo
370 370
             'ATT_phone'=>stripslashes($old_attendee['phone']),
371 371
         );
372 372
         $datatypes = array(
373
-            '%d',// ATT_ID
374
-            '%s',// ATT_fname
375
-            '%s',// ATT_lname
376
-            '%s',// ATT_address
377
-            '%s',// ATT_address2
378
-            '%s',// ATT_city
379
-            '%d',// STA_ID
380
-            '%s',// CNT_ISO
381
-            '%s',// ATT_zip
382
-            '%s',// ATT_email
383
-            '%s',// ATT_phone
373
+            '%d', // ATT_ID
374
+            '%s', // ATT_fname
375
+            '%s', // ATT_lname
376
+            '%s', // ATT_address
377
+            '%s', // ATT_address2
378
+            '%s', // ATT_city
379
+            '%d', // STA_ID
380
+            '%s', // CNT_ISO
381
+            '%s', // ATT_zip
382
+            '%s', // ATT_email
383
+            '%s', // ATT_phone
384 384
         );
385 385
         $success = $wpdb->insert($this->_new_attendee_meta_table, $cols_n_values, $datatypes);
386
-        if (! $success) {
386
+        if ( ! $success) {
387 387
             $this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_attendee, $this->_new_attendee_meta_table, $cols_n_values, $datatypes));
388 388
             return 0;
389 389
         }
@@ -408,12 +408,12 @@  discard block
 block discarded – undo
408 408
             $txn_id = $this->get_migration_script()->get_mapping_new_pk($this->_old_table, intval($old_attendee['id']), $this->_new_transaction_table);
409 409
         } else { // non-primary attendee, so find its primary attendee's transaction
410 410
             $primary_attendee_old_id = $wpdb->get_var($wpdb->prepare("SELECT id FROM ".$this->_old_table." WHERE is_primary=1 and registration_id=%s", $old_attendee['registration_id']));
411
-            if (! $primary_attendee_old_id) {
411
+            if ( ! $primary_attendee_old_id) {
412 412
                 $primary_attendee = $this->_find_mer_primary_attendee_using_mer_tables($old_attendee['registration_id']);
413 413
                 $primary_attendee_old_id = is_array($primary_attendee) ? $primary_attendee['id'] : null;
414 414
             }
415 415
             $txn_id = $this->get_migration_script()->get_mapping_new_pk($this->_old_table, intval($primary_attendee_old_id), $this->_new_transaction_table);
416
-            if (! $txn_id) {
416
+            if ( ! $txn_id) {
417 417
                 $this->add_error(sprintf(__("Could not find primary attendee's new transaction. Current attendee is: %s, we think the 3.1 primary attendee for it has id %d, but there's no 4.1 transaction for that primary attendee id.", "event_espresso"), $this->_json_encode($old_attendee), $primary_attendee_old_id));
418 418
                 $txn_id = 0;
419 419
             }
@@ -421,7 +421,7 @@  discard block
 block discarded – undo
421 421
         // if there isn't yet a transaction row for this, create one
422 422
         // (so even if it was a non-primary attendee with no EE3 primary attendee,
423 423
         // it ought to have SOME transaction, so we'll make one)
424
-        if (! $txn_id) {
424
+        if ( ! $txn_id) {
425 425
             // maps 3.1 payment stati onto 4.1 transaction stati
426 426
             $txn_status_mapping = array(
427 427
                 'Completed'=>'TCM',
@@ -432,7 +432,7 @@  discard block
 block discarded – undo
432 432
                 'Cancelled'=>'TIN',
433 433
                 'Declined'=>'TIN'
434 434
             );
435
-            $STS_ID = isset($txn_status_mapping[ $old_attendee['payment_status'] ]) ? $txn_status_mapping[ $old_attendee['payment_status'] ] : 'TIN';
435
+            $STS_ID = isset($txn_status_mapping[$old_attendee['payment_status']]) ? $txn_status_mapping[$old_attendee['payment_status']] : 'TIN';
436 436
             $cols_n_values = array(
437 437
                 'TXN_timestamp'=>$this->get_migration_script()->convert_date_string_to_utc($this, $old_attendee, $old_attendee['date']),
438 438
                 'TXN_total'=>floatval($old_attendee['total_cost']),
@@ -441,14 +441,14 @@  discard block
 block discarded – undo
441 441
                 'TXN_hash_salt'=>$old_attendee['hashSalt']
442 442
             );
443 443
             $datatypes = array(
444
-                '%s',// TXN_timestamp
445
-                '%f',// TXN_total
446
-                '%f',// TXN_paid
447
-                '%s',// STS_ID
448
-                '%s',// TXN_hash_salt
444
+                '%s', // TXN_timestamp
445
+                '%f', // TXN_total
446
+                '%f', // TXN_paid
447
+                '%s', // STS_ID
448
+                '%s', // TXN_hash_salt
449 449
             );
450 450
             $success = $wpdb->insert($this->_new_transaction_table, $cols_n_values, $datatypes);
451
-            if (! $success) {
451
+            if ( ! $success) {
452 452
                 $this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_attendee, $this->_new_transaction_table, $cols_n_values, $datatypes));
453 453
                 return 0;
454 454
             }
@@ -508,12 +508,12 @@  discard block
 block discarded – undo
508 508
 
509 509
         $STS_ID = $this->_get_reg_status_for_old_payment_status($old_attendee);
510 510
         $new_event_id = $this->get_migration_script()->get_mapping_new_pk($wpdb->prefix.'events_detail', $old_attendee['event_id'], $wpdb->posts);
511
-        if (! $new_event_id) {
511
+        if ( ! $new_event_id) {
512 512
             $this->add_error(sprintf(__("Could not find NEW event CPT ID for old event '%d' on old attendee %s", "event_espresso"), $old_attendee['event_id'], $this->_json_encode($old_attendee)));
513 513
         }
514 514
 
515 515
         $ticket_id = $this->_try_to_find_new_ticket_id($old_attendee, $new_event_id);
516
-        if (! $ticket_id) {
516
+        if ( ! $ticket_id) {
517 517
             $ticket_id = $this->_insert_new_ticket_because_none_found($old_attendee, $new_event_id);
518 518
             $this->add_error(sprintf(__('Could not find a ticket for old attendee with id %d for new event %d, so created a new ticket with id %d', 'event_espresso'), $old_attendee['id'], $new_event_id, $ticket_id));
519 519
         }
@@ -544,23 +544,23 @@  discard block
 block discarded – undo
544 544
                 'REG_deleted'=>false
545 545
             );
546 546
             $datatypes = array(
547
-                '%d',// EVT_ID
548
-                '%d',// ATT_ID
549
-                '%d',// TXN_ID
550
-                '%d',// TKT_ID
551
-                '%s',// STS_ID
552
-                '%s',// REG_date
553
-                '%f',// REG_final_price
554
-                '%s',// REG_session
555
-                '%s',// REG_code
556
-                '%s',// REG_url_link
557
-                '%d',// REG_count
558
-                '%d',// REG_group_size
559
-                '%d',// REG_att_is_going
560
-                '%d',// REG_deleted
547
+                '%d', // EVT_ID
548
+                '%d', // ATT_ID
549
+                '%d', // TXN_ID
550
+                '%d', // TKT_ID
551
+                '%s', // STS_ID
552
+                '%s', // REG_date
553
+                '%f', // REG_final_price
554
+                '%s', // REG_session
555
+                '%s', // REG_code
556
+                '%s', // REG_url_link
557
+                '%d', // REG_count
558
+                '%d', // REG_group_size
559
+                '%d', // REG_att_is_going
560
+                '%d', // REG_deleted
561 561
             );
562 562
             $success = $wpdb->insert($this->_new_reg_table, $cols_n_values, $datatypes);
563
-            if (! $success) {
563
+            if ( ! $success) {
564 564
                 $this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_attendee, $this->_new_reg_table, $cols_n_values, $datatypes));
565 565
                 return 0;
566 566
             }
@@ -592,11 +592,11 @@  discard block
 block discarded – undo
592 592
         $success = $wpdb->query($wpdb->prepare("UPDATE {$this->_new_ticket_table} SET TKT_sold=TKT_sold+%d WHERE TKT_ID=%d", $quantity_sold, $new_ticket_id));
593 593
         if ($success) {
594 594
             // get the ticket's datetimes, and increment them too
595
-            $success_update_dateimtes =  $wpdb->query($wpdb->prepare("UPDATE {$this->_new_ticket_table} TKT
595
+            $success_update_dateimtes = $wpdb->query($wpdb->prepare("UPDATE {$this->_new_ticket_table} TKT
596 596
 				INNER JOIN {$this->_new_ticket_datetime_table} as DTK ON TKT.TKT_ID = DTK.TKT_ID
597 597
 				INNER JOIN {$this->_new_datetime_table} as DTT ON DTK.DTT_ID = DTT.DTT_ID
598 598
 				SET DTT.DTT_sold = DTT.DTT_sold + %d WHERE TKT.TKT_ID = %d", $quantity_sold, $new_ticket_id));
599
-            if (! $success_update_dateimtes) {
599
+            if ( ! $success_update_dateimtes) {
600 600
                 $this->add_error(sprintf(__("Could not update datetimes related to ticket with ID %d's TKT_sold by %d because %s", "event_espresso"), $new_ticket_id, $quantity_sold, $wpdb->last_error));
601 601
             }
602 602
         } else {
@@ -628,10 +628,10 @@  discard block
 block discarded – undo
628 628
         // add all conditions to an array from which we can SHIFT conditions off in order to widen our search
629 629
         // the most important condition should be last, as it will be array_shift'ed off last
630 630
         $conditions = array(
631
-            $wpdb->prepare("$datetime_table.DTT_EVT_start = %s", $old_att_datetime),// times match?
632
-            $wpdb->prepare("$tickets_table.TKT_price = %f", $old_att_price),// prices match?
633
-            $wpdb->prepare("$tickets_table.TKT_name = %s", $old_att_price_option),// names match?
634
-            $wpdb->prepare("$datetime_table.EVT_ID = %d", $new_event_id),// events match?
631
+            $wpdb->prepare("$datetime_table.DTT_EVT_start = %s", $old_att_datetime), // times match?
632
+            $wpdb->prepare("$tickets_table.TKT_price = %f", $old_att_price), // prices match?
633
+            $wpdb->prepare("$tickets_table.TKT_name = %s", $old_att_price_option), // names match?
634
+            $wpdb->prepare("$datetime_table.EVT_ID = %d", $new_event_id), // events match?
635 635
         );
636 636
         $select_and_join_part = "SELECT $tickets_table.TKT_ID FROM $tickets_table INNER JOIN
637 637
 			$datetime_tickets_table ON $tickets_table.TKT_ID = $datetime_tickets_table.TKT_ID INNER JOIN
@@ -641,7 +641,7 @@  discard block
 block discarded – undo
641 641
             $full_query = $select_and_join_part." WHERE ".implode(" AND ", $conditions)." LIMIT 1";
642 642
             $ticket_id_found = $wpdb->get_var($full_query);
643 643
             array_shift($conditions);
644
-        } while (! $ticket_id_found && $conditions);
644
+        }while ( ! $ticket_id_found && $conditions);
645 645
         return $ticket_id_found;
646 646
     }
647 647
 
@@ -663,8 +663,8 @@  discard block
 block discarded – undo
663 663
 
664 664
 
665 665
         // insert new datetime unless we find one
666
-        $datetime_id = $wpdb->get_var($wpdb->prepare("SELECT DTT_ID FROM " . $this->_new_datetime_table . " WHERE DTT_EVT_start=%s AND EVT_ID=%d LIMIT 1", $old_att_start_datetime, $new_event_id), ARRAY_A);
667
-        if (! $datetime_id) {
666
+        $datetime_id = $wpdb->get_var($wpdb->prepare("SELECT DTT_ID FROM ".$this->_new_datetime_table." WHERE DTT_EVT_start=%s AND EVT_ID=%d LIMIT 1", $old_att_start_datetime, $new_event_id), ARRAY_A);
667
+        if ( ! $datetime_id) {
668 668
             $old_att_end_date = $old_attendee['start_date'];
669 669
             $old_att_end_time = $this->get_migration_script()->convertTimeFromAMPM($old_attendee['event_time']);
670 670
             $old_att_end_datetime = $this->get_migration_script()->convert_date_string_to_utc($this, $old_attendee, "$old_att_end_date $old_att_end_time:00");
@@ -677,10 +677,10 @@  discard block
 block discarded – undo
677 677
                         'DTT_deleted' => true
678 678
                     ),
679 679
                 array(
680
-                        '%d',// EVT_ID
681
-                        '%s',// DTT_EVT_start
682
-                        '%s',// DTT_EVT_end
683
-                        '%d',// DTT_deleted
680
+                        '%d', // EVT_ID
681
+                        '%s', // DTT_EVT_start
682
+                        '%s', // DTT_EVT_end
683
+                        '%d', // DTT_deleted
684 684
                     )
685 685
             );
686 686
             $datetime_id = $wpdb->insert_id;
@@ -688,21 +688,21 @@  discard block
 block discarded – undo
688 688
 
689 689
         // insert new ticket
690 690
         $success = $wpdb->insert(
691
-            $wpdb->prefix . 'esp_ticket',
691
+            $wpdb->prefix.'esp_ticket',
692 692
             array(
693 693
                     'TKT_name' => $old_att_price_option,
694 694
                     'TKT_qty' => -1,
695 695
                     'TKT_price' => $old_att_price,
696
-                    'TKT_start_date' => $old_att_start_datetime,// we really have no clue what the time should be, but at least it was available when they attended
696
+                    'TKT_start_date' => $old_att_start_datetime, // we really have no clue what the time should be, but at least it was available when they attended
697 697
                     'TKT_end_date' => $old_att_end_datetime,
698 698
 
699 699
                 ),
700 700
             array(
701
-                    '%s',// name
702
-                    '%d',// qty
703
-                    '%d',// price
704
-                    '%s',// start_date
705
-                    '%s',// end_date
701
+                    '%s', // name
702
+                    '%d', // qty
703
+                    '%d', // price
704
+                    '%s', // start_date
705
+                    '%s', // end_date
706 706
                 )
707 707
         );
708 708
         $ticket_id = $wpdb->insert_id;
@@ -714,8 +714,8 @@  discard block
 block discarded – undo
714 714
                     'TKT_ID' => $ticket_id
715 715
                 ),
716 716
             array(
717
-                    '%d',// DTT_ID
718
-                    '%d',// TKT_ID
717
+                    '%d', // DTT_ID
718
+                    '%d', // TKT_ID
719 719
                 )
720 720
         );
721 721
         // insert new price
@@ -728,10 +728,10 @@  discard block
 block discarded – undo
728 728
                     'PRC_deleted' => true
729 729
                 ),
730 730
             array(
731
-                    '%d',// PRC_amount
732
-                    '%d',// PRT_ID
733
-                    '%s',// PRC_name
734
-                    '%d',// PRC_deleted
731
+                    '%d', // PRC_amount
732
+                    '%d', // PRT_ID
733
+                    '%s', // PRC_name
734
+                    '%d', // PRC_deleted
735 735
                 )
736 736
         );
737 737
         $price_id = $wpdb->insert_id;
@@ -743,8 +743,8 @@  discard block
 block discarded – undo
743 743
                     'PRC_ID' => $price_id
744 744
                 ),
745 745
             array(
746
-                    '%d',// TKT_ID
747
-                    '%d',// PRC_ID
746
+                    '%d', // TKT_ID
747
+                    '%d', // PRC_ID
748 748
                 )
749 749
         );
750 750
         return $ticket_id;
@@ -781,7 +781,7 @@  discard block
 block discarded – undo
781 781
     {
782 782
         global $wpdb;
783 783
         // only add a payment for primary attendees
784
-        $old_pay_stati_indicating_no_payment = array('Pending','Incomplete','Not Completed');
784
+        $old_pay_stati_indicating_no_payment = array('Pending', 'Incomplete', 'Not Completed');
785 785
         // if this is for a primary 3.1 attendee which WASN'T free and has a completed, cancelled, or declined payment...
786 786
         if (intval($old_attendee['is_primary']) && floatval($old_attendee['total_cost']) && ! in_array($old_attendee['payment_status'], $old_pay_stati_indicating_no_payment)) {
787 787
             $pay_status_mapping = array(
@@ -791,7 +791,7 @@  discard block
 block discarded – undo
791 791
                 'Declined'=>'PDC'
792 792
             );
793 793
             $by_admin = $old_attendee['payment'] == 'Admin';
794
-            $STS_ID = isset($pay_status_mapping[ $old_attendee['payment_status'] ]) ? $pay_status_mapping[ $old_attendee['payment_status'] ] : 'PFL';// IE, if we don't recognize the status, assume payment failed
794
+            $STS_ID = isset($pay_status_mapping[$old_attendee['payment_status']]) ? $pay_status_mapping[$old_attendee['payment_status']] : 'PFL'; // IE, if we don't recognize the status, assume payment failed
795 795
             $cols_n_values = array(
796 796
                 'TXN_ID'=>$new_txn_id,
797 797
                 'STS_ID'=>$STS_ID,
@@ -806,19 +806,19 @@  discard block
 block discarded – undo
806 806
 
807 807
             );
808 808
             $datatypes = array(
809
-                '%d',// TXN_Id
810
-                '%s',// STS_ID
811
-                '%s',// PAY_timestamp
812
-                '%s',// PAY_method
813
-                '%f',// PAY_amount
814
-                '%s',// PAY_gateway
815
-                '%s',// PAY_gateway_response
816
-                '%s',// PAY_txn_id_chq_nmbr
817
-                '%d',// PAY_via_admin
818
-                '%s',// PAY_details
809
+                '%d', // TXN_Id
810
+                '%s', // STS_ID
811
+                '%s', // PAY_timestamp
812
+                '%s', // PAY_method
813
+                '%f', // PAY_amount
814
+                '%s', // PAY_gateway
815
+                '%s', // PAY_gateway_response
816
+                '%s', // PAY_txn_id_chq_nmbr
817
+                '%d', // PAY_via_admin
818
+                '%s', // PAY_details
819 819
             );
820 820
             $success = $wpdb->insert($this->_new_payment_table, $cols_n_values, $datatypes);
821
-            if (! $success) {
821
+            if ( ! $success) {
822 822
                 $this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_attendee, $this->_new_attendee_cpt_table, $cols_n_values, $datatypes));
823 823
                 return 0;
824 824
             }
@@ -837,7 +837,7 @@  discard block
 block discarded – undo
837 837
      */
838 838
     private function _find_mer_primary_attendee_using_mer_tables($old_registration_id)
839 839
     {
840
-        if (! $this->_mer_tables_exist()) {
840
+        if ( ! $this->_mer_tables_exist()) {
841 841
             return false;
842 842
         }
843 843
         global $wpdb;
Please login to merge, or discard this patch.
core/data_migration_scripts/4_1_0_stages/EE_DMS_4_1_0_checkins.dmsstage.php 3 patches
Doc Comments   +2 added lines, -3 removed lines patch added patch discarded remove patch
@@ -85,7 +85,7 @@  discard block
 block discarded – undo
85 85
      * (because we know the attendee was for an event as a specific time, and we know
86 86
      * the event's OLD ID...)
87 87
      * @global type $wpdb
88
-     * @param array $old_attendee_row
88
+     * @param array $old_attendee
89 89
      * @return array row of datetime from DB
90 90
      */
91 91
     private function _try_to_find_datetime($old_attendee)
@@ -121,8 +121,7 @@  discard block
 block discarded – undo
121 121
     /**
122 122
      * Adds a new Check-in/checkout record according for $new_reg_id,$new_datetime_id,$checking_in, and $timestmap
123 123
      * @param int $new_reg_id
124
-     * @param int $new_datetime_id
125
-     * @param string $timestamp mysql datetime
124
+     * @param int $new_datetime
126 125
      * @return int new Check-in id
127 126
      */
128 127
     private function _insert_checkin_record($new_reg_id, $new_datetime)
Please login to merge, or discard this patch.
Indentation   +115 added lines, -115 removed lines patch added patch discarded remove patch
@@ -26,129 +26,129 @@
 block discarded – undo
26 26
 
27 27
 class EE_DMS_4_1_0_checkins extends EE_Data_Migration_Script_Stage_Table
28 28
 {
29
-    private $_new_table;
30
-    public function __construct()
31
-    {
32
-        global $wpdb;
33
-        $this->_pretty_name = __("Checkins", "event_espresso");
34
-        $this->_old_table = $wpdb->prefix."events_attendee";
35
-        $this->_new_table = $wpdb->prefix."esp_checkin";
36
-        parent::__construct();
37
-    }
38
-    protected function _migrate_old_row($old_row)
39
-    {
40
-        global $wpdb;
41
-        $new_reg_table = $wpdb->prefix."esp_registration";
29
+	private $_new_table;
30
+	public function __construct()
31
+	{
32
+		global $wpdb;
33
+		$this->_pretty_name = __("Checkins", "event_espresso");
34
+		$this->_old_table = $wpdb->prefix."events_attendee";
35
+		$this->_new_table = $wpdb->prefix."esp_checkin";
36
+		parent::__construct();
37
+	}
38
+	protected function _migrate_old_row($old_row)
39
+	{
40
+		global $wpdb;
41
+		$new_reg_table = $wpdb->prefix."esp_registration";
42 42
 
43
-        $num_to_checkin_at_this_time = max(array(intval($old_row['checked_in_quantity']),intval($old_row['checked_in']))) ;
43
+		$num_to_checkin_at_this_time = max(array(intval($old_row['checked_in_quantity']),intval($old_row['checked_in']))) ;
44 44
 
45
-        $new_registrations_for_attendee = $this->get_migration_script()->get_mapping_new_pk($this->_old_table, $old_row['id'], $new_reg_table);
46
-        if (! $new_registrations_for_attendee) {
47
-            $new_registrations_for_attendee = array();
48
-        }
49
-        $new_datetime = $this->_try_to_find_datetime($old_row);
45
+		$new_registrations_for_attendee = $this->get_migration_script()->get_mapping_new_pk($this->_old_table, $old_row['id'], $new_reg_table);
46
+		if (! $new_registrations_for_attendee) {
47
+			$new_registrations_for_attendee = array();
48
+		}
49
+		$new_datetime = $this->_try_to_find_datetime($old_row);
50 50
 
51
-        // make sure registrations array is numerically indexed starting at 0 (it probably already is)
52
-        $new_registrations_for_attendee = array_values($new_registrations_for_attendee);
53
-        $new_checkin_ids = array();
54
-        for ($i = 0; $i<abs($num_to_checkin_at_this_time); $i++) {
55
-            $new_reg_id = $new_registrations_for_attendee[ $i ];
56
-            if (! $new_reg_id) {
57
-                $this->add_error(sprintf(
58
-                    __('It appears we wanted to check-in more registrations than actually exist. The old attendee record (%1$s) indicated we should check-in %2$d registrations, but there are only %3$d registrations for that attendee (%4$s)', "event_espresso"),
59
-                    $this->_json_encode($old_row),
60
-                    abs($num_to_checkin_at_this_time),
61
-                    count($new_registrations_for_attendee),
62
-                    $this->_json_encode($new_registrations_for_attendee)
63
-                ));
64
-                break;
65
-            }
66
-            $new_last_checkin_record = $wpdb->get_row($wpdb->prepare("SELECT * FROM $this->_new_table WHERE REG_ID = %d ORDER BY CHK_ID DESC LIMIT 1", $new_reg_id));
67
-            if (! $new_last_checkin_record) {
68
-                $is_checked_in = false;
69
-            } else {
70
-                $is_checked_in = intval($new_last_checkin_record['CHK_in']);
71
-            }
72
-            $new_id = $this->_insert_checkin_record($new_reg_id, $new_datetime);
73
-            if ($new_id) {
74
-                $new_checkin_ids[]= $new_id;
75
-            }
76
-        }
77
-        if ($new_checkin_ids) {
78
-            $this->get_migration_script()->set_mapping($this->_old_table, $old_row['id'], $this->_new_table, $new_checkin_ids);
79
-        }
80
-    }
51
+		// make sure registrations array is numerically indexed starting at 0 (it probably already is)
52
+		$new_registrations_for_attendee = array_values($new_registrations_for_attendee);
53
+		$new_checkin_ids = array();
54
+		for ($i = 0; $i<abs($num_to_checkin_at_this_time); $i++) {
55
+			$new_reg_id = $new_registrations_for_attendee[ $i ];
56
+			if (! $new_reg_id) {
57
+				$this->add_error(sprintf(
58
+					__('It appears we wanted to check-in more registrations than actually exist. The old attendee record (%1$s) indicated we should check-in %2$d registrations, but there are only %3$d registrations for that attendee (%4$s)', "event_espresso"),
59
+					$this->_json_encode($old_row),
60
+					abs($num_to_checkin_at_this_time),
61
+					count($new_registrations_for_attendee),
62
+					$this->_json_encode($new_registrations_for_attendee)
63
+				));
64
+				break;
65
+			}
66
+			$new_last_checkin_record = $wpdb->get_row($wpdb->prepare("SELECT * FROM $this->_new_table WHERE REG_ID = %d ORDER BY CHK_ID DESC LIMIT 1", $new_reg_id));
67
+			if (! $new_last_checkin_record) {
68
+				$is_checked_in = false;
69
+			} else {
70
+				$is_checked_in = intval($new_last_checkin_record['CHK_in']);
71
+			}
72
+			$new_id = $this->_insert_checkin_record($new_reg_id, $new_datetime);
73
+			if ($new_id) {
74
+				$new_checkin_ids[]= $new_id;
75
+			}
76
+		}
77
+		if ($new_checkin_ids) {
78
+			$this->get_migration_script()->set_mapping($this->_old_table, $old_row['id'], $this->_new_table, $new_checkin_ids);
79
+		}
80
+	}
81 81
 
82 82
 
83
-    /**
84
-     * Tries to find the new datetime the Check-in was for, based on the attendee row
85
-     * (because we know the attendee was for an event as a specific time, and we know
86
-     * the event's OLD ID...)
87
-     * @global type $wpdb
88
-     * @param array $old_attendee_row
89
-     * @return array row of datetime from DB
90
-     */
91
-    private function _try_to_find_datetime($old_attendee)
92
-    {
93
-        global $wpdb;
83
+	/**
84
+	 * Tries to find the new datetime the Check-in was for, based on the attendee row
85
+	 * (because we know the attendee was for an event as a specific time, and we know
86
+	 * the event's OLD ID...)
87
+	 * @global type $wpdb
88
+	 * @param array $old_attendee_row
89
+	 * @return array row of datetime from DB
90
+	 */
91
+	private function _try_to_find_datetime($old_attendee)
92
+	{
93
+		global $wpdb;
94 94
 
95
-        $new_event_id = $this->get_migration_script()->get_mapping_new_pk($wpdb->prefix."events_detail", $old_attendee['event_id'], $wpdb->posts);
96
-        if (! $new_event_id) {
97
-            $this->add_error(sprintf(__("Could nto find new event ID with old event id '%d', on attendee row %s; and because of that couldnt find the correct datetime for Check-in", "event_espresso"), $old_attendee['event_id'], $this->_json_encode($old_attendee)));
98
-            return 0;
99
-        }
100
-        $old_att_start_date = $old_attendee['start_date'];
101
-        $old_att_start_time = $this->get_migration_script()->convertTimeFromAMPM($old_attendee['event_time']);
102
-        $old_att_datetime = $this->get_migration_script()->convert_date_string_to_utc($this, $old_attendee, "$old_att_start_date $old_att_start_time:00");
95
+		$new_event_id = $this->get_migration_script()->get_mapping_new_pk($wpdb->prefix."events_detail", $old_attendee['event_id'], $wpdb->posts);
96
+		if (! $new_event_id) {
97
+			$this->add_error(sprintf(__("Could nto find new event ID with old event id '%d', on attendee row %s; and because of that couldnt find the correct datetime for Check-in", "event_espresso"), $old_attendee['event_id'], $this->_json_encode($old_attendee)));
98
+			return 0;
99
+		}
100
+		$old_att_start_date = $old_attendee['start_date'];
101
+		$old_att_start_time = $this->get_migration_script()->convertTimeFromAMPM($old_attendee['event_time']);
102
+		$old_att_datetime = $this->get_migration_script()->convert_date_string_to_utc($this, $old_attendee, "$old_att_start_date $old_att_start_time:00");
103 103
 
104
-        $datetime_table = $wpdb->prefix."esp_datetime";
105
-        // add all conditions to an array from which we can SHIFT conditions off in order to widen our search
106
-        // the most important condition should be last, as it will be array_shift'ed off last
107
-        $conditions = array(
108
-            $wpdb->prepare("$datetime_table.DTT_EVT_start = %s", $old_att_datetime),// times match?
109
-            $wpdb->prepare("$datetime_table.EVT_ID = %d", $new_event_id),// events match?
110
-        );
111
-        // start running queries, widening search each time by removing a condition
112
-        $datetime_found = null;
113
-        do {
114
-            $full_query = "SELECT * FROM $datetime_table WHERE ".implode(" AND ", $conditions)." LIMIT 1";
115
-            $datetime_found = $wpdb->get_row($full_query, ARRAY_A);
116
-            array_shift($conditions);
117
-        } while (! $datetime_found && $conditions);
118
-        return $datetime_found;
119
-    }
104
+		$datetime_table = $wpdb->prefix."esp_datetime";
105
+		// add all conditions to an array from which we can SHIFT conditions off in order to widen our search
106
+		// the most important condition should be last, as it will be array_shift'ed off last
107
+		$conditions = array(
108
+			$wpdb->prepare("$datetime_table.DTT_EVT_start = %s", $old_att_datetime),// times match?
109
+			$wpdb->prepare("$datetime_table.EVT_ID = %d", $new_event_id),// events match?
110
+		);
111
+		// start running queries, widening search each time by removing a condition
112
+		$datetime_found = null;
113
+		do {
114
+			$full_query = "SELECT * FROM $datetime_table WHERE ".implode(" AND ", $conditions)." LIMIT 1";
115
+			$datetime_found = $wpdb->get_row($full_query, ARRAY_A);
116
+			array_shift($conditions);
117
+		} while (! $datetime_found && $conditions);
118
+		return $datetime_found;
119
+	}
120 120
 
121
-    /**
122
-     * Adds a new Check-in/checkout record according for $new_reg_id,$new_datetime_id,$checking_in, and $timestmap
123
-     * @param int $new_reg_id
124
-     * @param int $new_datetime_id
125
-     * @param string $timestamp mysql datetime
126
-     * @return int new Check-in id
127
-     */
128
-    private function _insert_checkin_record($new_reg_id, $new_datetime)
129
-    {
130
-        global $wpdb;
121
+	/**
122
+	 * Adds a new Check-in/checkout record according for $new_reg_id,$new_datetime_id,$checking_in, and $timestmap
123
+	 * @param int $new_reg_id
124
+	 * @param int $new_datetime_id
125
+	 * @param string $timestamp mysql datetime
126
+	 * @return int new Check-in id
127
+	 */
128
+	private function _insert_checkin_record($new_reg_id, $new_datetime)
129
+	{
130
+		global $wpdb;
131 131
 
132 132
 
133
-        // ok we can actually do what we set out to do: add a checkin/checkout record
134
-        $cols_n_values = array(
135
-            'REG_ID'=>$new_reg_id,
136
-            'DTT_ID'=>$new_datetime['DTT_ID'],
137
-            'CHK_in'=>true,
138
-            'CHK_timestamp'=>$new_datetime['DTT_EVT_start']
139
-        );
140
-        $datatypes = array(
141
-            '%d',// REG_ID
142
-            '%d',// DTT_ID
143
-            '%d',// CHK_in
144
-            '%s',// CHK_timestamp
145
-        );
146
-        $success = $wpdb->insert($this->_new_table, $cols_n_values, $datatypes);
147
-        if (! $success) {
148
-            $this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_checkin, $this->_new_table, $cols_n_values, $datatypes));
149
-            return 0;
150
-        }
151
-        $new_id = $wpdb->insert_id;
152
-        return $new_id;
153
-    }
133
+		// ok we can actually do what we set out to do: add a checkin/checkout record
134
+		$cols_n_values = array(
135
+			'REG_ID'=>$new_reg_id,
136
+			'DTT_ID'=>$new_datetime['DTT_ID'],
137
+			'CHK_in'=>true,
138
+			'CHK_timestamp'=>$new_datetime['DTT_EVT_start']
139
+		);
140
+		$datatypes = array(
141
+			'%d',// REG_ID
142
+			'%d',// DTT_ID
143
+			'%d',// CHK_in
144
+			'%s',// CHK_timestamp
145
+		);
146
+		$success = $wpdb->insert($this->_new_table, $cols_n_values, $datatypes);
147
+		if (! $success) {
148
+			$this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_checkin, $this->_new_table, $cols_n_values, $datatypes));
149
+			return 0;
150
+		}
151
+		$new_id = $wpdb->insert_id;
152
+		return $new_id;
153
+	}
154 154
 }
Please login to merge, or discard this patch.
Spacing   +16 added lines, -16 removed lines patch added patch discarded remove patch
@@ -40,10 +40,10 @@  discard block
 block discarded – undo
40 40
         global $wpdb;
41 41
         $new_reg_table = $wpdb->prefix."esp_registration";
42 42
 
43
-        $num_to_checkin_at_this_time = max(array(intval($old_row['checked_in_quantity']),intval($old_row['checked_in']))) ;
43
+        $num_to_checkin_at_this_time = max(array(intval($old_row['checked_in_quantity']), intval($old_row['checked_in'])));
44 44
 
45 45
         $new_registrations_for_attendee = $this->get_migration_script()->get_mapping_new_pk($this->_old_table, $old_row['id'], $new_reg_table);
46
-        if (! $new_registrations_for_attendee) {
46
+        if ( ! $new_registrations_for_attendee) {
47 47
             $new_registrations_for_attendee = array();
48 48
         }
49 49
         $new_datetime = $this->_try_to_find_datetime($old_row);
@@ -51,9 +51,9 @@  discard block
 block discarded – undo
51 51
         // make sure registrations array is numerically indexed starting at 0 (it probably already is)
52 52
         $new_registrations_for_attendee = array_values($new_registrations_for_attendee);
53 53
         $new_checkin_ids = array();
54
-        for ($i = 0; $i<abs($num_to_checkin_at_this_time); $i++) {
55
-            $new_reg_id = $new_registrations_for_attendee[ $i ];
56
-            if (! $new_reg_id) {
54
+        for ($i = 0; $i < abs($num_to_checkin_at_this_time); $i++) {
55
+            $new_reg_id = $new_registrations_for_attendee[$i];
56
+            if ( ! $new_reg_id) {
57 57
                 $this->add_error(sprintf(
58 58
                     __('It appears we wanted to check-in more registrations than actually exist. The old attendee record (%1$s) indicated we should check-in %2$d registrations, but there are only %3$d registrations for that attendee (%4$s)', "event_espresso"),
59 59
                     $this->_json_encode($old_row),
@@ -64,14 +64,14 @@  discard block
 block discarded – undo
64 64
                 break;
65 65
             }
66 66
             $new_last_checkin_record = $wpdb->get_row($wpdb->prepare("SELECT * FROM $this->_new_table WHERE REG_ID = %d ORDER BY CHK_ID DESC LIMIT 1", $new_reg_id));
67
-            if (! $new_last_checkin_record) {
67
+            if ( ! $new_last_checkin_record) {
68 68
                 $is_checked_in = false;
69 69
             } else {
70 70
                 $is_checked_in = intval($new_last_checkin_record['CHK_in']);
71 71
             }
72 72
             $new_id = $this->_insert_checkin_record($new_reg_id, $new_datetime);
73 73
             if ($new_id) {
74
-                $new_checkin_ids[]= $new_id;
74
+                $new_checkin_ids[] = $new_id;
75 75
             }
76 76
         }
77 77
         if ($new_checkin_ids) {
@@ -93,7 +93,7 @@  discard block
 block discarded – undo
93 93
         global $wpdb;
94 94
 
95 95
         $new_event_id = $this->get_migration_script()->get_mapping_new_pk($wpdb->prefix."events_detail", $old_attendee['event_id'], $wpdb->posts);
96
-        if (! $new_event_id) {
96
+        if ( ! $new_event_id) {
97 97
             $this->add_error(sprintf(__("Could nto find new event ID with old event id '%d', on attendee row %s; and because of that couldnt find the correct datetime for Check-in", "event_espresso"), $old_attendee['event_id'], $this->_json_encode($old_attendee)));
98 98
             return 0;
99 99
         }
@@ -105,8 +105,8 @@  discard block
 block discarded – undo
105 105
         // add all conditions to an array from which we can SHIFT conditions off in order to widen our search
106 106
         // the most important condition should be last, as it will be array_shift'ed off last
107 107
         $conditions = array(
108
-            $wpdb->prepare("$datetime_table.DTT_EVT_start = %s", $old_att_datetime),// times match?
109
-            $wpdb->prepare("$datetime_table.EVT_ID = %d", $new_event_id),// events match?
108
+            $wpdb->prepare("$datetime_table.DTT_EVT_start = %s", $old_att_datetime), // times match?
109
+            $wpdb->prepare("$datetime_table.EVT_ID = %d", $new_event_id), // events match?
110 110
         );
111 111
         // start running queries, widening search each time by removing a condition
112 112
         $datetime_found = null;
@@ -114,7 +114,7 @@  discard block
 block discarded – undo
114 114
             $full_query = "SELECT * FROM $datetime_table WHERE ".implode(" AND ", $conditions)." LIMIT 1";
115 115
             $datetime_found = $wpdb->get_row($full_query, ARRAY_A);
116 116
             array_shift($conditions);
117
-        } while (! $datetime_found && $conditions);
117
+        }while ( ! $datetime_found && $conditions);
118 118
         return $datetime_found;
119 119
     }
120 120
 
@@ -138,13 +138,13 @@  discard block
 block discarded – undo
138 138
             'CHK_timestamp'=>$new_datetime['DTT_EVT_start']
139 139
         );
140 140
         $datatypes = array(
141
-            '%d',// REG_ID
142
-            '%d',// DTT_ID
143
-            '%d',// CHK_in
144
-            '%s',// CHK_timestamp
141
+            '%d', // REG_ID
142
+            '%d', // DTT_ID
143
+            '%d', // CHK_in
144
+            '%s', // CHK_timestamp
145 145
         );
146 146
         $success = $wpdb->insert($this->_new_table, $cols_n_values, $datatypes);
147
-        if (! $success) {
147
+        if ( ! $success) {
148 148
             $this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_checkin, $this->_new_table, $cols_n_values, $datatypes));
149 149
             return 0;
150 150
         }
Please login to merge, or discard this patch.
4_1_0_stages/EE_DMS_4_1_0_event_question_group.dmsstage.php 3 patches
Doc Comments   +3 added lines patch added patch discarded remove patch
@@ -98,6 +98,9 @@
 block discarded – undo
98 98
         $this->get_migration_script()->set_mapping($this->_old_table, $old_event['id'], $this->_new_table, $new_event_question_group_ids);
99 99
     }
100 100
 
101
+    /**
102
+     * @param boolean $primary
103
+     */
101 104
     private function _insert_event_question_group($old_event, $old_question_group_id, $primary)
102 105
     {
103 106
         global $wpdb;
Please login to merge, or discard this patch.
Indentation   +74 added lines, -76 removed lines patch added patch discarded remove patch
@@ -16,15 +16,13 @@  discard block
 block discarded – undo
16 16
             'EQG_primary'=>new EE_Boolean_Field('EQG_primary', __('Flag indicating question is only for primary attendees','event_espresso'), false, false)
17 17
         )
18 18
     );
19
-
20
-
21 19
  *
22 20
  */
23 21
 class EE_DMS_4_1_0_event_question_group extends EE_Data_Migration_Script_Stage_Table
24 22
 {
25
-    private $_new_table;
26
-    public function _migrate_old_row($old_row)
27
-    {
23
+	private $_new_table;
24
+	public function _migrate_old_row($old_row)
25
+	{
28 26
 //      $txn_id = $this->get_migration_script()->get_mapping_new_pk($this->_old_table, $old_row['id'], $this->_new_transaction_table);
29 27
 //          if ( ! $txn_id ){
30 28
 //              $this->add_error(sprintf(__("Could not find the transaction for the 3.1 attendee %d from row %s", "event_espresso"),$old_row['id'],$this->_json_encode($old_row)));
@@ -34,8 +32,8 @@  discard block
 block discarded – undo
34 32
 //          $new_line_items = $this->_insert_new_line_items($txn,$old_row);
35 33
 //          $this->get_migration_script()->set_mapping($this->_old_table,$old_row['id'],$this->_new_line_table,$new_line_items);
36 34
 
37
-            $this->_insert_new_event_question_groups($old_row);
38
-    }
35
+			$this->_insert_new_event_question_groups($old_row);
36
+	}
39 37
 //  function _migration_step($num_items=50){
40 38
 //      global $wpdb;
41 39
 //      $start_at_record = $this->count_records_migrated();
@@ -55,78 +53,78 @@  discard block
 block discarded – undo
55 53
 //      $count = $wpdb->get_var("SELECT COUNT(id) FROM ".$this->_old_table);
56 54
 //      return $count;
57 55
 //  }
58
-    public function __construct()
59
-    {
60
-        global $wpdb;
61
-        $this->_old_table = $wpdb->prefix."events_detail";
62
-        $this->_new_table = $wpdb->prefix."esp_event_question_group";
63
-        $this->_pretty_name = __("Question Groups in each Event", "event_espresso");
64
-        parent::__construct();
65
-    }
56
+	public function __construct()
57
+	{
58
+		global $wpdb;
59
+		$this->_old_table = $wpdb->prefix."events_detail";
60
+		$this->_new_table = $wpdb->prefix."esp_event_question_group";
61
+		$this->_pretty_name = __("Question Groups in each Event", "event_espresso");
62
+		parent::__construct();
63
+	}
66 64
 
67
-    /**
68
-     * Attempts to insert a new question group inthe new format given an old one
69
-     * @global type $wpdb
70
-     * @param array $old_event
71
-     * @return void
72
-     */
73
-    private function _insert_new_event_question_groups($old_event)
74
-    {
75
-        $new_event_question_group_ids = array();
76
-        $question_groups_for_primary = maybe_unserialize($old_event['question_groups']);
77
-        if (is_array($question_groups_for_primary)) {
78
-            foreach ($question_groups_for_primary as $old_question_group_id) {
79
-                $new_id = $this->_insert_event_question_group($old_event, $old_question_group_id, true);
80
-                if ($new_id) {
81
-                    $new_event_question_group_ids[] = $new_id;
82
-                }
83
-            }
84
-        }
85
-        $event_meta = maybe_unserialize($old_event['event_meta']);
86
-        if (isset($event_meta['add_attendee_question_groups'])) {
87
-            if (is_array($event_meta['add_attendee_question_groups'])) {
88
-                foreach ($event_meta['add_attendee_question_groups'] as $old_question_group_id) {
89
-                    $new_id = $this->_insert_event_question_group($old_event, $old_question_group_id, false);
90
-                    if ($new_id) {
91
-                        $new_event_question_group_ids[] = $new_id;
92
-                    }
93
-                }
94
-            }
95
-        }
65
+	/**
66
+	 * Attempts to insert a new question group inthe new format given an old one
67
+	 * @global type $wpdb
68
+	 * @param array $old_event
69
+	 * @return void
70
+	 */
71
+	private function _insert_new_event_question_groups($old_event)
72
+	{
73
+		$new_event_question_group_ids = array();
74
+		$question_groups_for_primary = maybe_unserialize($old_event['question_groups']);
75
+		if (is_array($question_groups_for_primary)) {
76
+			foreach ($question_groups_for_primary as $old_question_group_id) {
77
+				$new_id = $this->_insert_event_question_group($old_event, $old_question_group_id, true);
78
+				if ($new_id) {
79
+					$new_event_question_group_ids[] = $new_id;
80
+				}
81
+			}
82
+		}
83
+		$event_meta = maybe_unserialize($old_event['event_meta']);
84
+		if (isset($event_meta['add_attendee_question_groups'])) {
85
+			if (is_array($event_meta['add_attendee_question_groups'])) {
86
+				foreach ($event_meta['add_attendee_question_groups'] as $old_question_group_id) {
87
+					$new_id = $this->_insert_event_question_group($old_event, $old_question_group_id, false);
88
+					if ($new_id) {
89
+						$new_event_question_group_ids[] = $new_id;
90
+					}
91
+				}
92
+			}
93
+		}
96 94
 
97 95
 
98
-        $this->get_migration_script()->set_mapping($this->_old_table, $old_event['id'], $this->_new_table, $new_event_question_group_ids);
99
-    }
96
+		$this->get_migration_script()->set_mapping($this->_old_table, $old_event['id'], $this->_new_table, $new_event_question_group_ids);
97
+	}
100 98
 
101
-    private function _insert_event_question_group($old_event, $old_question_group_id, $primary)
102
-    {
103
-        global $wpdb;
104
-        $new_question_group_id =$this->get_migration_script()->get_mapping_new_pk($wpdb->prefix."events_qst_group", intval($old_question_group_id), $wpdb->prefix."esp_question_group");
99
+	private function _insert_event_question_group($old_event, $old_question_group_id, $primary)
100
+	{
101
+		global $wpdb;
102
+		$new_question_group_id =$this->get_migration_script()->get_mapping_new_pk($wpdb->prefix."events_qst_group", intval($old_question_group_id), $wpdb->prefix."esp_question_group");
105 103
 
106
-        if (! $new_question_group_id) {
107
-            $this->add_error(sprintf(__("Could not find 4.1 question ID for 3.1 question id #%s on event $%s", "event_espresso"), $old_question_group_id, $old_event['id']));
108
-            return 0;
109
-        }
110
-        $new_event_id = $this->get_migration_script()->get_mapping_new_pk($wpdb->prefix."events_detail", intval($old_event['id']), $wpdb->posts);
111
-        if (! $new_question_group_id) {
112
-            $this->add_error(sprintf(__("Could not find 4.1 event 3.1 event id #%s", "event_espresso"), $old_event['id']));
113
-            return 0;
114
-        }
115
-        $cols_n_values = array(
116
-            'EVT_ID'=>$new_event_id,
117
-            'QSG_ID'=>$new_question_group_id,
118
-            'EQG_primary'=>$primary
119
-        );
120
-        $datatypes = array(
121
-            '%d',// EVT_ID
122
-            '%d',// QSG_ID
123
-            '%d',// EQG_primary
124
-        );
125
-        $success = $wpdb->insert($this->_new_table, $cols_n_values, $datatypes);
126
-        if (! $success) {
127
-            $this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_event, $this->_new_table, $cols_n_values, $datatypes));
128
-            return 0;
129
-        }
130
-        return $wpdb->insert_id;
131
-    }
104
+		if (! $new_question_group_id) {
105
+			$this->add_error(sprintf(__("Could not find 4.1 question ID for 3.1 question id #%s on event $%s", "event_espresso"), $old_question_group_id, $old_event['id']));
106
+			return 0;
107
+		}
108
+		$new_event_id = $this->get_migration_script()->get_mapping_new_pk($wpdb->prefix."events_detail", intval($old_event['id']), $wpdb->posts);
109
+		if (! $new_question_group_id) {
110
+			$this->add_error(sprintf(__("Could not find 4.1 event 3.1 event id #%s", "event_espresso"), $old_event['id']));
111
+			return 0;
112
+		}
113
+		$cols_n_values = array(
114
+			'EVT_ID'=>$new_event_id,
115
+			'QSG_ID'=>$new_question_group_id,
116
+			'EQG_primary'=>$primary
117
+		);
118
+		$datatypes = array(
119
+			'%d',// EVT_ID
120
+			'%d',// QSG_ID
121
+			'%d',// EQG_primary
122
+		);
123
+		$success = $wpdb->insert($this->_new_table, $cols_n_values, $datatypes);
124
+		if (! $success) {
125
+			$this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_event, $this->_new_table, $cols_n_values, $datatypes));
126
+			return 0;
127
+		}
128
+		return $wpdb->insert_id;
129
+	}
132 130
 }
Please login to merge, or discard this patch.
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -101,14 +101,14 @@  discard block
 block discarded – undo
101 101
     private function _insert_event_question_group($old_event, $old_question_group_id, $primary)
102 102
     {
103 103
         global $wpdb;
104
-        $new_question_group_id =$this->get_migration_script()->get_mapping_new_pk($wpdb->prefix."events_qst_group", intval($old_question_group_id), $wpdb->prefix."esp_question_group");
104
+        $new_question_group_id = $this->get_migration_script()->get_mapping_new_pk($wpdb->prefix."events_qst_group", intval($old_question_group_id), $wpdb->prefix."esp_question_group");
105 105
 
106
-        if (! $new_question_group_id) {
106
+        if ( ! $new_question_group_id) {
107 107
             $this->add_error(sprintf(__("Could not find 4.1 question ID for 3.1 question id #%s on event $%s", "event_espresso"), $old_question_group_id, $old_event['id']));
108 108
             return 0;
109 109
         }
110 110
         $new_event_id = $this->get_migration_script()->get_mapping_new_pk($wpdb->prefix."events_detail", intval($old_event['id']), $wpdb->posts);
111
-        if (! $new_question_group_id) {
111
+        if ( ! $new_question_group_id) {
112 112
             $this->add_error(sprintf(__("Could not find 4.1 event 3.1 event id #%s", "event_espresso"), $old_event['id']));
113 113
             return 0;
114 114
         }
@@ -118,12 +118,12 @@  discard block
 block discarded – undo
118 118
             'EQG_primary'=>$primary
119 119
         );
120 120
         $datatypes = array(
121
-            '%d',// EVT_ID
122
-            '%d',// QSG_ID
123
-            '%d',// EQG_primary
121
+            '%d', // EVT_ID
122
+            '%d', // QSG_ID
123
+            '%d', // EQG_primary
124 124
         );
125 125
         $success = $wpdb->insert($this->_new_table, $cols_n_values, $datatypes);
126
-        if (! $success) {
126
+        if ( ! $success) {
127 127
             $this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_event, $this->_new_table, $cols_n_values, $datatypes));
128 128
             return 0;
129 129
         }
Please login to merge, or discard this patch.
core/data_migration_scripts/4_1_0_stages/EE_DMS_4_1_0_events.dmsstage.php 3 patches
Doc Comments   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -426,7 +426,7 @@  discard block
 block discarded – undo
426 426
 
427 427
     /**
428 428
      * @param $old_event
429
-     * @param $new_cpt_id
429
+     * @param integer $new_cpt_id
430 430
      * @return int
431 431
      */
432 432
     private function _insert_event_meta($old_event, $new_cpt_id)
@@ -693,8 +693,8 @@  discard block
 block discarded – undo
693 693
 
694 694
 
695 695
     /**
696
-     * @param $new_event_id
697
-     * @param $new_venue_id
696
+     * @param integer $new_event_id
697
+     * @param integer $new_venue_id
698 698
      * @return int
699 699
      */
700 700
     private function _insert_new_venue_to_event($new_event_id, $new_venue_id)
Please login to merge, or discard this patch.
Indentation   +634 added lines, -639 removed lines patch added patch discarded remove patch
@@ -84,8 +84,6 @@  discard block
 block discarded – undo
84 84
   KEY `submitted` (`submitted`),
85 85
   KEY `likes` (`likes`)
86 86
 ) ENGINE=InnoDB AUTO_INCREMENT=63 DEFAULT CHARSET=utf8$$
87
-
88
-
89 87
  *
90 88
  * 4.1 Event model:
91 89
  * $this->_tables = array(
@@ -124,7 +122,6 @@  discard block
 block discarded – undo
124 122
                 'EVT_donations'=>new EE_Boolean_Field('EVT_donations', __("Accept Donations?", "event_espresso"), false, false)
125 123
 
126 124
             ));
127
-
128 125
  *
129 126
  * 3.1's start end table
130 127
  *
@@ -137,8 +134,6 @@  discard block
 block discarded – undo
137 134
   PRIMARY KEY (`id`),
138 135
   KEY `event_id` (`event_id`)
139 136
 ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8$$
140
-
141
-
142 137
  *
143 138
  * and 4.1 Datetime model's tables and fields:
144 139
  * $this->_tables = array(
@@ -160,172 +155,172 @@  discard block
 block discarded – undo
160 155
  */
161 156
 class EE_DMS_4_1_0_events extends EE_Data_Migration_Script_Stage
162 157
 {
163
-    private $_old_table;
164
-    private $_old_start_end_table;
165
-    private $_new_table;
166
-    private $_new_meta_table;
167
-    private $_new_datetime_table;
168
-
169
-
170
-
171
-    /**
172
-     * Just initializes the status of the migration
173
-     * @throws EE_Error
174
-     */
175
-    public function __construct()
176
-    {
177
-        global $wpdb;
178
-        $this->_old_table = $wpdb->prefix."events_detail";
179
-        $this->_old_start_end_table = $wpdb->prefix."events_start_end";
180
-        $this->_new_table = $wpdb->prefix."posts";
181
-        $this->_new_meta_table = $wpdb->prefix."esp_event_meta";
182
-        $this->_new_datetime_table = $wpdb->prefix."esp_datetime";
183
-        $this->_pretty_name = __("Events", "event_espresso");
184
-        parent::__construct();
185
-    }
186
-
187
-
188
-
189
-    /**
190
-     * Counts the records to migrate; the public version may cache it
191
-     * @return int
192
-     */
193
-    public function _count_records_to_migrate()
194
-    {
195
-        global $wpdb;
196
-        $count = $wpdb->get_var("SELECT COUNT(*) FROM ".$this->_old_table);
197
-        return intval($count);
198
-    }
199
-
200
-
201
-
202
-    /**
203
-     * IMPORTANT: if an error is encountered, or everything is finished, this stage should update its status property accordingly.
204
-     * Note: it should not alter the count of items migrated. That is done in the public function that calls this.
205
-     * IMPORTANT: The count of items migrated should ONLY be less than $num_items_to_migrate when it's the last migration step, otherwise it
206
-     * should always return $num_items_to_migrate. (Eg, if we're migrating attendees rows from the database, and $num_items_to_migrate is set to 50,
207
-     * then we SHOULD actually migrate 50 rows,but at very least we MUST report/return 50 items migrated)
208
-     * @param int $num_items_to_migrate
209
-     * @return int number of items ACTUALLY migrated
210
-     */
211
-    protected function _migration_step($num_items_to_migrate = 50)
212
-    {
213
-        global $wpdb;
214
-        // because the migration of each event can be a LOT more work, make each step smaller
215
-        $num_items_to_migrate = max(1, $num_items_to_migrate/5);
216
-        $events = $wpdb->get_results($wpdb->prepare("SELECT * FROM $this->_old_table LIMIT %d,%d", $this->count_records_migrated(), $num_items_to_migrate), ARRAY_A);
217
-        $items_migrated_this_step = 0;
218
-
219
-        foreach ($events as $event_row) {
220
-            $guid = null;
221
-            // insert new 4.1 Attendee object using $wpdb
222
-            $post_id = $this->_insert_cpt($event_row);
223
-            if ($post_id) {
224
-                $this->get_migration_script()->set_mapping($this->_old_table, $event_row['id'], $this->_new_table, $post_id);
225
-                $meta_id = $this->_insert_event_meta($event_row, $post_id);
226
-                if ($meta_id) {
227
-                    $this->get_migration_script()->set_mapping($this->_old_table, $event_row['id'], $this->_new_meta_table, $meta_id);
228
-                }
229
-                $this->_convert_start_end_times($event_row, $post_id);
230
-                $event_meta = maybe_unserialize($event_row['event_meta']);
231
-                $guid = isset($event_meta['event_thumbnail_url']) ? $event_meta['event_thumbnail_url'] : null;
232
-                $this->get_migration_script()->convert_image_url_to_attachment_and_attach_to_post($guid, $post_id, $this);
233
-
234
-                // maybe create a venue from info on the event?
235
-                $new_venue_id = $this->_maybe_create_venue($event_row);
236
-                if ($new_venue_id) {
237
-                    $this->_insert_new_venue_to_event($post_id, $new_venue_id);
238
-                }
239
-                $this->_add_post_metas($event_row, $post_id);
240
-            }
241
-            $items_migrated_this_step++;
242
-            if ($guid) {
243
-                // if we had to check for an image attachment
244
-                // then let's call it a day (avoid timing out, because this took a long time)
245
-                break;
246
-            }
247
-        }
248
-        if ($this->count_records_migrated() + $items_migrated_this_step >= $this->count_records_to_migrate()) {
249
-            $this->set_status(EE_Data_Migration_Manager::status_completed);
250
-        }
251
-        return $items_migrated_this_step;
252
-    }
253
-
254
-    /**
255
-     * Stores any extra 3.1 "event_meta" column things as post meta
256
-     * @param array $old_event
257
-     * @param int $post_id
258
-     * @return void
259
-     */
260
-    private function _add_post_metas($old_event, $post_id)
261
-    {
262
-        $event_meta = maybe_unserialize($old_event['event_meta']);
263
-        if (! $event_meta || ! is_array($event_meta)) {
264
-            return;
265
-        }
266
-        unset($event_meta['date_submitted']);// factored into CPT
267
-        unset($event_meta['additional_attendee_reg_info']);// factored into event meta table
268
-        unset($event_meta['default_payment_status']);// dido
269
-        unset($event_meta['event_thumbnail_url']);// used to find post featured image
270
-        foreach ($event_meta as $meta_key => $meta_value) {
271
-            if ($meta_key) {// if the meta key is just an empty string, ignore it
272
-                $success = add_post_meta($post_id, $meta_key, $meta_value, true);
273
-                if (! $success) {
274
-                    $this->add_error(sprintf(__("Could not add post meta for CPT with ID #%d. Meta key: '%s',meta value:'%d' for 3.1 event: %s", "event_espresso"), $post_id, $meta_key, $meta_value, implode(",", $old_event)));
275
-                }
276
-            }
277
-        }
278
-        if ($old_event['alt_email']) {
279
-            add_post_meta($post_id, 'alt_email', $old_event['alt_email']);
280
-        }
281
-        if ($old_event['recurrence_id']) {
282
-            add_post_meta($post_id, 'recurrence_id', $old_event['recurrence_id']);
283
-        }
284
-    }
285
-
286
-
287
-
288
-    /**
289
-     * Finds a unique slug for this event, given its name (we could have simply used
290
-     * the old unique_identifier column, but it added a long string of seemingly random characters onto the end
291
-     * and really wasn't that pretty for a slug, so we decided we'd make our own slug again)
292
-     * @param string $event_name (the name of the event for reading by humans)
293
-     * @param string $old_identifier the old EE3 identifier (a long unique string)
294
-     * @param string $new_post_status a post status
295
-     * @return string
296
-     */
297
-    private function _find_unique_slug($event_name, $old_identifier = '', $new_post_status = 'publish')
298
-    {
299
-        $count = 0;
300
-        $original_name = $event_name ? sanitize_title($event_name) : $old_identifier;
301
-        return wp_unique_post_slug($original_name, 0, $new_post_status, 'espresso_events', 0);
302
-    }
303
-
304
-    /**
305
-     * returns whether or not there is a post that has this same slug (post_title)
306
-     * @global wpdb $wpdb
307
-     * @param string $slug
308
-     * @return boolean
309
-     */
310
-    private function _other_post_exists_with_that_slug($slug)
311
-    {
312
-        global $wpdb;
313
-        $query = $wpdb->prepare("SELECT COUNT(ID) FROM {$this->_new_table} WHERE post_name = %s", $slug);
314
-        $count = $wpdb->get_var($query);
315
-        return (boolean) intval($count);
316
-    }
317
-
318
-
319
-
320
-    /**
321
-     * @param $old_event
322
-     * @return int
323
-     */
324
-    private function _insert_cpt($old_event)
325
-    {
326
-        global $wpdb;
327
-        // convert 3.1 event status to 4.1 CPT status
328
-        // for reference, 3.1 event stati available for setting are:
158
+	private $_old_table;
159
+	private $_old_start_end_table;
160
+	private $_new_table;
161
+	private $_new_meta_table;
162
+	private $_new_datetime_table;
163
+
164
+
165
+
166
+	/**
167
+	 * Just initializes the status of the migration
168
+	 * @throws EE_Error
169
+	 */
170
+	public function __construct()
171
+	{
172
+		global $wpdb;
173
+		$this->_old_table = $wpdb->prefix."events_detail";
174
+		$this->_old_start_end_table = $wpdb->prefix."events_start_end";
175
+		$this->_new_table = $wpdb->prefix."posts";
176
+		$this->_new_meta_table = $wpdb->prefix."esp_event_meta";
177
+		$this->_new_datetime_table = $wpdb->prefix."esp_datetime";
178
+		$this->_pretty_name = __("Events", "event_espresso");
179
+		parent::__construct();
180
+	}
181
+
182
+
183
+
184
+	/**
185
+	 * Counts the records to migrate; the public version may cache it
186
+	 * @return int
187
+	 */
188
+	public function _count_records_to_migrate()
189
+	{
190
+		global $wpdb;
191
+		$count = $wpdb->get_var("SELECT COUNT(*) FROM ".$this->_old_table);
192
+		return intval($count);
193
+	}
194
+
195
+
196
+
197
+	/**
198
+	 * IMPORTANT: if an error is encountered, or everything is finished, this stage should update its status property accordingly.
199
+	 * Note: it should not alter the count of items migrated. That is done in the public function that calls this.
200
+	 * IMPORTANT: The count of items migrated should ONLY be less than $num_items_to_migrate when it's the last migration step, otherwise it
201
+	 * should always return $num_items_to_migrate. (Eg, if we're migrating attendees rows from the database, and $num_items_to_migrate is set to 50,
202
+	 * then we SHOULD actually migrate 50 rows,but at very least we MUST report/return 50 items migrated)
203
+	 * @param int $num_items_to_migrate
204
+	 * @return int number of items ACTUALLY migrated
205
+	 */
206
+	protected function _migration_step($num_items_to_migrate = 50)
207
+	{
208
+		global $wpdb;
209
+		// because the migration of each event can be a LOT more work, make each step smaller
210
+		$num_items_to_migrate = max(1, $num_items_to_migrate/5);
211
+		$events = $wpdb->get_results($wpdb->prepare("SELECT * FROM $this->_old_table LIMIT %d,%d", $this->count_records_migrated(), $num_items_to_migrate), ARRAY_A);
212
+		$items_migrated_this_step = 0;
213
+
214
+		foreach ($events as $event_row) {
215
+			$guid = null;
216
+			// insert new 4.1 Attendee object using $wpdb
217
+			$post_id = $this->_insert_cpt($event_row);
218
+			if ($post_id) {
219
+				$this->get_migration_script()->set_mapping($this->_old_table, $event_row['id'], $this->_new_table, $post_id);
220
+				$meta_id = $this->_insert_event_meta($event_row, $post_id);
221
+				if ($meta_id) {
222
+					$this->get_migration_script()->set_mapping($this->_old_table, $event_row['id'], $this->_new_meta_table, $meta_id);
223
+				}
224
+				$this->_convert_start_end_times($event_row, $post_id);
225
+				$event_meta = maybe_unserialize($event_row['event_meta']);
226
+				$guid = isset($event_meta['event_thumbnail_url']) ? $event_meta['event_thumbnail_url'] : null;
227
+				$this->get_migration_script()->convert_image_url_to_attachment_and_attach_to_post($guid, $post_id, $this);
228
+
229
+				// maybe create a venue from info on the event?
230
+				$new_venue_id = $this->_maybe_create_venue($event_row);
231
+				if ($new_venue_id) {
232
+					$this->_insert_new_venue_to_event($post_id, $new_venue_id);
233
+				}
234
+				$this->_add_post_metas($event_row, $post_id);
235
+			}
236
+			$items_migrated_this_step++;
237
+			if ($guid) {
238
+				// if we had to check for an image attachment
239
+				// then let's call it a day (avoid timing out, because this took a long time)
240
+				break;
241
+			}
242
+		}
243
+		if ($this->count_records_migrated() + $items_migrated_this_step >= $this->count_records_to_migrate()) {
244
+			$this->set_status(EE_Data_Migration_Manager::status_completed);
245
+		}
246
+		return $items_migrated_this_step;
247
+	}
248
+
249
+	/**
250
+	 * Stores any extra 3.1 "event_meta" column things as post meta
251
+	 * @param array $old_event
252
+	 * @param int $post_id
253
+	 * @return void
254
+	 */
255
+	private function _add_post_metas($old_event, $post_id)
256
+	{
257
+		$event_meta = maybe_unserialize($old_event['event_meta']);
258
+		if (! $event_meta || ! is_array($event_meta)) {
259
+			return;
260
+		}
261
+		unset($event_meta['date_submitted']);// factored into CPT
262
+		unset($event_meta['additional_attendee_reg_info']);// factored into event meta table
263
+		unset($event_meta['default_payment_status']);// dido
264
+		unset($event_meta['event_thumbnail_url']);// used to find post featured image
265
+		foreach ($event_meta as $meta_key => $meta_value) {
266
+			if ($meta_key) {// if the meta key is just an empty string, ignore it
267
+				$success = add_post_meta($post_id, $meta_key, $meta_value, true);
268
+				if (! $success) {
269
+					$this->add_error(sprintf(__("Could not add post meta for CPT with ID #%d. Meta key: '%s',meta value:'%d' for 3.1 event: %s", "event_espresso"), $post_id, $meta_key, $meta_value, implode(",", $old_event)));
270
+				}
271
+			}
272
+		}
273
+		if ($old_event['alt_email']) {
274
+			add_post_meta($post_id, 'alt_email', $old_event['alt_email']);
275
+		}
276
+		if ($old_event['recurrence_id']) {
277
+			add_post_meta($post_id, 'recurrence_id', $old_event['recurrence_id']);
278
+		}
279
+	}
280
+
281
+
282
+
283
+	/**
284
+	 * Finds a unique slug for this event, given its name (we could have simply used
285
+	 * the old unique_identifier column, but it added a long string of seemingly random characters onto the end
286
+	 * and really wasn't that pretty for a slug, so we decided we'd make our own slug again)
287
+	 * @param string $event_name (the name of the event for reading by humans)
288
+	 * @param string $old_identifier the old EE3 identifier (a long unique string)
289
+	 * @param string $new_post_status a post status
290
+	 * @return string
291
+	 */
292
+	private function _find_unique_slug($event_name, $old_identifier = '', $new_post_status = 'publish')
293
+	{
294
+		$count = 0;
295
+		$original_name = $event_name ? sanitize_title($event_name) : $old_identifier;
296
+		return wp_unique_post_slug($original_name, 0, $new_post_status, 'espresso_events', 0);
297
+	}
298
+
299
+	/**
300
+	 * returns whether or not there is a post that has this same slug (post_title)
301
+	 * @global wpdb $wpdb
302
+	 * @param string $slug
303
+	 * @return boolean
304
+	 */
305
+	private function _other_post_exists_with_that_slug($slug)
306
+	{
307
+		global $wpdb;
308
+		$query = $wpdb->prepare("SELECT COUNT(ID) FROM {$this->_new_table} WHERE post_name = %s", $slug);
309
+		$count = $wpdb->get_var($query);
310
+		return (boolean) intval($count);
311
+	}
312
+
313
+
314
+
315
+	/**
316
+	 * @param $old_event
317
+	 * @return int
318
+	 */
319
+	private function _insert_cpt($old_event)
320
+	{
321
+		global $wpdb;
322
+		// convert 3.1 event status to 4.1 CPT status
323
+		// for reference, 3.1 event stati available for setting are:
329 324
 //      $status = array(array('id' => 'A', 'text' => __('Public', 'event_espresso')), array('id' => 'S', 'text' => __('Waitlist', 'event_espresso')), array('id' => 'O', 'text' => __('Ongoing', 'event_espresso')), array('id' => 'R', 'text' => __('Draft', 'event_espresso')), array('id' => 'D', 'text' => __('Deleted', 'event_espresso')));
330 325
 //      and the json api uses the following to convert from 3.1 to 4.0
331 326
 //      'S'=>'secondary/waitlist',
@@ -339,486 +334,486 @@  discard block
 block discarded – undo
339 334
 //      4.1 Event Post stati are the normal post statis
340 335
 //      (publish,future,draft,pending,private,trash,auto-draft,inherit)
341 336
 //      and 3 custom ones: cancelled,postponed,sold_out
342
-        $status_conversions = array(
343
-            'R'=>'draft',
344
-            'X'=>'draft',// 4.1 doesn't have a "not approved for publishing" status. this is what posts are set to that aren't approved
345
-            'P'=>'pending',
346
-            'IA'=>'draft',// draft and in the past
337
+		$status_conversions = array(
338
+			'R'=>'draft',
339
+			'X'=>'draft',// 4.1 doesn't have a "not approved for publishing" status. this is what posts are set to that aren't approved
340
+			'P'=>'pending',
341
+			'IA'=>'draft',// draft and in the past
347 342
 // IA=inactive in 3.1: events were switched to this when they expired. in 4.1 that's just calculated
348
-            'O'=>'publish',// @todo: will be an event type later; if this is the status, set the end date WAAAY later; and add term for 'ongoing'
349
-            'A'=>'publish',
350
-            'S'=>'draft',// @todo: is it ok to just mark secondary/waitlist events as DRAFTS?
351
-            'D'=>'trash',
352
-        );
353
-        $post_status = $status_conversions[ $old_event['event_status'] ];
354
-        // check if we've sold out
355
-        if (intval($old_event['reg_limit']) <= self::count_registrations($old_event['id'])) {
356
-            $post_status = 'sold_out';
357
-        }
343
+			'O'=>'publish',// @todo: will be an event type later; if this is the status, set the end date WAAAY later; and add term for 'ongoing'
344
+			'A'=>'publish',
345
+			'S'=>'draft',// @todo: is it ok to just mark secondary/waitlist events as DRAFTS?
346
+			'D'=>'trash',
347
+		);
348
+		$post_status = $status_conversions[ $old_event['event_status'] ];
349
+		// check if we've sold out
350
+		if (intval($old_event['reg_limit']) <= self::count_registrations($old_event['id'])) {
351
+			$post_status = 'sold_out';
352
+		}
358 353
 //      FYI postponed and cancelled don't exist in 3.1
359
-        $cols_n_values = array(
360
-            'post_title'=>stripslashes($old_event['event_name']),// EVT_name
361
-            'post_content'=>stripslashes($old_event['event_desc']),// EVT_desc
362
-            'post_name'=>$this->_find_unique_slug($old_event['event_name'], $old_event['event_identifier'], $post_status),// EVT_slug
363
-            'post_date'=>$old_event['submitted'],// EVT_created NOT
364
-            'post_date_gmt'=>get_gmt_from_date($old_event['submitted']),
365
-            'post_excerpt'=>'',// EVT_short_desc
366
-            'post_modified'=>$old_event['submitted'],// EVT_modified
367
-            'post_modified_gmt'=>get_gmt_from_date($old_event['submitted']),
368
-            'post_author'=>$old_event['wp_user'],// EVT_wp_user
369
-            'post_parent'=>0,// parent maybe get this from some REM field?
370
-            'menu_order'=>0,// EVT_order
371
-            'post_type'=>'espresso_events',// post_type
372
-            'post_status'=>$post_status,// status
373
-        );
374
-        $cols_n_values_with_no_invalid_text = array();
375
-        foreach ($cols_n_values as $col => $value) {
376
-            $value_sans_invalid_chars = $wpdb->strip_invalid_text_for_column($this->_new_table, $col, $value);
377
-            if (! is_wp_error($value_sans_invalid_chars)) {
378
-                $cols_n_values_with_no_invalid_text[ $col ] = $value_sans_invalid_chars;
379
-            } else {
380
-                // otherwise leave it as-is. It will blow everything up and stop the migration
381
-                $cols_n_values_with_no_invalid_text[ $col ] = $value;
382
-            }
383
-        }
384
-        $cols_n_values = $cols_n_values_with_no_invalid_text;
385
-        $datatypes = array(
386
-            '%s',// EVT_name
387
-            '%s',// EVT_desc
388
-            '%s',// EVT_slug
389
-            '%s',// EVT_created
390
-            '%s',
391
-            '%s',// EVT_short_desc
392
-            '%s',// EVT_modified
393
-            '%s',
394
-            '%s',// EVT_wp_user
395
-            '%d',// post_parent
396
-            '%d',// EVT_order
397
-            '%s',// post_type
398
-            '%s',// status
399
-        );
400
-        $success = $wpdb->insert(
401
-            $this->_new_table,
402
-            $cols_n_values,
403
-            $datatypes
404
-        );
405
-        if (! $success) {
406
-            $this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_event, $this->_new_table, $cols_n_values, $datatypes));
407
-            return 0;
408
-        }
409
-        return $wpdb->insert_id;
410
-    }
411
-
412
-    /**
413
-     * Counts all the registrations for the event in the 3.1 DB. (takes into account attendee rows which represent various registrations)
414
-     * @global wpdb $wpdb
415
-     * @param int $event_id
416
-     * @return int
417
-     */
418
-    public static function count_registrations($event_id)
419
-    {
420
-        global $wpdb;
421
-        $count = $wpdb->get_var($wpdb->prepare("SELECT sum(quantity) FROM {$wpdb->prefix}events_attendee WHERE event_id=%d", $event_id));
422
-        return intval($count);
423
-    }
424
-
425
-
426
-
427
-    /**
428
-     * @param $old_event
429
-     * @param $new_cpt_id
430
-     * @return int
431
-     */
432
-    private function _insert_event_meta($old_event, $new_cpt_id)
433
-    {
434
-        global $wpdb;
435
-        $event_meta = maybe_unserialize($old_event['event_meta']);
354
+		$cols_n_values = array(
355
+			'post_title'=>stripslashes($old_event['event_name']),// EVT_name
356
+			'post_content'=>stripslashes($old_event['event_desc']),// EVT_desc
357
+			'post_name'=>$this->_find_unique_slug($old_event['event_name'], $old_event['event_identifier'], $post_status),// EVT_slug
358
+			'post_date'=>$old_event['submitted'],// EVT_created NOT
359
+			'post_date_gmt'=>get_gmt_from_date($old_event['submitted']),
360
+			'post_excerpt'=>'',// EVT_short_desc
361
+			'post_modified'=>$old_event['submitted'],// EVT_modified
362
+			'post_modified_gmt'=>get_gmt_from_date($old_event['submitted']),
363
+			'post_author'=>$old_event['wp_user'],// EVT_wp_user
364
+			'post_parent'=>0,// parent maybe get this from some REM field?
365
+			'menu_order'=>0,// EVT_order
366
+			'post_type'=>'espresso_events',// post_type
367
+			'post_status'=>$post_status,// status
368
+		);
369
+		$cols_n_values_with_no_invalid_text = array();
370
+		foreach ($cols_n_values as $col => $value) {
371
+			$value_sans_invalid_chars = $wpdb->strip_invalid_text_for_column($this->_new_table, $col, $value);
372
+			if (! is_wp_error($value_sans_invalid_chars)) {
373
+				$cols_n_values_with_no_invalid_text[ $col ] = $value_sans_invalid_chars;
374
+			} else {
375
+				// otherwise leave it as-is. It will blow everything up and stop the migration
376
+				$cols_n_values_with_no_invalid_text[ $col ] = $value;
377
+			}
378
+		}
379
+		$cols_n_values = $cols_n_values_with_no_invalid_text;
380
+		$datatypes = array(
381
+			'%s',// EVT_name
382
+			'%s',// EVT_desc
383
+			'%s',// EVT_slug
384
+			'%s',// EVT_created
385
+			'%s',
386
+			'%s',// EVT_short_desc
387
+			'%s',// EVT_modified
388
+			'%s',
389
+			'%s',// EVT_wp_user
390
+			'%d',// post_parent
391
+			'%d',// EVT_order
392
+			'%s',// post_type
393
+			'%s',// status
394
+		);
395
+		$success = $wpdb->insert(
396
+			$this->_new_table,
397
+			$cols_n_values,
398
+			$datatypes
399
+		);
400
+		if (! $success) {
401
+			$this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_event, $this->_new_table, $cols_n_values, $datatypes));
402
+			return 0;
403
+		}
404
+		return $wpdb->insert_id;
405
+	}
406
+
407
+	/**
408
+	 * Counts all the registrations for the event in the 3.1 DB. (takes into account attendee rows which represent various registrations)
409
+	 * @global wpdb $wpdb
410
+	 * @param int $event_id
411
+	 * @return int
412
+	 */
413
+	public static function count_registrations($event_id)
414
+	{
415
+		global $wpdb;
416
+		$count = $wpdb->get_var($wpdb->prepare("SELECT sum(quantity) FROM {$wpdb->prefix}events_attendee WHERE event_id=%d", $event_id));
417
+		return intval($count);
418
+	}
419
+
420
+
421
+
422
+	/**
423
+	 * @param $old_event
424
+	 * @param $new_cpt_id
425
+	 * @return int
426
+	 */
427
+	private function _insert_event_meta($old_event, $new_cpt_id)
428
+	{
429
+		global $wpdb;
430
+		$event_meta = maybe_unserialize($old_event['event_meta']);
436 431
 //      for reference, 3.1 'default_payment_status' are: $default_payment_status = array(
437 432
 //  array('id' => "", 'text' => 'No Change'),
438 433
 //  array('id' => 'Incomplete', 'text' => 'Incomplete'),
439 434
 //  array('id' => 'Pending', 'text' => 'Pending'),
440 435
 //  //array('id' => 'Completed', 'text' => 'Completed')
441 436
 // );
442
-        $default_reg_status = $this->get_migration_script()->convert_3_1_payment_status_to_4_1_STS_ID(isset($event_meta['default_payment_status']) ? $event_meta['default_payment_status'] : '', intval($old_event['require_pre_approval']));
443
-        $cols_n_values = array(
444
-            'EVT_ID'=>$new_cpt_id,// EVT_ID_fk
445
-            'EVT_display_desc'=> 'Y' == $old_event['display_desc'],
446
-            'EVT_display_ticket_selector'=> 'Y'== $old_event['display_reg_form'],
447
-            'EVT_visible_on'=> $this->get_migration_script()->convert_date_string_to_utc($this, $old_event, current_time('mysql'), $old_event['timezone_string']),// don't use the old 'visible_on', as it wasn't ever used
448
-            'EVT_additional_limit'=> $old_event['allow_multiple'] == 'N' ? 1 : $old_event['additional_limit'],
449
-            'EVT_default_registration_status' => $default_reg_status,
450
-            'EVT_member_only'=>$old_event['member_only'],
451
-            'EVT_phone'=> $old_event['phone'],
452
-            'EVT_allow_overflow' => 'Y' == $old_event['allow_overflow'],
453
-            'EVT_timezone_string'=> $old_event['timezone_string'],
454
-            'EVT_external_URL'=>$old_event['externalURL'],
455
-            'EVT_donations'=>false// doesnt exist in 3.1
456
-
457
-        );
458
-        $datatypes = array(
459
-            '%s',// EVT_ID
460
-            '%d',// EVT_display_desc
461
-            '%d',// EVT_display_ticket_selector
462
-            '%s',// EVT_visible_on
463
-            '%d',// EVT_additional_limit
464
-            '%s',// EVT_default_registration_status
465
-            '%d',// EVT_member_only
466
-            '%s',// EVT_phone
467
-            '%d',// EVT_allow_overflow
468
-            '%s',// EVT_timezone_string
469
-            '%s',// EVT_external_URL
470
-            '%d',// EVT_donations
471
-        );
472
-        $success = $wpdb->insert(
473
-            $this->_new_meta_table,
474
-            $cols_n_values,
475
-            $datatypes
476
-        );
477
-        if (! $success) {
478
-            $this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_event, $this->_new_meta_table, $cols_n_values, $datatypes));
479
-            return 0;
480
-        }
481
-        return $wpdb->insert_id;
482
-    }
483
-
484
-
485
-
486
-    /**
487
-     * @param $old_event
488
-     * @return int
489
-     */
490
-    private function _maybe_create_venue($old_event)
491
-    {
492
-        if ($old_event['address'] ||
493
-                $old_event['address2'] ||
494
-                $old_event['city'] ||
495
-                $old_event['state'] ||
496
-                $old_event['zip'] ||
497
-                $old_event['venue_title'] ||
498
-                $old_event['venue_url'] ||
499
-                $old_event['venue_image'] ||
500
-                $old_event['venue_phone'] ||
501
-                $old_event['virtual_url'] ||
502
-                $old_event['virtual_phone']
503
-                ) {
504
-            $old_id = $this->_duplicate_venue_exists($old_event);
505
-            if ($old_id) {
506
-                return $old_id;
507
-            }
508
-            $new_id = $this->_insert_venue_into_posts($old_event);
509
-            if ($new_id) {
510
-                $this->_insert_venue_into_meta_table($new_id, $old_event);
511
-                $guid = isset($old_event['venue_image']) ? $old_event['venue_image']  : null;
512
-                $this->get_migration_script()->convert_image_url_to_attachment_and_attach_to_post($guid, $new_id, $this);
513
-            }
514
-            // we don't bother recording the conversion from old events to venues as that
515
-            // will complicate finding the conversion from old venues to new events
516
-            return $new_id;
517
-        } else {
518
-            return 0;
519
-        }
520
-    }
521
-
522
-    /**
523
-     * Assuming there is venue data on this event, check if there is a duplicate venue already in the system for it.
524
-     * If so, return it. Otherwise return NULL.
525
-     * @param array $old_event
526
-     * @return int duplicate venue id
527
-     */
528
-    private function _duplicate_venue_exists($old_event)
529
-    {
530
-        global $wpdb;
531
-        $conditions = array(
532
-            'VNU_address' => $old_event ['address'],
533
-            'VNU_address2' => $old_event['address2'],
534
-            'VNU_city' => $old_event['city'],
535
-            'VNU_zip' => $old_event['zip'],
536
-            'post_title'=> $this->_get_venue_title_for_event($old_event),
537
-            'VNU_phone'=>$old_event['venue_phone'],// VNU_phone
538
-            'VNU_url'=>$old_event['venue_url'],// VNU_url
539
-            'VNU_virtual_phone'=>$old_event['virtual_phone'],// VNU_virtual_phone
540
-            'VNU_virtual_url'=>$old_event['virtual_url'],// VNU_virtual_url
541
-        );
542
-        $sql_conditions = array();
543
-        foreach ($conditions as $column => $value) {
544
-            $sql_conditions [] = $wpdb->prepare("$column = %s", $value);
545
-        }
546
-        $query = "SELECT VNU_ID
437
+		$default_reg_status = $this->get_migration_script()->convert_3_1_payment_status_to_4_1_STS_ID(isset($event_meta['default_payment_status']) ? $event_meta['default_payment_status'] : '', intval($old_event['require_pre_approval']));
438
+		$cols_n_values = array(
439
+			'EVT_ID'=>$new_cpt_id,// EVT_ID_fk
440
+			'EVT_display_desc'=> 'Y' == $old_event['display_desc'],
441
+			'EVT_display_ticket_selector'=> 'Y'== $old_event['display_reg_form'],
442
+			'EVT_visible_on'=> $this->get_migration_script()->convert_date_string_to_utc($this, $old_event, current_time('mysql'), $old_event['timezone_string']),// don't use the old 'visible_on', as it wasn't ever used
443
+			'EVT_additional_limit'=> $old_event['allow_multiple'] == 'N' ? 1 : $old_event['additional_limit'],
444
+			'EVT_default_registration_status' => $default_reg_status,
445
+			'EVT_member_only'=>$old_event['member_only'],
446
+			'EVT_phone'=> $old_event['phone'],
447
+			'EVT_allow_overflow' => 'Y' == $old_event['allow_overflow'],
448
+			'EVT_timezone_string'=> $old_event['timezone_string'],
449
+			'EVT_external_URL'=>$old_event['externalURL'],
450
+			'EVT_donations'=>false// doesnt exist in 3.1
451
+
452
+		);
453
+		$datatypes = array(
454
+			'%s',// EVT_ID
455
+			'%d',// EVT_display_desc
456
+			'%d',// EVT_display_ticket_selector
457
+			'%s',// EVT_visible_on
458
+			'%d',// EVT_additional_limit
459
+			'%s',// EVT_default_registration_status
460
+			'%d',// EVT_member_only
461
+			'%s',// EVT_phone
462
+			'%d',// EVT_allow_overflow
463
+			'%s',// EVT_timezone_string
464
+			'%s',// EVT_external_URL
465
+			'%d',// EVT_donations
466
+		);
467
+		$success = $wpdb->insert(
468
+			$this->_new_meta_table,
469
+			$cols_n_values,
470
+			$datatypes
471
+		);
472
+		if (! $success) {
473
+			$this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_event, $this->_new_meta_table, $cols_n_values, $datatypes));
474
+			return 0;
475
+		}
476
+		return $wpdb->insert_id;
477
+	}
478
+
479
+
480
+
481
+	/**
482
+	 * @param $old_event
483
+	 * @return int
484
+	 */
485
+	private function _maybe_create_venue($old_event)
486
+	{
487
+		if ($old_event['address'] ||
488
+				$old_event['address2'] ||
489
+				$old_event['city'] ||
490
+				$old_event['state'] ||
491
+				$old_event['zip'] ||
492
+				$old_event['venue_title'] ||
493
+				$old_event['venue_url'] ||
494
+				$old_event['venue_image'] ||
495
+				$old_event['venue_phone'] ||
496
+				$old_event['virtual_url'] ||
497
+				$old_event['virtual_phone']
498
+				) {
499
+			$old_id = $this->_duplicate_venue_exists($old_event);
500
+			if ($old_id) {
501
+				return $old_id;
502
+			}
503
+			$new_id = $this->_insert_venue_into_posts($old_event);
504
+			if ($new_id) {
505
+				$this->_insert_venue_into_meta_table($new_id, $old_event);
506
+				$guid = isset($old_event['venue_image']) ? $old_event['venue_image']  : null;
507
+				$this->get_migration_script()->convert_image_url_to_attachment_and_attach_to_post($guid, $new_id, $this);
508
+			}
509
+			// we don't bother recording the conversion from old events to venues as that
510
+			// will complicate finding the conversion from old venues to new events
511
+			return $new_id;
512
+		} else {
513
+			return 0;
514
+		}
515
+	}
516
+
517
+	/**
518
+	 * Assuming there is venue data on this event, check if there is a duplicate venue already in the system for it.
519
+	 * If so, return it. Otherwise return NULL.
520
+	 * @param array $old_event
521
+	 * @return int duplicate venue id
522
+	 */
523
+	private function _duplicate_venue_exists($old_event)
524
+	{
525
+		global $wpdb;
526
+		$conditions = array(
527
+			'VNU_address' => $old_event ['address'],
528
+			'VNU_address2' => $old_event['address2'],
529
+			'VNU_city' => $old_event['city'],
530
+			'VNU_zip' => $old_event['zip'],
531
+			'post_title'=> $this->_get_venue_title_for_event($old_event),
532
+			'VNU_phone'=>$old_event['venue_phone'],// VNU_phone
533
+			'VNU_url'=>$old_event['venue_url'],// VNU_url
534
+			'VNU_virtual_phone'=>$old_event['virtual_phone'],// VNU_virtual_phone
535
+			'VNU_virtual_url'=>$old_event['virtual_url'],// VNU_virtual_url
536
+		);
537
+		$sql_conditions = array();
538
+		foreach ($conditions as $column => $value) {
539
+			$sql_conditions [] = $wpdb->prepare("$column = %s", $value);
540
+		}
541
+		$query = "SELECT VNU_ID
547 542
 					FROM
548 543
 		{$wpdb->posts} as p INNER JOIN
549 544
 		{$wpdb->prefix}esp_venue_meta as v ON p.ID = v.VNU_ID
550 545
 			WHERE " . implode(" AND ", $sql_conditions) . " LIMIT 1";
551
-        $id = $wpdb->get_var($query);
552
-        return $id;
553
-    }
554
-
555
-    /**
556
-     * Gets teh venue's title or makes one up if there is none
557
-     * @param array $event_data_array keys are events_details columns and values are their values
558
-     * @return string
559
-     */
560
-    protected function _get_venue_title_for_event($event_data_array)
561
-    {
562
-        return $event_data_array['venue_title'] ? stripslashes($event_data_array['venue_title']) : stripslashes(sprintf(__('Venue of %s', 'event_espresso'), $event_data_array['event_name']));
563
-    }
564
-
565
-    /**
566
-     * Inserts the CPT
567
-     *
568
-     * @param array $old_event keys are cols, values are col values
569
-     * @return int
570
-     */
571
-    private function _insert_venue_into_posts($old_event)
572
-    {
573
-        global $wpdb;
574
-        $insertion_array = array(
575
-                    'post_title'=> $this->_get_venue_title_for_event($old_event),// VNU_name
576
-                    'post_content'=>'',// VNU_desc
577
-                    'post_name'=> $this->_find_unique_slug($old_event['venue_title'], sanitize_title('venue-of-' . $old_event['event_name'])),// VNU_identifier
578
-                    'post_date'=>current_time('mysql'),// VNU_created
579
-                    'post_date_gmt'=>get_gmt_from_date(current_time('mysql')),
580
-                    'post_excerpt'=>'',// VNU_short_desc arbitrary only 50 characters
581
-                    'post_modified'=>current_time('mysql'),// VNU_modified
582
-                    'post_modified_gmt'=>get_gmt_from_date(current_time('mysql')),
583
-                    'post_author'=>$old_event['wp_user'],// VNU_wp_user
584
-                    'post_parent'=>0,// parent
585
-                    'menu_order'=>0,// VNU_order
586
-                    'post_type'=>'espresso_venues'// post_type
587
-                );
588
-        $datatypes_array = array(
589
-                    '%s',// VNU_name
590
-                    '%s',// VNU_desc
591
-                    '%s',// VNU_identifier
592
-                    '%s',// VNU_created
593
-                    '%s',
594
-                    '%s',// VNU_short_desc
595
-                    '%s',// VNU_modified
596
-                    '%s',
597
-                    '%d',// VNU_wp_user
598
-                    '%d',// parent
599
-                    '%d',// VNU_order
600
-                    '%s',// post_type
601
-                );
602
-        $success = $wpdb->insert(
603
-            $wpdb->posts,
604
-            $insertion_array,
605
-            $datatypes_array
606
-        );
607
-        if (! $success) {
608
-            $this->add_error(
609
-                $this->get_migration_script()->_create_error_message_for_db_insertion(
610
-                    $this->_old_table,
611
-                    $old_event,
612
-                    $this->_new_table,
613
-                    $insertion_array,
614
-                    $datatypes_array
615
-                )
616
-            );
617
-            return 0;
618
-        }
619
-        return $wpdb->insert_id;
620
-    }
621
-
622
-    /**
623
-     * Inserts into the venue_meta table
624
-     * @param int $cpt_id
625
-     * @param array $old_event
626
-     * @return int
627
-     */
628
-    private function _insert_venue_into_meta_table($cpt_id, $old_event)
629
-    {
630
-        global $wpdb;
631
-
632
-        // assume the country is the same as the organization's old settings
633
-        $country_iso = $this->get_migration_script()->get_default_country_iso();
634
-        // find the state from the venue, or the organization, or just guess california
635
-        if (! $old_event['state']) {
636
-            $old_org_options = get_option('events_organization_settings');
637
-            $state_name = stripslashes($old_org_options['organization_state']);
638
-        } else {
639
-            $state_name = $old_event['state'];
640
-        }
641
-        if (! $state_name) {
642
-            $state_name = 'CA';
643
-        }
644
-        // get a state ID with the same name, if possible
645
-        try {
646
-            $state = $this->get_migration_script()->get_or_create_state($state_name, $country_iso);
647
-            $state_id = $state['STA_ID'];
648
-        } catch (EE_Error $e) {
649
-            $this->add_error($e->getMessage());
650
-            $state_id = 0;
651
-        }
652
-        // now insert into meta table
653
-        $insertion_array = array(
654
-            'VNU_ID'=>$cpt_id,// VNU_ID_fk
655
-            'VNU_address'=>stripslashes($old_event['address']),// VNU_address
656
-            'VNU_address2'=>stripslashes($old_event['address2']),// VNU_address2
657
-            'VNU_city'=>stripslashes($old_event['city']),// VNU_city
658
-            'STA_ID'=>$state_id,// STA_ID
659
-            'CNT_ISO'=>$country_iso,// CNT_ISO
660
-            'VNU_zip'=>$old_event['zip'],// VNU_zip
661
-            'VNU_phone'=>$old_event['venue_phone'],// VNU_phone
662
-            'VNU_capacity'=>-1,// VNU_capacity
663
-            'VNU_url'=>$old_event['venue_url'],// VNU_url
664
-            'VNU_virtual_phone'=>$old_event['virtual_phone'],// VNU_virtual_phone
665
-            'VNU_virtual_url'=>$old_event['virtual_url'],// VNU_virtual_url
666
-            'VNU_google_map_link'=>'',// VNU_google_map_link
667
-            'VNU_enable_for_gmap'=>true // VNU_enable_for_gmap
668
-        );
669
-        $datatypes = array(
670
-            '%d',// VNU_ID_fk
671
-            '%s',// VNU_address
672
-            '%s',// VNU_address2
673
-            '%s',// VNU_city
674
-            '%d',// STA_ID
675
-            '%s',// CNT_ISO
676
-            '%s',// VNU_zip
677
-            '%s',// VNU_phone
678
-            '%d',// VNU_capacity
679
-            '%s',// VNU_url
680
-            '%s',// VNU_virtual_phone
681
-            '%s',// VNU_virtual_url
682
-            '%s',// VNU_google_map_link
683
-            '%d',// VNU_enable_for_gmap
684
-        );
685
-        $success = $wpdb->insert($wpdb->prefix."esp_venue_meta", $insertion_array, $datatypes);
686
-        if (! $success) {
687
-            $this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_event, $this->_new_meta_table, $insertion_array, $datatypes));
688
-            return 0;
689
-        }
690
-        return $wpdb->insert_id;
691
-    }
692
-
693
-
694
-
695
-    /**
696
-     * @param $new_event_id
697
-     * @param $new_venue_id
698
-     * @return int
699
-     */
700
-    private function _insert_new_venue_to_event($new_event_id, $new_venue_id)
701
-    {
702
-        global $wpdb;
703
-        if (! $new_event_id) {
704
-            $this->add_error(sprintf(__("Could not find 4.1 event id for 3.1 event #%d.", "event_espresso"), $new_event_id));
705
-            return 0;
706
-        }
707
-        if (! $new_venue_id) {
708
-            $this->add_error(sprintf(__("Could not find 4.1 venue id for 3.1 venue #%d.", "event_espresso"), $new_venue_id));
709
-            return 0;
710
-        }
711
-        $cols_n_values = array(
712
-            'EVT_ID'=>$new_event_id,
713
-            'VNU_ID'=>$new_venue_id,
714
-            'EVV_primary'=>true
715
-        );
716
-        $datatypes = array(
717
-            '%d',// EVT_ID
718
-            '%d',// VNU_ID
719
-            '%d',// EVT_primary
720
-        );
721
-        $success = $wpdb->insert($wpdb->prefix."esp_event_venue", $cols_n_values, $datatypes);
722
-        if (! $success) {
723
-            $this->add_error(
724
-                $this->get_migration_script()->_create_error_message_for_db_insertion(
725
-                    $this->_old_table,
726
-                    array(),
727
-                    $this->_new_table,
728
-                    $cols_n_values,
729
-                    $datatypes
730
-                )
731
-            );
732
-            return 0;
733
-        }
734
-        return $wpdb->insert_id;
735
-    }
736
-    /**
737
-     * Converts all the 3.1 start-end times for the event to 4.1 datetimes
738
-     * @global wpdb $wpdb
739
-     * @param array $old_event results of get_results(...,ARRAY_A)
740
-     * @param int $new_cpt_id new post ID
741
-     * @return void (if there are errors though, adds them to the stage's error list
742
-     */
743
-    private function _convert_start_end_times($old_event, $new_cpt_id)
744
-    {
745
-        $start_end_times = $this->_get_old_start_end_times($old_event['id']);
746
-        foreach ($start_end_times as $start_end_time) {
747
-            $datetime_id = $this->_insert_new_datetime($start_end_time, $old_event, $new_cpt_id);
748
-            if ($datetime_id) {
749
-                $this->get_migration_script()->set_mapping($this->_old_start_end_table, $start_end_time['id'], $this->_new_datetime_table, $datetime_id);
750
-            }
751
-        }
752
-    }
753
-    /**
754
-     * Queries the 3.1 wp_events_start_end table to get all the start and end times for the event
755
-     * @global wpdb $wpdb
756
-     * @param int $old_event_id
757
-     * @return array
758
-     */
759
-    private function _get_old_start_end_times($old_event_id)
760
-    {
761
-        global $wpdb;
762
-        return $wpdb->get_results($wpdb->prepare("SELECT * FROM $this->_old_start_end_table WHERE event_id=%d", $old_event_id), ARRAY_A);
763
-    }
764
-    /**
765
-     * Inserts a 4.1 datetime given the 3.1 start_end db row and event_details row
766
-     * @param array $start_end_time_row
767
-     * @param array $old_event_row
768
-     * @param int $new_cpt_id
769
-     * @return int ID of new datetime
770
-     */
771
-    private function _insert_new_datetime($start_end_time_row, $old_event_row, $new_cpt_id)
772
-    {
773
-        global $wpdb;
774
-        $start_date = $old_event_row['start_date'];
775
-        $start_time = $this->get_migration_script()->convertTimeFromAMPM($start_end_time_row['start_time']);
776
-        $end_date = $old_event_row['end_date'];
777
-        $end_time = $this->get_migration_script()->convertTimeFromAMPM($start_end_time_row['end_time']);
778
-        $existing_datetimes = $this->_count_other_datetimes_exist_for_new_event($new_cpt_id);
779
-        $start_datetime_utc = $this->get_migration_script()->convert_date_string_to_utc($this, $start_end_time_row, "$start_date $start_time:00", $old_event_row['timezone_string']);
780
-        $end_datetime_utc = $this->get_migration_script()->convert_date_string_to_utc($this, $start_end_time_row, "$end_date $end_time:00", $old_event_row['timezone_string']);
781
-        $cols_n_values = array(
782
-            'EVT_ID'=>$new_cpt_id,// EVT_ID
783
-            'DTT_EVT_start'=>$start_datetime_utc,// DTT_EVT_start
784
-            'DTT_EVT_end'=> $end_datetime_utc,// DTT_EVT_end
785
-            'DTT_reg_limit'=>intval($start_end_time_row['reg_limit']) ? $start_end_time_row['reg_limit'] : $old_event_row['reg_limit'],// DTT_reg_limit
786
-            'DTT_sold'=>0,// note: we will increment this as registrations are added during the migration
546
+		$id = $wpdb->get_var($query);
547
+		return $id;
548
+	}
549
+
550
+	/**
551
+	 * Gets teh venue's title or makes one up if there is none
552
+	 * @param array $event_data_array keys are events_details columns and values are their values
553
+	 * @return string
554
+	 */
555
+	protected function _get_venue_title_for_event($event_data_array)
556
+	{
557
+		return $event_data_array['venue_title'] ? stripslashes($event_data_array['venue_title']) : stripslashes(sprintf(__('Venue of %s', 'event_espresso'), $event_data_array['event_name']));
558
+	}
559
+
560
+	/**
561
+	 * Inserts the CPT
562
+	 *
563
+	 * @param array $old_event keys are cols, values are col values
564
+	 * @return int
565
+	 */
566
+	private function _insert_venue_into_posts($old_event)
567
+	{
568
+		global $wpdb;
569
+		$insertion_array = array(
570
+					'post_title'=> $this->_get_venue_title_for_event($old_event),// VNU_name
571
+					'post_content'=>'',// VNU_desc
572
+					'post_name'=> $this->_find_unique_slug($old_event['venue_title'], sanitize_title('venue-of-' . $old_event['event_name'])),// VNU_identifier
573
+					'post_date'=>current_time('mysql'),// VNU_created
574
+					'post_date_gmt'=>get_gmt_from_date(current_time('mysql')),
575
+					'post_excerpt'=>'',// VNU_short_desc arbitrary only 50 characters
576
+					'post_modified'=>current_time('mysql'),// VNU_modified
577
+					'post_modified_gmt'=>get_gmt_from_date(current_time('mysql')),
578
+					'post_author'=>$old_event['wp_user'],// VNU_wp_user
579
+					'post_parent'=>0,// parent
580
+					'menu_order'=>0,// VNU_order
581
+					'post_type'=>'espresso_venues'// post_type
582
+				);
583
+		$datatypes_array = array(
584
+					'%s',// VNU_name
585
+					'%s',// VNU_desc
586
+					'%s',// VNU_identifier
587
+					'%s',// VNU_created
588
+					'%s',
589
+					'%s',// VNU_short_desc
590
+					'%s',// VNU_modified
591
+					'%s',
592
+					'%d',// VNU_wp_user
593
+					'%d',// parent
594
+					'%d',// VNU_order
595
+					'%s',// post_type
596
+				);
597
+		$success = $wpdb->insert(
598
+			$wpdb->posts,
599
+			$insertion_array,
600
+			$datatypes_array
601
+		);
602
+		if (! $success) {
603
+			$this->add_error(
604
+				$this->get_migration_script()->_create_error_message_for_db_insertion(
605
+					$this->_old_table,
606
+					$old_event,
607
+					$this->_new_table,
608
+					$insertion_array,
609
+					$datatypes_array
610
+				)
611
+			);
612
+			return 0;
613
+		}
614
+		return $wpdb->insert_id;
615
+	}
616
+
617
+	/**
618
+	 * Inserts into the venue_meta table
619
+	 * @param int $cpt_id
620
+	 * @param array $old_event
621
+	 * @return int
622
+	 */
623
+	private function _insert_venue_into_meta_table($cpt_id, $old_event)
624
+	{
625
+		global $wpdb;
626
+
627
+		// assume the country is the same as the organization's old settings
628
+		$country_iso = $this->get_migration_script()->get_default_country_iso();
629
+		// find the state from the venue, or the organization, or just guess california
630
+		if (! $old_event['state']) {
631
+			$old_org_options = get_option('events_organization_settings');
632
+			$state_name = stripslashes($old_org_options['organization_state']);
633
+		} else {
634
+			$state_name = $old_event['state'];
635
+		}
636
+		if (! $state_name) {
637
+			$state_name = 'CA';
638
+		}
639
+		// get a state ID with the same name, if possible
640
+		try {
641
+			$state = $this->get_migration_script()->get_or_create_state($state_name, $country_iso);
642
+			$state_id = $state['STA_ID'];
643
+		} catch (EE_Error $e) {
644
+			$this->add_error($e->getMessage());
645
+			$state_id = 0;
646
+		}
647
+		// now insert into meta table
648
+		$insertion_array = array(
649
+			'VNU_ID'=>$cpt_id,// VNU_ID_fk
650
+			'VNU_address'=>stripslashes($old_event['address']),// VNU_address
651
+			'VNU_address2'=>stripslashes($old_event['address2']),// VNU_address2
652
+			'VNU_city'=>stripslashes($old_event['city']),// VNU_city
653
+			'STA_ID'=>$state_id,// STA_ID
654
+			'CNT_ISO'=>$country_iso,// CNT_ISO
655
+			'VNU_zip'=>$old_event['zip'],// VNU_zip
656
+			'VNU_phone'=>$old_event['venue_phone'],// VNU_phone
657
+			'VNU_capacity'=>-1,// VNU_capacity
658
+			'VNU_url'=>$old_event['venue_url'],// VNU_url
659
+			'VNU_virtual_phone'=>$old_event['virtual_phone'],// VNU_virtual_phone
660
+			'VNU_virtual_url'=>$old_event['virtual_url'],// VNU_virtual_url
661
+			'VNU_google_map_link'=>'',// VNU_google_map_link
662
+			'VNU_enable_for_gmap'=>true // VNU_enable_for_gmap
663
+		);
664
+		$datatypes = array(
665
+			'%d',// VNU_ID_fk
666
+			'%s',// VNU_address
667
+			'%s',// VNU_address2
668
+			'%s',// VNU_city
669
+			'%d',// STA_ID
670
+			'%s',// CNT_ISO
671
+			'%s',// VNU_zip
672
+			'%s',// VNU_phone
673
+			'%d',// VNU_capacity
674
+			'%s',// VNU_url
675
+			'%s',// VNU_virtual_phone
676
+			'%s',// VNU_virtual_url
677
+			'%s',// VNU_google_map_link
678
+			'%d',// VNU_enable_for_gmap
679
+		);
680
+		$success = $wpdb->insert($wpdb->prefix."esp_venue_meta", $insertion_array, $datatypes);
681
+		if (! $success) {
682
+			$this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_event, $this->_new_meta_table, $insertion_array, $datatypes));
683
+			return 0;
684
+		}
685
+		return $wpdb->insert_id;
686
+	}
687
+
688
+
689
+
690
+	/**
691
+	 * @param $new_event_id
692
+	 * @param $new_venue_id
693
+	 * @return int
694
+	 */
695
+	private function _insert_new_venue_to_event($new_event_id, $new_venue_id)
696
+	{
697
+		global $wpdb;
698
+		if (! $new_event_id) {
699
+			$this->add_error(sprintf(__("Could not find 4.1 event id for 3.1 event #%d.", "event_espresso"), $new_event_id));
700
+			return 0;
701
+		}
702
+		if (! $new_venue_id) {
703
+			$this->add_error(sprintf(__("Could not find 4.1 venue id for 3.1 venue #%d.", "event_espresso"), $new_venue_id));
704
+			return 0;
705
+		}
706
+		$cols_n_values = array(
707
+			'EVT_ID'=>$new_event_id,
708
+			'VNU_ID'=>$new_venue_id,
709
+			'EVV_primary'=>true
710
+		);
711
+		$datatypes = array(
712
+			'%d',// EVT_ID
713
+			'%d',// VNU_ID
714
+			'%d',// EVT_primary
715
+		);
716
+		$success = $wpdb->insert($wpdb->prefix."esp_event_venue", $cols_n_values, $datatypes);
717
+		if (! $success) {
718
+			$this->add_error(
719
+				$this->get_migration_script()->_create_error_message_for_db_insertion(
720
+					$this->_old_table,
721
+					array(),
722
+					$this->_new_table,
723
+					$cols_n_values,
724
+					$datatypes
725
+				)
726
+			);
727
+			return 0;
728
+		}
729
+		return $wpdb->insert_id;
730
+	}
731
+	/**
732
+	 * Converts all the 3.1 start-end times for the event to 4.1 datetimes
733
+	 * @global wpdb $wpdb
734
+	 * @param array $old_event results of get_results(...,ARRAY_A)
735
+	 * @param int $new_cpt_id new post ID
736
+	 * @return void (if there are errors though, adds them to the stage's error list
737
+	 */
738
+	private function _convert_start_end_times($old_event, $new_cpt_id)
739
+	{
740
+		$start_end_times = $this->_get_old_start_end_times($old_event['id']);
741
+		foreach ($start_end_times as $start_end_time) {
742
+			$datetime_id = $this->_insert_new_datetime($start_end_time, $old_event, $new_cpt_id);
743
+			if ($datetime_id) {
744
+				$this->get_migration_script()->set_mapping($this->_old_start_end_table, $start_end_time['id'], $this->_new_datetime_table, $datetime_id);
745
+			}
746
+		}
747
+	}
748
+	/**
749
+	 * Queries the 3.1 wp_events_start_end table to get all the start and end times for the event
750
+	 * @global wpdb $wpdb
751
+	 * @param int $old_event_id
752
+	 * @return array
753
+	 */
754
+	private function _get_old_start_end_times($old_event_id)
755
+	{
756
+		global $wpdb;
757
+		return $wpdb->get_results($wpdb->prepare("SELECT * FROM $this->_old_start_end_table WHERE event_id=%d", $old_event_id), ARRAY_A);
758
+	}
759
+	/**
760
+	 * Inserts a 4.1 datetime given the 3.1 start_end db row and event_details row
761
+	 * @param array $start_end_time_row
762
+	 * @param array $old_event_row
763
+	 * @param int $new_cpt_id
764
+	 * @return int ID of new datetime
765
+	 */
766
+	private function _insert_new_datetime($start_end_time_row, $old_event_row, $new_cpt_id)
767
+	{
768
+		global $wpdb;
769
+		$start_date = $old_event_row['start_date'];
770
+		$start_time = $this->get_migration_script()->convertTimeFromAMPM($start_end_time_row['start_time']);
771
+		$end_date = $old_event_row['end_date'];
772
+		$end_time = $this->get_migration_script()->convertTimeFromAMPM($start_end_time_row['end_time']);
773
+		$existing_datetimes = $this->_count_other_datetimes_exist_for_new_event($new_cpt_id);
774
+		$start_datetime_utc = $this->get_migration_script()->convert_date_string_to_utc($this, $start_end_time_row, "$start_date $start_time:00", $old_event_row['timezone_string']);
775
+		$end_datetime_utc = $this->get_migration_script()->convert_date_string_to_utc($this, $start_end_time_row, "$end_date $end_time:00", $old_event_row['timezone_string']);
776
+		$cols_n_values = array(
777
+			'EVT_ID'=>$new_cpt_id,// EVT_ID
778
+			'DTT_EVT_start'=>$start_datetime_utc,// DTT_EVT_start
779
+			'DTT_EVT_end'=> $end_datetime_utc,// DTT_EVT_end
780
+			'DTT_reg_limit'=>intval($start_end_time_row['reg_limit']) ? $start_end_time_row['reg_limit'] : $old_event_row['reg_limit'],// DTT_reg_limit
781
+			'DTT_sold'=>0,// note: we will increment this as registrations are added during the migration
787 782
 //          'DTT_is_primary'=> 0 == $existing_datetimes ,//DTT_is_primary... if count==0, then we'll call it the 'primary'
788
-            'DTT_order'=> $existing_datetimes,// DTT_order, just give it the same order as the count of how many datetimes already exist
789
-            'DTT_parent'=>0,
790
-            'DTT_deleted'=>false
791
-        );
792
-        $datatypes = array(
793
-            '%d',// EVT_Id
794
-            '%s',// DTT_EVT_start
795
-            '%s',// DTT_EVT_end
796
-            '%d',// DTT_reg_limit
797
-            '%d',// DTT_sold
783
+			'DTT_order'=> $existing_datetimes,// DTT_order, just give it the same order as the count of how many datetimes already exist
784
+			'DTT_parent'=>0,
785
+			'DTT_deleted'=>false
786
+		);
787
+		$datatypes = array(
788
+			'%d',// EVT_Id
789
+			'%s',// DTT_EVT_start
790
+			'%s',// DTT_EVT_end
791
+			'%d',// DTT_reg_limit
792
+			'%d',// DTT_sold
798 793
 //          '%d',//DTT_is_primary
799
-            '%d',// DTT_order
800
-            '%d',// DTT_parent
801
-            '%d',// DTT_deleted
802
-        );
803
-        $success = $wpdb->insert($this->_new_datetime_table, $cols_n_values, $datatypes);
804
-        if (! $success) {
805
-            $this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_start_end_table, array_merge($old_event_row, $start_end_time_row), $this->_new_datetime_table, $cols_n_values, $datatypes));
806
-            return 0;
807
-        }
808
-        return $wpdb->insert_id;
809
-    }
810
-
811
-    /**
812
-     * Checks if there's a 4.1 datetime for this event already. This is mostly only handy
813
-     * when deciding whether a datetime we're about ot insert should be the 'primary' or not
814
-     * @global wpdb $wpdb
815
-     * @param int $cpt_event_id
816
-     * @return int
817
-     */
818
-    private function _count_other_datetimes_exist_for_new_event($cpt_event_id)
819
-    {
820
-        global $wpdb;
821
-        $count = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM $this->_new_datetime_table WHERE EVT_ID=%d", $cpt_event_id));
822
-        return intval($count);
823
-    }
794
+			'%d',// DTT_order
795
+			'%d',// DTT_parent
796
+			'%d',// DTT_deleted
797
+		);
798
+		$success = $wpdb->insert($this->_new_datetime_table, $cols_n_values, $datatypes);
799
+		if (! $success) {
800
+			$this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_start_end_table, array_merge($old_event_row, $start_end_time_row), $this->_new_datetime_table, $cols_n_values, $datatypes));
801
+			return 0;
802
+		}
803
+		return $wpdb->insert_id;
804
+	}
805
+
806
+	/**
807
+	 * Checks if there's a 4.1 datetime for this event already. This is mostly only handy
808
+	 * when deciding whether a datetime we're about ot insert should be the 'primary' or not
809
+	 * @global wpdb $wpdb
810
+	 * @param int $cpt_event_id
811
+	 * @return int
812
+	 */
813
+	private function _count_other_datetimes_exist_for_new_event($cpt_event_id)
814
+	{
815
+		global $wpdb;
816
+		$count = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM $this->_new_datetime_table WHERE EVT_ID=%d", $cpt_event_id));
817
+		return intval($count);
818
+	}
824 819
 }
Please login to merge, or discard this patch.
Spacing   +131 added lines, -131 removed lines patch added patch discarded remove patch
@@ -212,7 +212,7 @@  discard block
 block discarded – undo
212 212
     {
213 213
         global $wpdb;
214 214
         // because the migration of each event can be a LOT more work, make each step smaller
215
-        $num_items_to_migrate = max(1, $num_items_to_migrate/5);
215
+        $num_items_to_migrate = max(1, $num_items_to_migrate / 5);
216 216
         $events = $wpdb->get_results($wpdb->prepare("SELECT * FROM $this->_old_table LIMIT %d,%d", $this->count_records_migrated(), $num_items_to_migrate), ARRAY_A);
217 217
         $items_migrated_this_step = 0;
218 218
 
@@ -260,17 +260,17 @@  discard block
 block discarded – undo
260 260
     private function _add_post_metas($old_event, $post_id)
261 261
     {
262 262
         $event_meta = maybe_unserialize($old_event['event_meta']);
263
-        if (! $event_meta || ! is_array($event_meta)) {
263
+        if ( ! $event_meta || ! is_array($event_meta)) {
264 264
             return;
265 265
         }
266
-        unset($event_meta['date_submitted']);// factored into CPT
267
-        unset($event_meta['additional_attendee_reg_info']);// factored into event meta table
268
-        unset($event_meta['default_payment_status']);// dido
269
-        unset($event_meta['event_thumbnail_url']);// used to find post featured image
266
+        unset($event_meta['date_submitted']); // factored into CPT
267
+        unset($event_meta['additional_attendee_reg_info']); // factored into event meta table
268
+        unset($event_meta['default_payment_status']); // dido
269
+        unset($event_meta['event_thumbnail_url']); // used to find post featured image
270 270
         foreach ($event_meta as $meta_key => $meta_value) {
271 271
             if ($meta_key) {// if the meta key is just an empty string, ignore it
272 272
                 $success = add_post_meta($post_id, $meta_key, $meta_value, true);
273
-                if (! $success) {
273
+                if ( ! $success) {
274 274
                     $this->add_error(sprintf(__("Could not add post meta for CPT with ID #%d. Meta key: '%s',meta value:'%d' for 3.1 event: %s", "event_espresso"), $post_id, $meta_key, $meta_value, implode(",", $old_event)));
275 275
                 }
276 276
             }
@@ -341,68 +341,68 @@  discard block
 block discarded – undo
341 341
 //      and 3 custom ones: cancelled,postponed,sold_out
342 342
         $status_conversions = array(
343 343
             'R'=>'draft',
344
-            'X'=>'draft',// 4.1 doesn't have a "not approved for publishing" status. this is what posts are set to that aren't approved
344
+            'X'=>'draft', // 4.1 doesn't have a "not approved for publishing" status. this is what posts are set to that aren't approved
345 345
             'P'=>'pending',
346
-            'IA'=>'draft',// draft and in the past
346
+            'IA'=>'draft', // draft and in the past
347 347
 // IA=inactive in 3.1: events were switched to this when they expired. in 4.1 that's just calculated
348
-            'O'=>'publish',// @todo: will be an event type later; if this is the status, set the end date WAAAY later; and add term for 'ongoing'
348
+            'O'=>'publish', // @todo: will be an event type later; if this is the status, set the end date WAAAY later; and add term for 'ongoing'
349 349
             'A'=>'publish',
350
-            'S'=>'draft',// @todo: is it ok to just mark secondary/waitlist events as DRAFTS?
350
+            'S'=>'draft', // @todo: is it ok to just mark secondary/waitlist events as DRAFTS?
351 351
             'D'=>'trash',
352 352
         );
353
-        $post_status = $status_conversions[ $old_event['event_status'] ];
353
+        $post_status = $status_conversions[$old_event['event_status']];
354 354
         // check if we've sold out
355 355
         if (intval($old_event['reg_limit']) <= self::count_registrations($old_event['id'])) {
356 356
             $post_status = 'sold_out';
357 357
         }
358 358
 //      FYI postponed and cancelled don't exist in 3.1
359 359
         $cols_n_values = array(
360
-            'post_title'=>stripslashes($old_event['event_name']),// EVT_name
361
-            'post_content'=>stripslashes($old_event['event_desc']),// EVT_desc
362
-            'post_name'=>$this->_find_unique_slug($old_event['event_name'], $old_event['event_identifier'], $post_status),// EVT_slug
363
-            'post_date'=>$old_event['submitted'],// EVT_created NOT
360
+            'post_title'=>stripslashes($old_event['event_name']), // EVT_name
361
+            'post_content'=>stripslashes($old_event['event_desc']), // EVT_desc
362
+            'post_name'=>$this->_find_unique_slug($old_event['event_name'], $old_event['event_identifier'], $post_status), // EVT_slug
363
+            'post_date'=>$old_event['submitted'], // EVT_created NOT
364 364
             'post_date_gmt'=>get_gmt_from_date($old_event['submitted']),
365
-            'post_excerpt'=>'',// EVT_short_desc
366
-            'post_modified'=>$old_event['submitted'],// EVT_modified
365
+            'post_excerpt'=>'', // EVT_short_desc
366
+            'post_modified'=>$old_event['submitted'], // EVT_modified
367 367
             'post_modified_gmt'=>get_gmt_from_date($old_event['submitted']),
368
-            'post_author'=>$old_event['wp_user'],// EVT_wp_user
369
-            'post_parent'=>0,// parent maybe get this from some REM field?
370
-            'menu_order'=>0,// EVT_order
371
-            'post_type'=>'espresso_events',// post_type
372
-            'post_status'=>$post_status,// status
368
+            'post_author'=>$old_event['wp_user'], // EVT_wp_user
369
+            'post_parent'=>0, // parent maybe get this from some REM field?
370
+            'menu_order'=>0, // EVT_order
371
+            'post_type'=>'espresso_events', // post_type
372
+            'post_status'=>$post_status, // status
373 373
         );
374 374
         $cols_n_values_with_no_invalid_text = array();
375 375
         foreach ($cols_n_values as $col => $value) {
376 376
             $value_sans_invalid_chars = $wpdb->strip_invalid_text_for_column($this->_new_table, $col, $value);
377
-            if (! is_wp_error($value_sans_invalid_chars)) {
378
-                $cols_n_values_with_no_invalid_text[ $col ] = $value_sans_invalid_chars;
377
+            if ( ! is_wp_error($value_sans_invalid_chars)) {
378
+                $cols_n_values_with_no_invalid_text[$col] = $value_sans_invalid_chars;
379 379
             } else {
380 380
                 // otherwise leave it as-is. It will blow everything up and stop the migration
381
-                $cols_n_values_with_no_invalid_text[ $col ] = $value;
381
+                $cols_n_values_with_no_invalid_text[$col] = $value;
382 382
             }
383 383
         }
384 384
         $cols_n_values = $cols_n_values_with_no_invalid_text;
385 385
         $datatypes = array(
386
-            '%s',// EVT_name
387
-            '%s',// EVT_desc
388
-            '%s',// EVT_slug
389
-            '%s',// EVT_created
386
+            '%s', // EVT_name
387
+            '%s', // EVT_desc
388
+            '%s', // EVT_slug
389
+            '%s', // EVT_created
390 390
             '%s',
391
-            '%s',// EVT_short_desc
392
-            '%s',// EVT_modified
391
+            '%s', // EVT_short_desc
392
+            '%s', // EVT_modified
393 393
             '%s',
394
-            '%s',// EVT_wp_user
395
-            '%d',// post_parent
396
-            '%d',// EVT_order
397
-            '%s',// post_type
398
-            '%s',// status
394
+            '%s', // EVT_wp_user
395
+            '%d', // post_parent
396
+            '%d', // EVT_order
397
+            '%s', // post_type
398
+            '%s', // status
399 399
         );
400 400
         $success = $wpdb->insert(
401 401
             $this->_new_table,
402 402
             $cols_n_values,
403 403
             $datatypes
404 404
         );
405
-        if (! $success) {
405
+        if ( ! $success) {
406 406
             $this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_event, $this->_new_table, $cols_n_values, $datatypes));
407 407
             return 0;
408 408
         }
@@ -441,10 +441,10 @@  discard block
 block discarded – undo
441 441
 // );
442 442
         $default_reg_status = $this->get_migration_script()->convert_3_1_payment_status_to_4_1_STS_ID(isset($event_meta['default_payment_status']) ? $event_meta['default_payment_status'] : '', intval($old_event['require_pre_approval']));
443 443
         $cols_n_values = array(
444
-            'EVT_ID'=>$new_cpt_id,// EVT_ID_fk
444
+            'EVT_ID'=>$new_cpt_id, // EVT_ID_fk
445 445
             'EVT_display_desc'=> 'Y' == $old_event['display_desc'],
446
-            'EVT_display_ticket_selector'=> 'Y'== $old_event['display_reg_form'],
447
-            'EVT_visible_on'=> $this->get_migration_script()->convert_date_string_to_utc($this, $old_event, current_time('mysql'), $old_event['timezone_string']),// don't use the old 'visible_on', as it wasn't ever used
446
+            'EVT_display_ticket_selector'=> 'Y' == $old_event['display_reg_form'],
447
+            'EVT_visible_on'=> $this->get_migration_script()->convert_date_string_to_utc($this, $old_event, current_time('mysql'), $old_event['timezone_string']), // don't use the old 'visible_on', as it wasn't ever used
448 448
             'EVT_additional_limit'=> $old_event['allow_multiple'] == 'N' ? 1 : $old_event['additional_limit'],
449 449
             'EVT_default_registration_status' => $default_reg_status,
450 450
             'EVT_member_only'=>$old_event['member_only'],
@@ -456,25 +456,25 @@  discard block
 block discarded – undo
456 456
 
457 457
         );
458 458
         $datatypes = array(
459
-            '%s',// EVT_ID
460
-            '%d',// EVT_display_desc
461
-            '%d',// EVT_display_ticket_selector
462
-            '%s',// EVT_visible_on
463
-            '%d',// EVT_additional_limit
464
-            '%s',// EVT_default_registration_status
465
-            '%d',// EVT_member_only
466
-            '%s',// EVT_phone
467
-            '%d',// EVT_allow_overflow
468
-            '%s',// EVT_timezone_string
469
-            '%s',// EVT_external_URL
470
-            '%d',// EVT_donations
459
+            '%s', // EVT_ID
460
+            '%d', // EVT_display_desc
461
+            '%d', // EVT_display_ticket_selector
462
+            '%s', // EVT_visible_on
463
+            '%d', // EVT_additional_limit
464
+            '%s', // EVT_default_registration_status
465
+            '%d', // EVT_member_only
466
+            '%s', // EVT_phone
467
+            '%d', // EVT_allow_overflow
468
+            '%s', // EVT_timezone_string
469
+            '%s', // EVT_external_URL
470
+            '%d', // EVT_donations
471 471
         );
472 472
         $success = $wpdb->insert(
473 473
             $this->_new_meta_table,
474 474
             $cols_n_values,
475 475
             $datatypes
476 476
         );
477
-        if (! $success) {
477
+        if ( ! $success) {
478 478
             $this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_event, $this->_new_meta_table, $cols_n_values, $datatypes));
479 479
             return 0;
480 480
         }
@@ -508,7 +508,7 @@  discard block
 block discarded – undo
508 508
             $new_id = $this->_insert_venue_into_posts($old_event);
509 509
             if ($new_id) {
510 510
                 $this->_insert_venue_into_meta_table($new_id, $old_event);
511
-                $guid = isset($old_event['venue_image']) ? $old_event['venue_image']  : null;
511
+                $guid = isset($old_event['venue_image']) ? $old_event['venue_image'] : null;
512 512
                 $this->get_migration_script()->convert_image_url_to_attachment_and_attach_to_post($guid, $new_id, $this);
513 513
             }
514 514
             // we don't bother recording the conversion from old events to venues as that
@@ -534,10 +534,10 @@  discard block
 block discarded – undo
534 534
             'VNU_city' => $old_event['city'],
535 535
             'VNU_zip' => $old_event['zip'],
536 536
             'post_title'=> $this->_get_venue_title_for_event($old_event),
537
-            'VNU_phone'=>$old_event['venue_phone'],// VNU_phone
538
-            'VNU_url'=>$old_event['venue_url'],// VNU_url
539
-            'VNU_virtual_phone'=>$old_event['virtual_phone'],// VNU_virtual_phone
540
-            'VNU_virtual_url'=>$old_event['virtual_url'],// VNU_virtual_url
537
+            'VNU_phone'=>$old_event['venue_phone'], // VNU_phone
538
+            'VNU_url'=>$old_event['venue_url'], // VNU_url
539
+            'VNU_virtual_phone'=>$old_event['virtual_phone'], // VNU_virtual_phone
540
+            'VNU_virtual_url'=>$old_event['virtual_url'], // VNU_virtual_url
541 541
         );
542 542
         $sql_conditions = array();
543 543
         foreach ($conditions as $column => $value) {
@@ -547,7 +547,7 @@  discard block
 block discarded – undo
547 547
 					FROM
548 548
 		{$wpdb->posts} as p INNER JOIN
549 549
 		{$wpdb->prefix}esp_venue_meta as v ON p.ID = v.VNU_ID
550
-			WHERE " . implode(" AND ", $sql_conditions) . " LIMIT 1";
550
+			WHERE ".implode(" AND ", $sql_conditions)." LIMIT 1";
551 551
         $id = $wpdb->get_var($query);
552 552
         return $id;
553 553
     }
@@ -572,39 +572,39 @@  discard block
 block discarded – undo
572 572
     {
573 573
         global $wpdb;
574 574
         $insertion_array = array(
575
-                    'post_title'=> $this->_get_venue_title_for_event($old_event),// VNU_name
576
-                    'post_content'=>'',// VNU_desc
577
-                    'post_name'=> $this->_find_unique_slug($old_event['venue_title'], sanitize_title('venue-of-' . $old_event['event_name'])),// VNU_identifier
578
-                    'post_date'=>current_time('mysql'),// VNU_created
575
+                    'post_title'=> $this->_get_venue_title_for_event($old_event), // VNU_name
576
+                    'post_content'=>'', // VNU_desc
577
+                    'post_name'=> $this->_find_unique_slug($old_event['venue_title'], sanitize_title('venue-of-'.$old_event['event_name'])), // VNU_identifier
578
+                    'post_date'=>current_time('mysql'), // VNU_created
579 579
                     'post_date_gmt'=>get_gmt_from_date(current_time('mysql')),
580
-                    'post_excerpt'=>'',// VNU_short_desc arbitrary only 50 characters
581
-                    'post_modified'=>current_time('mysql'),// VNU_modified
580
+                    'post_excerpt'=>'', // VNU_short_desc arbitrary only 50 characters
581
+                    'post_modified'=>current_time('mysql'), // VNU_modified
582 582
                     'post_modified_gmt'=>get_gmt_from_date(current_time('mysql')),
583
-                    'post_author'=>$old_event['wp_user'],// VNU_wp_user
584
-                    'post_parent'=>0,// parent
585
-                    'menu_order'=>0,// VNU_order
583
+                    'post_author'=>$old_event['wp_user'], // VNU_wp_user
584
+                    'post_parent'=>0, // parent
585
+                    'menu_order'=>0, // VNU_order
586 586
                     'post_type'=>'espresso_venues'// post_type
587 587
                 );
588 588
         $datatypes_array = array(
589
-                    '%s',// VNU_name
590
-                    '%s',// VNU_desc
591
-                    '%s',// VNU_identifier
592
-                    '%s',// VNU_created
589
+                    '%s', // VNU_name
590
+                    '%s', // VNU_desc
591
+                    '%s', // VNU_identifier
592
+                    '%s', // VNU_created
593 593
                     '%s',
594
-                    '%s',// VNU_short_desc
595
-                    '%s',// VNU_modified
594
+                    '%s', // VNU_short_desc
595
+                    '%s', // VNU_modified
596 596
                     '%s',
597
-                    '%d',// VNU_wp_user
598
-                    '%d',// parent
599
-                    '%d',// VNU_order
600
-                    '%s',// post_type
597
+                    '%d', // VNU_wp_user
598
+                    '%d', // parent
599
+                    '%d', // VNU_order
600
+                    '%s', // post_type
601 601
                 );
602 602
         $success = $wpdb->insert(
603 603
             $wpdb->posts,
604 604
             $insertion_array,
605 605
             $datatypes_array
606 606
         );
607
-        if (! $success) {
607
+        if ( ! $success) {
608 608
             $this->add_error(
609 609
                 $this->get_migration_script()->_create_error_message_for_db_insertion(
610 610
                     $this->_old_table,
@@ -632,13 +632,13 @@  discard block
 block discarded – undo
632 632
         // assume the country is the same as the organization's old settings
633 633
         $country_iso = $this->get_migration_script()->get_default_country_iso();
634 634
         // find the state from the venue, or the organization, or just guess california
635
-        if (! $old_event['state']) {
635
+        if ( ! $old_event['state']) {
636 636
             $old_org_options = get_option('events_organization_settings');
637 637
             $state_name = stripslashes($old_org_options['organization_state']);
638 638
         } else {
639 639
             $state_name = $old_event['state'];
640 640
         }
641
-        if (! $state_name) {
641
+        if ( ! $state_name) {
642 642
             $state_name = 'CA';
643 643
         }
644 644
         // get a state ID with the same name, if possible
@@ -651,39 +651,39 @@  discard block
 block discarded – undo
651 651
         }
652 652
         // now insert into meta table
653 653
         $insertion_array = array(
654
-            'VNU_ID'=>$cpt_id,// VNU_ID_fk
655
-            'VNU_address'=>stripslashes($old_event['address']),// VNU_address
656
-            'VNU_address2'=>stripslashes($old_event['address2']),// VNU_address2
657
-            'VNU_city'=>stripslashes($old_event['city']),// VNU_city
658
-            'STA_ID'=>$state_id,// STA_ID
659
-            'CNT_ISO'=>$country_iso,// CNT_ISO
660
-            'VNU_zip'=>$old_event['zip'],// VNU_zip
661
-            'VNU_phone'=>$old_event['venue_phone'],// VNU_phone
662
-            'VNU_capacity'=>-1,// VNU_capacity
663
-            'VNU_url'=>$old_event['venue_url'],// VNU_url
664
-            'VNU_virtual_phone'=>$old_event['virtual_phone'],// VNU_virtual_phone
665
-            'VNU_virtual_url'=>$old_event['virtual_url'],// VNU_virtual_url
666
-            'VNU_google_map_link'=>'',// VNU_google_map_link
654
+            'VNU_ID'=>$cpt_id, // VNU_ID_fk
655
+            'VNU_address'=>stripslashes($old_event['address']), // VNU_address
656
+            'VNU_address2'=>stripslashes($old_event['address2']), // VNU_address2
657
+            'VNU_city'=>stripslashes($old_event['city']), // VNU_city
658
+            'STA_ID'=>$state_id, // STA_ID
659
+            'CNT_ISO'=>$country_iso, // CNT_ISO
660
+            'VNU_zip'=>$old_event['zip'], // VNU_zip
661
+            'VNU_phone'=>$old_event['venue_phone'], // VNU_phone
662
+            'VNU_capacity'=>-1, // VNU_capacity
663
+            'VNU_url'=>$old_event['venue_url'], // VNU_url
664
+            'VNU_virtual_phone'=>$old_event['virtual_phone'], // VNU_virtual_phone
665
+            'VNU_virtual_url'=>$old_event['virtual_url'], // VNU_virtual_url
666
+            'VNU_google_map_link'=>'', // VNU_google_map_link
667 667
             'VNU_enable_for_gmap'=>true // VNU_enable_for_gmap
668 668
         );
669 669
         $datatypes = array(
670
-            '%d',// VNU_ID_fk
671
-            '%s',// VNU_address
672
-            '%s',// VNU_address2
673
-            '%s',// VNU_city
674
-            '%d',// STA_ID
675
-            '%s',// CNT_ISO
676
-            '%s',// VNU_zip
677
-            '%s',// VNU_phone
678
-            '%d',// VNU_capacity
679
-            '%s',// VNU_url
680
-            '%s',// VNU_virtual_phone
681
-            '%s',// VNU_virtual_url
682
-            '%s',// VNU_google_map_link
683
-            '%d',// VNU_enable_for_gmap
670
+            '%d', // VNU_ID_fk
671
+            '%s', // VNU_address
672
+            '%s', // VNU_address2
673
+            '%s', // VNU_city
674
+            '%d', // STA_ID
675
+            '%s', // CNT_ISO
676
+            '%s', // VNU_zip
677
+            '%s', // VNU_phone
678
+            '%d', // VNU_capacity
679
+            '%s', // VNU_url
680
+            '%s', // VNU_virtual_phone
681
+            '%s', // VNU_virtual_url
682
+            '%s', // VNU_google_map_link
683
+            '%d', // VNU_enable_for_gmap
684 684
         );
685 685
         $success = $wpdb->insert($wpdb->prefix."esp_venue_meta", $insertion_array, $datatypes);
686
-        if (! $success) {
686
+        if ( ! $success) {
687 687
             $this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_event, $this->_new_meta_table, $insertion_array, $datatypes));
688 688
             return 0;
689 689
         }
@@ -700,11 +700,11 @@  discard block
 block discarded – undo
700 700
     private function _insert_new_venue_to_event($new_event_id, $new_venue_id)
701 701
     {
702 702
         global $wpdb;
703
-        if (! $new_event_id) {
703
+        if ( ! $new_event_id) {
704 704
             $this->add_error(sprintf(__("Could not find 4.1 event id for 3.1 event #%d.", "event_espresso"), $new_event_id));
705 705
             return 0;
706 706
         }
707
-        if (! $new_venue_id) {
707
+        if ( ! $new_venue_id) {
708 708
             $this->add_error(sprintf(__("Could not find 4.1 venue id for 3.1 venue #%d.", "event_espresso"), $new_venue_id));
709 709
             return 0;
710 710
         }
@@ -714,12 +714,12 @@  discard block
 block discarded – undo
714 714
             'EVV_primary'=>true
715 715
         );
716 716
         $datatypes = array(
717
-            '%d',// EVT_ID
718
-            '%d',// VNU_ID
719
-            '%d',// EVT_primary
717
+            '%d', // EVT_ID
718
+            '%d', // VNU_ID
719
+            '%d', // EVT_primary
720 720
         );
721 721
         $success = $wpdb->insert($wpdb->prefix."esp_event_venue", $cols_n_values, $datatypes);
722
-        if (! $success) {
722
+        if ( ! $success) {
723 723
             $this->add_error(
724 724
                 $this->get_migration_script()->_create_error_message_for_db_insertion(
725 725
                     $this->_old_table,
@@ -779,29 +779,29 @@  discard block
 block discarded – undo
779 779
         $start_datetime_utc = $this->get_migration_script()->convert_date_string_to_utc($this, $start_end_time_row, "$start_date $start_time:00", $old_event_row['timezone_string']);
780 780
         $end_datetime_utc = $this->get_migration_script()->convert_date_string_to_utc($this, $start_end_time_row, "$end_date $end_time:00", $old_event_row['timezone_string']);
781 781
         $cols_n_values = array(
782
-            'EVT_ID'=>$new_cpt_id,// EVT_ID
783
-            'DTT_EVT_start'=>$start_datetime_utc,// DTT_EVT_start
784
-            'DTT_EVT_end'=> $end_datetime_utc,// DTT_EVT_end
785
-            'DTT_reg_limit'=>intval($start_end_time_row['reg_limit']) ? $start_end_time_row['reg_limit'] : $old_event_row['reg_limit'],// DTT_reg_limit
786
-            'DTT_sold'=>0,// note: we will increment this as registrations are added during the migration
782
+            'EVT_ID'=>$new_cpt_id, // EVT_ID
783
+            'DTT_EVT_start'=>$start_datetime_utc, // DTT_EVT_start
784
+            'DTT_EVT_end'=> $end_datetime_utc, // DTT_EVT_end
785
+            'DTT_reg_limit'=>intval($start_end_time_row['reg_limit']) ? $start_end_time_row['reg_limit'] : $old_event_row['reg_limit'], // DTT_reg_limit
786
+            'DTT_sold'=>0, // note: we will increment this as registrations are added during the migration
787 787
 //          'DTT_is_primary'=> 0 == $existing_datetimes ,//DTT_is_primary... if count==0, then we'll call it the 'primary'
788
-            'DTT_order'=> $existing_datetimes,// DTT_order, just give it the same order as the count of how many datetimes already exist
788
+            'DTT_order'=> $existing_datetimes, // DTT_order, just give it the same order as the count of how many datetimes already exist
789 789
             'DTT_parent'=>0,
790 790
             'DTT_deleted'=>false
791 791
         );
792 792
         $datatypes = array(
793
-            '%d',// EVT_Id
794
-            '%s',// DTT_EVT_start
795
-            '%s',// DTT_EVT_end
796
-            '%d',// DTT_reg_limit
797
-            '%d',// DTT_sold
793
+            '%d', // EVT_Id
794
+            '%s', // DTT_EVT_start
795
+            '%s', // DTT_EVT_end
796
+            '%d', // DTT_reg_limit
797
+            '%d', // DTT_sold
798 798
 //          '%d',//DTT_is_primary
799
-            '%d',// DTT_order
800
-            '%d',// DTT_parent
801
-            '%d',// DTT_deleted
799
+            '%d', // DTT_order
800
+            '%d', // DTT_parent
801
+            '%d', // DTT_deleted
802 802
         );
803 803
         $success = $wpdb->insert($this->_new_datetime_table, $cols_n_values, $datatypes);
804
-        if (! $success) {
804
+        if ( ! $success) {
805 805
             $this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_start_end_table, array_merge($old_event_row, $start_end_time_row), $this->_new_datetime_table, $cols_n_values, $datatypes));
806 806
             return 0;
807 807
         }
Please login to merge, or discard this patch.
data_migration_scripts/4_1_0_stages/EE_DMS_4_1_0_org_options.dmsstage.php 3 patches
Doc Comments   -1 removed lines patch added patch discarded remove patch
@@ -273,7 +273,6 @@
 block discarded – undo
273 273
     /**
274 274
      * Creates a 4.1 member price discount
275 275
      * @global type $wpdb
276
-     * @param type $old_price
277 276
      * @return int
278 277
      */
279 278
     private function _insert_new_global_surcharge_price($org_options)
Please login to merge, or discard this patch.
Indentation   +273 added lines, -273 removed lines patch added patch discarded remove patch
@@ -103,289 +103,289 @@
 block discarded – undo
103 103
 class EE_DMS_4_1_0_org_options extends EE_Data_Migration_Script_Stage
104 104
 {
105 105
 
106
-    public function _migration_step($num_items = 50)
107
-    {
106
+	public function _migration_step($num_items = 50)
107
+	{
108 108
 
109
-        $items_actually_migrated = 0;
110
-        $old_org_options = get_option('events_organization_settings');
111
-        foreach ($this->_org_options_we_know_how_to_migrate as $option_name) {
112
-            // only bother migrating if there's a setting to migrate. Otherwise we'll just use the default
113
-            if (isset($old_org_options[ $option_name ])) {
114
-                $this->_handle_org_option($option_name, $old_org_options[ $option_name ]);
115
-            }
116
-            if ($option_name=='surcharge') {
117
-                $this->_insert_new_global_surcharge_price($old_org_options);
118
-            }
119
-            $items_actually_migrated++;
120
-        }
109
+		$items_actually_migrated = 0;
110
+		$old_org_options = get_option('events_organization_settings');
111
+		foreach ($this->_org_options_we_know_how_to_migrate as $option_name) {
112
+			// only bother migrating if there's a setting to migrate. Otherwise we'll just use the default
113
+			if (isset($old_org_options[ $option_name ])) {
114
+				$this->_handle_org_option($option_name, $old_org_options[ $option_name ]);
115
+			}
116
+			if ($option_name=='surcharge') {
117
+				$this->_insert_new_global_surcharge_price($old_org_options);
118
+			}
119
+			$items_actually_migrated++;
120
+		}
121 121
 
122
-        $success = EE_Config::instance()->update_espresso_config(false, true);
123
-        if (! $success) {
124
-            $this->add_error(sprintf(__('Could not save EE Config during org options stage. Reason: %s', 'event_espresso'), EE_Error::get_notices(false)));
125
-            EE_Error::overwrite_errors();
126
-        }
127
-        EE_Network_Config::instance()->update_config(false, false);
128
-        if ($this->count_records_migrated() + $items_actually_migrated >= $this->count_records_to_migrate()) {
129
-            // we may have added new pages and this might be necessary
130
-            flush_rewrite_rules();
131
-            $this->set_completed();
132
-        }
133
-        return $items_actually_migrated;
134
-    }
135
-    public function _count_records_to_migrate()
136
-    {
137
-        $count_of_options_to_migrate = count($this->_org_options_we_know_how_to_migrate);
138
-        return $count_of_options_to_migrate;
139
-    }
140
-    public function __construct()
141
-    {
142
-        $this->_pretty_name = __("Organization Options/Config", "event_espresso");
143
-        $this->_org_options_we_know_how_to_migrate = apply_filters('FHEE__EE_DMS_4_1_0_org_options__org_options_we_know_how_to_migrate', $this->_org_options_we_know_how_to_migrate);
144
-        parent::__construct();
145
-    }
122
+		$success = EE_Config::instance()->update_espresso_config(false, true);
123
+		if (! $success) {
124
+			$this->add_error(sprintf(__('Could not save EE Config during org options stage. Reason: %s', 'event_espresso'), EE_Error::get_notices(false)));
125
+			EE_Error::overwrite_errors();
126
+		}
127
+		EE_Network_Config::instance()->update_config(false, false);
128
+		if ($this->count_records_migrated() + $items_actually_migrated >= $this->count_records_to_migrate()) {
129
+			// we may have added new pages and this might be necessary
130
+			flush_rewrite_rules();
131
+			$this->set_completed();
132
+		}
133
+		return $items_actually_migrated;
134
+	}
135
+	public function _count_records_to_migrate()
136
+	{
137
+		$count_of_options_to_migrate = count($this->_org_options_we_know_how_to_migrate);
138
+		return $count_of_options_to_migrate;
139
+	}
140
+	public function __construct()
141
+	{
142
+		$this->_pretty_name = __("Organization Options/Config", "event_espresso");
143
+		$this->_org_options_we_know_how_to_migrate = apply_filters('FHEE__EE_DMS_4_1_0_org_options__org_options_we_know_how_to_migrate', $this->_org_options_we_know_how_to_migrate);
144
+		parent::__construct();
145
+	}
146 146
 
147
-    private function _handle_org_option($option_name, $value)
148
-    {
149
-        $c = EE_Config::instance();
150
-        $cn = EE_Network_Config::instance();
151
-        switch ($option_name) {
152
-            case 'organization':
153
-                $c->organization->name = $value;
154
-                break;
155
-            case 'organization_street1':
156
-                $c->organization->address_1 = $value;
157
-                break;
158
-            case 'organization_street2':
159
-                $c->organization->address_2 = $value;
160
-                break;
161
-            case 'organization_city':
162
-                $c->organization->city = $value;
163
-                break;
164
-            case 'organization_state':
165
-                try {
166
-                    $state = $this->get_migration_script()->get_or_create_state($value);
167
-                    $state_id = $state['STA_ID'];
168
-                    $c->organization->STA_ID = $state_id;
169
-                } catch (EE_Error $e) {
170
-                }
171
-                break;
172
-            case 'organization_zip':
173
-                $c->organization->zip = $value;
174
-                break;
175
-            case 'contact_email':
176
-                $c->organization->email = $value;
177
-                break;
178
-            case 'default_payment_status':
179
-                $c->registration->default_STS_ID =  $this->get_migration_script()->convert_3_1_payment_status_to_4_1_STS_ID($value);
180
-                break;
181
-            case 'organization_country':
182
-                $iso =$this->get_migration_script()->get_iso_from_3_1_country_id($value);
183
-                $c->organization->CNT_ISO = $iso;
184
-                $country_row = $this->get_migration_script()->get_or_create_country($iso);
185
-                if (! $country_row) {
186
-                    $this->add_error(sprintf(__("Could not set country's currency config because no country exists for ISO %s", "event_espresso"), $iso));
187
-                }
188
-                // can't use EE_Currency_Config's handy constructor because the models are off-limits right now (and it uses them)
189
-                $c->currency->code = $country_row['CNT_cur_code'];          // currency code: USD, CAD, EUR
190
-                $c->currency->name = $country_row['CNT_cur_single'];    // Dollar
191
-                $c->currency->plural = $country_row['CNT_cur_plural'];  // Dollars
192
-                $c->currency->sign =  $country_row['CNT_cur_sign'];             // currency sign: $
193
-                $c->currency->sign_b4 = intval($country_row['CNT_cur_sign_b4']);        // currency sign before or after: $TRUE  or  FALSE$
194
-                $c->currency->dec_plc = intval($country_row['CNT_cur_dec_plc']);    // decimal places: 2 = 0.00  3 = 0.000
195
-                $c->currency->dec_mrk = $country_row['CNT_cur_dec_mrk'];    // decimal mark: (comma) ',' = 0,01   or (decimal) '.' = 0.01
196
-                $c->currency->thsnds = $country_row['CNT_cur_thsnds'];  // thousands separator: (comma) ',' = 1,000   or (decimal) '.' = 1.000
147
+	private function _handle_org_option($option_name, $value)
148
+	{
149
+		$c = EE_Config::instance();
150
+		$cn = EE_Network_Config::instance();
151
+		switch ($option_name) {
152
+			case 'organization':
153
+				$c->organization->name = $value;
154
+				break;
155
+			case 'organization_street1':
156
+				$c->organization->address_1 = $value;
157
+				break;
158
+			case 'organization_street2':
159
+				$c->organization->address_2 = $value;
160
+				break;
161
+			case 'organization_city':
162
+				$c->organization->city = $value;
163
+				break;
164
+			case 'organization_state':
165
+				try {
166
+					$state = $this->get_migration_script()->get_or_create_state($value);
167
+					$state_id = $state['STA_ID'];
168
+					$c->organization->STA_ID = $state_id;
169
+				} catch (EE_Error $e) {
170
+				}
171
+				break;
172
+			case 'organization_zip':
173
+				$c->organization->zip = $value;
174
+				break;
175
+			case 'contact_email':
176
+				$c->organization->email = $value;
177
+				break;
178
+			case 'default_payment_status':
179
+				$c->registration->default_STS_ID =  $this->get_migration_script()->convert_3_1_payment_status_to_4_1_STS_ID($value);
180
+				break;
181
+			case 'organization_country':
182
+				$iso =$this->get_migration_script()->get_iso_from_3_1_country_id($value);
183
+				$c->organization->CNT_ISO = $iso;
184
+				$country_row = $this->get_migration_script()->get_or_create_country($iso);
185
+				if (! $country_row) {
186
+					$this->add_error(sprintf(__("Could not set country's currency config because no country exists for ISO %s", "event_espresso"), $iso));
187
+				}
188
+				// can't use EE_Currency_Config's handy constructor because the models are off-limits right now (and it uses them)
189
+				$c->currency->code = $country_row['CNT_cur_code'];          // currency code: USD, CAD, EUR
190
+				$c->currency->name = $country_row['CNT_cur_single'];    // Dollar
191
+				$c->currency->plural = $country_row['CNT_cur_plural'];  // Dollars
192
+				$c->currency->sign =  $country_row['CNT_cur_sign'];             // currency sign: $
193
+				$c->currency->sign_b4 = intval($country_row['CNT_cur_sign_b4']);        // currency sign before or after: $TRUE  or  FALSE$
194
+				$c->currency->dec_plc = intval($country_row['CNT_cur_dec_plc']);    // decimal places: 2 = 0.00  3 = 0.000
195
+				$c->currency->dec_mrk = $country_row['CNT_cur_dec_mrk'];    // decimal mark: (comma) ',' = 0,01   or (decimal) '.' = 0.01
196
+				$c->currency->thsnds = $country_row['CNT_cur_thsnds'];  // thousands separator: (comma) ',' = 1,000   or (decimal) '.' = 1.000
197 197
   //            $c->currency = new EE_Currency_Config($c->organization->CNT_ISO);break;
198 198
   //        case 'currency_symbol': ignore the currency symbol. we'll just go by their country.
199 199
   //            $c->currency->sign = $value;break;
200
-            case 'show_pending_payment_options':
201
-                $c->registration->show_pending_payment_options = ($value == 'Y');
202
-                break;
203
-            case 'display_address_in_regform':
204
-                $c->template_settings->display_address_in_regform = ($value == 'Y');
205
-                break;
206
-            case 'default_logo_url':
207
-                $c->organization->logo_url = $value;
208
-                break;
209
-            case 'event_page_id':
210
-                // also, find that post, and changes the shortcode in it from ESPRESSO_PAYMENTS
211
-                // to ESPRESSO_THANK_YOU
212
-                $reg_page_post = get_post($value);
213
-                $reg_page_post->post_content = str_replace("[ESPRESSO_EVENTS]", "[ESPRESSO_CHECKOUT]", $reg_page_post->post_content);
214
-                wp_update_post($reg_page_post);
215
-                $c->core->reg_page_id = $value;
216
-                break;
217
-            case 'return_url':
218
-                // also, find that post, and changes the shortcode in it from ESPRESSO_PAYMENTS
219
-                // to ESPRESSO_THANK_YOU
220
-                $thank_you_page_post = get_post($value);
221
-                $thank_you_page_post->post_content = str_replace("[ESPRESSO_PAYMENTS]", "[ESPRESSO_THANK_YOU]", $thank_you_page_post->post_content);
222
-                wp_update_post($thank_you_page_post);
223
-                $c->core->thank_you_page_id = $value;
224
-                break;
225
-            case 'cancel_return':
226
-                $c->core->cancel_page_id = $value;
200
+			case 'show_pending_payment_options':
201
+				$c->registration->show_pending_payment_options = ($value == 'Y');
202
+				break;
203
+			case 'display_address_in_regform':
204
+				$c->template_settings->display_address_in_regform = ($value == 'Y');
205
+				break;
206
+			case 'default_logo_url':
207
+				$c->organization->logo_url = $value;
208
+				break;
209
+			case 'event_page_id':
210
+				// also, find that post, and changes the shortcode in it from ESPRESSO_PAYMENTS
211
+				// to ESPRESSO_THANK_YOU
212
+				$reg_page_post = get_post($value);
213
+				$reg_page_post->post_content = str_replace("[ESPRESSO_EVENTS]", "[ESPRESSO_CHECKOUT]", $reg_page_post->post_content);
214
+				wp_update_post($reg_page_post);
215
+				$c->core->reg_page_id = $value;
216
+				break;
217
+			case 'return_url':
218
+				// also, find that post, and changes the shortcode in it from ESPRESSO_PAYMENTS
219
+				// to ESPRESSO_THANK_YOU
220
+				$thank_you_page_post = get_post($value);
221
+				$thank_you_page_post->post_content = str_replace("[ESPRESSO_PAYMENTS]", "[ESPRESSO_THANK_YOU]", $thank_you_page_post->post_content);
222
+				wp_update_post($thank_you_page_post);
223
+				$c->core->thank_you_page_id = $value;
224
+				break;
225
+			case 'cancel_return':
226
+				$c->core->cancel_page_id = $value;
227 227
 
228
-                break;
229
-            case 'notify_url':
230
-                $c->core->txn_page_id = $value;
231
-                break;
232
-            case 'use_captcha':
233
-                $c->registration->use_captcha = ($value == 'Y');
234
-                break;
235
-            case 'recaptcha_publickey':
236
-                $c->registration->recaptcha_publickey = $value;
237
-                break;
238
-            case 'recaptcha_privatekey':
239
-                $c->registration->recaptcha_privatekey = $value;
240
-                break;
241
-            case 'recaptcha_theme':
242
-                $c->registration->recaptcha_theme = $value;
243
-                break;
244
-            case 'recaptcha_width':
245
-                $c->registration->recaptcha_width = $value;
246
-                break;
247
-            case 'recaptcha_language':
248
-                $c->registration->recaptcha_language = $value;
249
-                break;
250
-            case 'espresso_dashboard_widget':
251
-                $c->admin->use_dashboard_widget = ($value == 'Y');
252
-                break;
253
-            case 'use_personnel_manager':
254
-                $c->admin->use_personnel_manager = ($value == 'Y');
255
-                break;
256
-            case 'use_event_timezones':
257
-                $c->admin->use_event_timezones = ($value == 'Y');
258
-                break;
259
-            case 'full_logging':
260
-                $c->admin->use_full_logging = ($value == 'Y');
261
-                break;
262
-            case 'affiliate_id':
263
-                $c->admin->affiliate_id = $value;
264
-                break;
265
-            case 'site_license_key':
266
-                $cn->core->site_license_key = $value;
267
-                break;
268
-            default:
269
-                do_action('AHEE__EE_DMS_4_1_0__handle_org_option', $option_name, $value);
270
-        }
271
-    }
228
+				break;
229
+			case 'notify_url':
230
+				$c->core->txn_page_id = $value;
231
+				break;
232
+			case 'use_captcha':
233
+				$c->registration->use_captcha = ($value == 'Y');
234
+				break;
235
+			case 'recaptcha_publickey':
236
+				$c->registration->recaptcha_publickey = $value;
237
+				break;
238
+			case 'recaptcha_privatekey':
239
+				$c->registration->recaptcha_privatekey = $value;
240
+				break;
241
+			case 'recaptcha_theme':
242
+				$c->registration->recaptcha_theme = $value;
243
+				break;
244
+			case 'recaptcha_width':
245
+				$c->registration->recaptcha_width = $value;
246
+				break;
247
+			case 'recaptcha_language':
248
+				$c->registration->recaptcha_language = $value;
249
+				break;
250
+			case 'espresso_dashboard_widget':
251
+				$c->admin->use_dashboard_widget = ($value == 'Y');
252
+				break;
253
+			case 'use_personnel_manager':
254
+				$c->admin->use_personnel_manager = ($value == 'Y');
255
+				break;
256
+			case 'use_event_timezones':
257
+				$c->admin->use_event_timezones = ($value == 'Y');
258
+				break;
259
+			case 'full_logging':
260
+				$c->admin->use_full_logging = ($value == 'Y');
261
+				break;
262
+			case 'affiliate_id':
263
+				$c->admin->affiliate_id = $value;
264
+				break;
265
+			case 'site_license_key':
266
+				$cn->core->site_license_key = $value;
267
+				break;
268
+			default:
269
+				do_action('AHEE__EE_DMS_4_1_0__handle_org_option', $option_name, $value);
270
+		}
271
+	}
272 272
 
273
-    /**
274
-     * Creates a 4.1 member price discount
275
-     * @global type $wpdb
276
-     * @param type $old_price
277
-     * @return int
278
-     */
279
-    private function _insert_new_global_surcharge_price($org_options)
280
-    {
281
-        $amount = floatval($org_options['surcharge']);
282
-        // dont createa a price if the surcharge is 0
283
-        if ($amount <=.01) {
284
-            return 0;
285
-        }
286
-        if ($org_options['surcharge_type'] == 'flat_rate') {
287
-            $price_type = EE_DMS_4_1_0_prices::price_type_flat_surcharge;
288
-        } else {
289
-            $price_type = EE_DMS_4_1_0_prices::price_type_percent_surcharge;
290
-        }
291
-        global $wpdb;
292
-        $cols_n_values = array(
293
-            'PRT_ID'=>$price_type,
294
-            'PRC_amount'=>$amount,
295
-            'PRC_name'=>  $org_options['surcharge_text'],
296
-            'PRC_is_default'=>true,
297
-            'PRC_overrides'=>false,
298
-            'PRC_order'=>100,
299
-            'PRC_deleted'=>false,
300
-            'PRC_parent'=>null
273
+	/**
274
+	 * Creates a 4.1 member price discount
275
+	 * @global type $wpdb
276
+	 * @param type $old_price
277
+	 * @return int
278
+	 */
279
+	private function _insert_new_global_surcharge_price($org_options)
280
+	{
281
+		$amount = floatval($org_options['surcharge']);
282
+		// dont createa a price if the surcharge is 0
283
+		if ($amount <=.01) {
284
+			return 0;
285
+		}
286
+		if ($org_options['surcharge_type'] == 'flat_rate') {
287
+			$price_type = EE_DMS_4_1_0_prices::price_type_flat_surcharge;
288
+		} else {
289
+			$price_type = EE_DMS_4_1_0_prices::price_type_percent_surcharge;
290
+		}
291
+		global $wpdb;
292
+		$cols_n_values = array(
293
+			'PRT_ID'=>$price_type,
294
+			'PRC_amount'=>$amount,
295
+			'PRC_name'=>  $org_options['surcharge_text'],
296
+			'PRC_is_default'=>true,
297
+			'PRC_overrides'=>false,
298
+			'PRC_order'=>100,
299
+			'PRC_deleted'=>false,
300
+			'PRC_parent'=>null
301 301
 
302
-        );
303
-        $datatypes = array(
304
-            '%d',// PRT_ID
305
-            '%f',// PRT_amount
306
-            '%s',// PRC_name
307
-            '%d',// PRC_is_default
308
-            '%d',// PRC_overrides
309
-            '%d',// PRC_order
310
-            '%d',// PRC_deleted
311
-            '%d',// PRC_parent
312
-        );
313
-        $price_table = $wpdb->prefix."esp_price";
314
-        $success = $wpdb->insert($price_table, $cols_n_values, $datatypes);
315
-        if (! $success) {
316
-            $this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion(
317
-                'org_options',
318
-                array(
319
-                        'surcharge'=>$org_options['surcharge'],
320
-                        'surcharge_type'=>$org_options['surcharge_type'],
321
-                        'surcharge_text'=>$org_options['surcharge_text']),
322
-                $price_table,
323
-                $cols_n_values,
324
-                $datatypes
325
-            ));
326
-            return 0;
327
-        }
328
-        $new_id = $wpdb->insert_id;
329
-        return $new_id;
330
-    }
302
+		);
303
+		$datatypes = array(
304
+			'%d',// PRT_ID
305
+			'%f',// PRT_amount
306
+			'%s',// PRC_name
307
+			'%d',// PRC_is_default
308
+			'%d',// PRC_overrides
309
+			'%d',// PRC_order
310
+			'%d',// PRC_deleted
311
+			'%d',// PRC_parent
312
+		);
313
+		$price_table = $wpdb->prefix."esp_price";
314
+		$success = $wpdb->insert($price_table, $cols_n_values, $datatypes);
315
+		if (! $success) {
316
+			$this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion(
317
+				'org_options',
318
+				array(
319
+						'surcharge'=>$org_options['surcharge'],
320
+						'surcharge_type'=>$org_options['surcharge_type'],
321
+						'surcharge_text'=>$org_options['surcharge_text']),
322
+				$price_table,
323
+				$cols_n_values,
324
+				$datatypes
325
+			));
326
+			return 0;
327
+		}
328
+		$new_id = $wpdb->insert_id;
329
+		return $new_id;
330
+	}
331 331
 
332
-    protected $_org_options_we_know_how_to_migrate = array(
333
-      'organization',
334
-      'organization_street1',
335
-      'organization_street2',
336
-      'organization_city',
337
-      'organization_state',
338
-      'organization_zip',
339
-      'contact_email',
340
-      'default_mail',
341
-      'payment_subject',
342
-      'payment_message',
343
-      'message',
344
-      'default_payment_status',
345
-      'surcharge',// unused?
346
-      'country_id',// unused?
347
-      'organization_country',
332
+	protected $_org_options_we_know_how_to_migrate = array(
333
+	  'organization',
334
+	  'organization_street1',
335
+	  'organization_street2',
336
+	  'organization_city',
337
+	  'organization_state',
338
+	  'organization_zip',
339
+	  'contact_email',
340
+	  'default_mail',
341
+	  'payment_subject',
342
+	  'payment_message',
343
+	  'message',
344
+	  'default_payment_status',
345
+	  'surcharge',// unused?
346
+	  'country_id',// unused?
347
+	  'organization_country',
348 348
 //    'currency_symbol',
349
-      'expire_on_registration_end',
350
-      'email_before_payment',
351
-      'email_fancy_headers',
352
-      'enable_default_style',
353
-      'event_ssl_active',
354
-      'selected_style',
355
-      'show_pending_payment_options',
356
-      'show_reg_footer',
357
-      'skip_confirmation_page',
358
-      'allow_mer_discounts',// no equiv
359
-      'allow_mer_vouchers',// no equiv
360
-      'display_short_description_in_event_list',
361
-      'display_description_on_multi_reg_page',
362
-      'display_address_in_event_list',
363
-      'display_address_in_regform',
364
-      'use_custom_post_types',// no equiv
365
-      'display_ical_download',
366
-      'display_featured_image',
367
-      'themeroller',
368
-      'default_logo_url',
369
-      'event_page_id',
370
-      'return_url',
371
-      'cancel_return',
372
-      'notify_url',
373
-      'events_in_dashboard',
374
-      'use_captcha',
375
-      'recaptcha_publickey',
376
-      'recaptcha_privatekey',
377
-      'recaptcha_theme',
378
-      'recaptcha_width',
379
-      'recaptcha_language',
380
-      'espresso_dashboard_widget',
381
-      'time_reg_limit',
349
+	  'expire_on_registration_end',
350
+	  'email_before_payment',
351
+	  'email_fancy_headers',
352
+	  'enable_default_style',
353
+	  'event_ssl_active',
354
+	  'selected_style',
355
+	  'show_pending_payment_options',
356
+	  'show_reg_footer',
357
+	  'skip_confirmation_page',
358
+	  'allow_mer_discounts',// no equiv
359
+	  'allow_mer_vouchers',// no equiv
360
+	  'display_short_description_in_event_list',
361
+	  'display_description_on_multi_reg_page',
362
+	  'display_address_in_event_list',
363
+	  'display_address_in_regform',
364
+	  'use_custom_post_types',// no equiv
365
+	  'display_ical_download',
366
+	  'display_featured_image',
367
+	  'themeroller',
368
+	  'default_logo_url',
369
+	  'event_page_id',
370
+	  'return_url',
371
+	  'cancel_return',
372
+	  'notify_url',
373
+	  'events_in_dashboard',
374
+	  'use_captcha',
375
+	  'recaptcha_publickey',
376
+	  'recaptcha_privatekey',
377
+	  'recaptcha_theme',
378
+	  'recaptcha_width',
379
+	  'recaptcha_language',
380
+	  'espresso_dashboard_widget',
381
+	  'time_reg_limit',
382 382
 //    'use_attendee_pre_approval', removed in 4.1- instead this is factored into the default reg status
383
-      'use_personnel_manager',// no equiv
384
-      'use_event_timezones',
385
-      'full_logging',
386
-      'surcharge_type',// unused
387
-      'surcharge_text',// unused
388
-      'affiliate_id',
389
-      'site_license_key',
390
-    );
383
+	  'use_personnel_manager',// no equiv
384
+	  'use_event_timezones',
385
+	  'full_logging',
386
+	  'surcharge_type',// unused
387
+	  'surcharge_text',// unused
388
+	  'affiliate_id',
389
+	  'site_license_key',
390
+	);
391 391
 }
Please login to merge, or discard this patch.
Spacing   +33 added lines, -33 removed lines patch added patch discarded remove patch
@@ -110,17 +110,17 @@  discard block
 block discarded – undo
110 110
         $old_org_options = get_option('events_organization_settings');
111 111
         foreach ($this->_org_options_we_know_how_to_migrate as $option_name) {
112 112
             // only bother migrating if there's a setting to migrate. Otherwise we'll just use the default
113
-            if (isset($old_org_options[ $option_name ])) {
114
-                $this->_handle_org_option($option_name, $old_org_options[ $option_name ]);
113
+            if (isset($old_org_options[$option_name])) {
114
+                $this->_handle_org_option($option_name, $old_org_options[$option_name]);
115 115
             }
116
-            if ($option_name=='surcharge') {
116
+            if ($option_name == 'surcharge') {
117 117
                 $this->_insert_new_global_surcharge_price($old_org_options);
118 118
             }
119 119
             $items_actually_migrated++;
120 120
         }
121 121
 
122 122
         $success = EE_Config::instance()->update_espresso_config(false, true);
123
-        if (! $success) {
123
+        if ( ! $success) {
124 124
             $this->add_error(sprintf(__('Could not save EE Config during org options stage. Reason: %s', 'event_espresso'), EE_Error::get_notices(false)));
125 125
             EE_Error::overwrite_errors();
126 126
         }
@@ -176,24 +176,24 @@  discard block
 block discarded – undo
176 176
                 $c->organization->email = $value;
177 177
                 break;
178 178
             case 'default_payment_status':
179
-                $c->registration->default_STS_ID =  $this->get_migration_script()->convert_3_1_payment_status_to_4_1_STS_ID($value);
179
+                $c->registration->default_STS_ID = $this->get_migration_script()->convert_3_1_payment_status_to_4_1_STS_ID($value);
180 180
                 break;
181 181
             case 'organization_country':
182
-                $iso =$this->get_migration_script()->get_iso_from_3_1_country_id($value);
182
+                $iso = $this->get_migration_script()->get_iso_from_3_1_country_id($value);
183 183
                 $c->organization->CNT_ISO = $iso;
184 184
                 $country_row = $this->get_migration_script()->get_or_create_country($iso);
185
-                if (! $country_row) {
185
+                if ( ! $country_row) {
186 186
                     $this->add_error(sprintf(__("Could not set country's currency config because no country exists for ISO %s", "event_espresso"), $iso));
187 187
                 }
188 188
                 // can't use EE_Currency_Config's handy constructor because the models are off-limits right now (and it uses them)
189
-                $c->currency->code = $country_row['CNT_cur_code'];          // currency code: USD, CAD, EUR
190
-                $c->currency->name = $country_row['CNT_cur_single'];    // Dollar
191
-                $c->currency->plural = $country_row['CNT_cur_plural'];  // Dollars
192
-                $c->currency->sign =  $country_row['CNT_cur_sign'];             // currency sign: $
193
-                $c->currency->sign_b4 = intval($country_row['CNT_cur_sign_b4']);        // currency sign before or after: $TRUE  or  FALSE$
194
-                $c->currency->dec_plc = intval($country_row['CNT_cur_dec_plc']);    // decimal places: 2 = 0.00  3 = 0.000
195
-                $c->currency->dec_mrk = $country_row['CNT_cur_dec_mrk'];    // decimal mark: (comma) ',' = 0,01   or (decimal) '.' = 0.01
196
-                $c->currency->thsnds = $country_row['CNT_cur_thsnds'];  // thousands separator: (comma) ',' = 1,000   or (decimal) '.' = 1.000
189
+                $c->currency->code = $country_row['CNT_cur_code']; // currency code: USD, CAD, EUR
190
+                $c->currency->name = $country_row['CNT_cur_single']; // Dollar
191
+                $c->currency->plural = $country_row['CNT_cur_plural']; // Dollars
192
+                $c->currency->sign = $country_row['CNT_cur_sign']; // currency sign: $
193
+                $c->currency->sign_b4 = intval($country_row['CNT_cur_sign_b4']); // currency sign before or after: $TRUE  or  FALSE$
194
+                $c->currency->dec_plc = intval($country_row['CNT_cur_dec_plc']); // decimal places: 2 = 0.00  3 = 0.000
195
+                $c->currency->dec_mrk = $country_row['CNT_cur_dec_mrk']; // decimal mark: (comma) ',' = 0,01   or (decimal) '.' = 0.01
196
+                $c->currency->thsnds = $country_row['CNT_cur_thsnds']; // thousands separator: (comma) ',' = 1,000   or (decimal) '.' = 1.000
197 197
   //            $c->currency = new EE_Currency_Config($c->organization->CNT_ISO);break;
198 198
   //        case 'currency_symbol': ignore the currency symbol. we'll just go by their country.
199 199
   //            $c->currency->sign = $value;break;
@@ -280,7 +280,7 @@  discard block
 block discarded – undo
280 280
     {
281 281
         $amount = floatval($org_options['surcharge']);
282 282
         // dont createa a price if the surcharge is 0
283
-        if ($amount <=.01) {
283
+        if ($amount <= .01) {
284 284
             return 0;
285 285
         }
286 286
         if ($org_options['surcharge_type'] == 'flat_rate') {
@@ -301,18 +301,18 @@  discard block
 block discarded – undo
301 301
 
302 302
         );
303 303
         $datatypes = array(
304
-            '%d',// PRT_ID
305
-            '%f',// PRT_amount
306
-            '%s',// PRC_name
307
-            '%d',// PRC_is_default
308
-            '%d',// PRC_overrides
309
-            '%d',// PRC_order
310
-            '%d',// PRC_deleted
311
-            '%d',// PRC_parent
304
+            '%d', // PRT_ID
305
+            '%f', // PRT_amount
306
+            '%s', // PRC_name
307
+            '%d', // PRC_is_default
308
+            '%d', // PRC_overrides
309
+            '%d', // PRC_order
310
+            '%d', // PRC_deleted
311
+            '%d', // PRC_parent
312 312
         );
313 313
         $price_table = $wpdb->prefix."esp_price";
314 314
         $success = $wpdb->insert($price_table, $cols_n_values, $datatypes);
315
-        if (! $success) {
315
+        if ( ! $success) {
316 316
             $this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion(
317 317
                 'org_options',
318 318
                 array(
@@ -342,8 +342,8 @@  discard block
 block discarded – undo
342 342
       'payment_message',
343 343
       'message',
344 344
       'default_payment_status',
345
-      'surcharge',// unused?
346
-      'country_id',// unused?
345
+      'surcharge', // unused?
346
+      'country_id', // unused?
347 347
       'organization_country',
348 348
 //    'currency_symbol',
349 349
       'expire_on_registration_end',
@@ -355,13 +355,13 @@  discard block
 block discarded – undo
355 355
       'show_pending_payment_options',
356 356
       'show_reg_footer',
357 357
       'skip_confirmation_page',
358
-      'allow_mer_discounts',// no equiv
359
-      'allow_mer_vouchers',// no equiv
358
+      'allow_mer_discounts', // no equiv
359
+      'allow_mer_vouchers', // no equiv
360 360
       'display_short_description_in_event_list',
361 361
       'display_description_on_multi_reg_page',
362 362
       'display_address_in_event_list',
363 363
       'display_address_in_regform',
364
-      'use_custom_post_types',// no equiv
364
+      'use_custom_post_types', // no equiv
365 365
       'display_ical_download',
366 366
       'display_featured_image',
367 367
       'themeroller',
@@ -380,11 +380,11 @@  discard block
 block discarded – undo
380 380
       'espresso_dashboard_widget',
381 381
       'time_reg_limit',
382 382
 //    'use_attendee_pre_approval', removed in 4.1- instead this is factored into the default reg status
383
-      'use_personnel_manager',// no equiv
383
+      'use_personnel_manager', // no equiv
384 384
       'use_event_timezones',
385 385
       'full_logging',
386
-      'surcharge_type',// unused
387
-      'surcharge_text',// unused
386
+      'surcharge_type', // unused
387
+      'surcharge_text', // unused
388 388
       'affiliate_id',
389 389
       'site_license_key',
390 390
     );
Please login to merge, or discard this patch.
core/data_migration_scripts/4_1_0_stages/EE_DMS_4_1_0_prices.dmsstage.php 3 patches
Doc Comments   +3 added lines, -4 removed lines patch added patch discarded remove patch
@@ -349,8 +349,8 @@  discard block
 block discarded – undo
349 349
     /**
350 350
      * Adds a join between a ticket and a price
351 351
      * @global type $wpdb
352
-     * @param type $new_ticket_id
353
-     * @param type $new_price_id
352
+     * @param integer $new_ticket_id
353
+     * @param integer $new_price_id
354 354
      * @return int
355 355
      */
356 356
     private function _insert_ticket_price_relation($new_ticket_id, $new_price_id)
@@ -376,8 +376,7 @@  discard block
 block discarded – undo
376 376
     /**
377 377
      * Adds a join between a ticket and a datetime
378 378
      * @global type $wpdb
379
-     * @param type $new_ticket_id
380
-     * @param type $new_price_id
379
+     * @param integer $new_ticket_id
381 380
      * @return int
382 381
      */
383 382
     private function _insert_datetime_ticket_relation($new_datetime_id, $new_ticket_id)
Please login to merge, or discard this patch.
Indentation   +290 added lines, -290 removed lines patch added patch discarded remove patch
@@ -87,53 +87,53 @@  discard block
 block discarded – undo
87 87
  */
88 88
 class EE_DMS_4_1_0_prices extends EE_Data_Migration_Script_Stage_Table
89 89
 {
90
-    private $_new_price_table;
91
-    private $_new_ticket_table;
92
-    private $_new_ticket_price_table;
93
-    private $_new_datetime_ticket_table;
94
-    /**
95
-     * A count of all the different tickets created, used for setting the new ones' TKT_Order
96
-     * @var int
97
-     */
98
-    private $_ticket_count = 0;
99
-    const price_type_base = 1;
100
-    const price_type_member_discount = 3;
101
-    const price_type_percent_surcharge = 4;
102
-    const price_type_flat_surcharge = 5;
90
+	private $_new_price_table;
91
+	private $_new_ticket_table;
92
+	private $_new_ticket_price_table;
93
+	private $_new_datetime_ticket_table;
94
+	/**
95
+	 * A count of all the different tickets created, used for setting the new ones' TKT_Order
96
+	 * @var int
97
+	 */
98
+	private $_ticket_count = 0;
99
+	const price_type_base = 1;
100
+	const price_type_member_discount = 3;
101
+	const price_type_percent_surcharge = 4;
102
+	const price_type_flat_surcharge = 5;
103 103
 
104
-    public function __construct()
105
-    {
106
-        global $wpdb;
107
-        $this->_pretty_name = __("Prices", "event_espresso");
108
-        $this->_old_table = $wpdb->prefix."events_prices";
109
-        $this->_new_price_table = $wpdb->prefix."esp_price";
110
-        $this->_new_ticket_table = $wpdb->prefix."esp_ticket";
111
-        $this->_new_ticket_price_table = $wpdb->prefix."esp_ticket_price";
112
-        $this->_new_datetime_ticket_table = $wpdb->prefix."esp_datetime_ticket";
113
-        parent::__construct();
114
-    }
115
-    protected function _migrate_old_row($old_row)
116
-    {
117
-        // create the base price
118
-        $new_price_id = $this->_insert_new_price($old_row);
119
-        // create the member discount if there is any
120
-        // commented-out because we may actually NOT be supporting this in 4.1
104
+	public function __construct()
105
+	{
106
+		global $wpdb;
107
+		$this->_pretty_name = __("Prices", "event_espresso");
108
+		$this->_old_table = $wpdb->prefix."events_prices";
109
+		$this->_new_price_table = $wpdb->prefix."esp_price";
110
+		$this->_new_ticket_table = $wpdb->prefix."esp_ticket";
111
+		$this->_new_ticket_price_table = $wpdb->prefix."esp_ticket_price";
112
+		$this->_new_datetime_ticket_table = $wpdb->prefix."esp_datetime_ticket";
113
+		parent::__construct();
114
+	}
115
+	protected function _migrate_old_row($old_row)
116
+	{
117
+		// create the base price
118
+		$new_price_id = $this->_insert_new_price($old_row);
119
+		// create the member discount if there is any
120
+		// commented-out because we may actually NOT be supporting this in 4.1
121 121
 //      if($old_row['event_cost'] != $old_row['member_price']){
122 122
 //          $member_price_discount_id = $this->_insert_new_member_price($old_row);
123 123
 //      }else{
124 124
 //          $member_price_discount_id = 0;
125 125
 //      }
126
-        // create the surcharge if there is any
127
-        if (floatval($old_row['surcharge']) >= 0.01) {
128
-            $surcharge_price_id = $this->_insert_new_surcharge_price($old_row);
129
-            $this->get_migration_script()->set_mapping($this->_old_table, $old_row['id'], $this->_new_price_table, array($new_price_id,$surcharge_price_id));
130
-        } else {
131
-            $surcharge_price_id = 0;
132
-            $this->get_migration_script()->set_mapping($this->_old_table, $old_row['id'], $this->_new_price_table, array($new_price_id));
133
-        }
134
-        // 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.
135
-        // if the latter were the case, then we'd create a separate ticket for each datetime and ahve their association be one-to-one)
136
-        // create ticket
126
+		// create the surcharge if there is any
127
+		if (floatval($old_row['surcharge']) >= 0.01) {
128
+			$surcharge_price_id = $this->_insert_new_surcharge_price($old_row);
129
+			$this->get_migration_script()->set_mapping($this->_old_table, $old_row['id'], $this->_new_price_table, array($new_price_id,$surcharge_price_id));
130
+		} else {
131
+			$surcharge_price_id = 0;
132
+			$this->get_migration_script()->set_mapping($this->_old_table, $old_row['id'], $this->_new_price_table, array($new_price_id));
133
+		}
134
+		// 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.
135
+		// if the latter were the case, then we'd create a separate ticket for each datetime and ahve their association be one-to-one)
136
+		// create ticket
137 137
 //      $ticket_id = $this->_insert_new_ticket($old_row);
138 138
 //      if($ticket_id){
139 139
 //          $this->get_migration_script()->set_mapping($this->_old_table, $old_row['id'], $this->_new_ticket_table, $ticket_id);
@@ -145,62 +145,62 @@  discard block
 block discarded – undo
145 145
 //              $this->_insert_datetime_ticket_relation($new_datetime_id, $ticket_id);
146 146
 //          }
147 147
 //      }
148
-        // create a ticket for each old price -old datetime combo
149
-        $tickets_for_old_price = array();
150
-        foreach ($this->_get_datetime_ids_for_old_event_id($old_row['event_id']) as $new_datetime_id) {
151
-            $ticket_id = $this->_insert_new_ticket($old_row);
152
-            $tickets_for_old_price[] = $ticket_id;
153
-            // associate to old prices
154
-            $this->_insert_ticket_price_relation($ticket_id, $new_price_id);
155
-            $this->_insert_ticket_price_relation($ticket_id, $surcharge_price_id);
156
-            $this->_insert_datetime_ticket_relation($new_datetime_id, $ticket_id);
157
-        }
158
-        $this->get_migration_script()->set_mapping($this->_old_table, $old_row['id'], $this->_new_ticket_table, $tickets_for_old_price);
159
-    }
160
-    /**
161
-     * Creates a 4.1 price base type
162
-     * @global type $wpdb
163
-     * @param type $old_price
164
-     * @return int
165
-     */
166
-    private function _insert_new_price($old_price)
167
-    {
168
-        global $wpdb;
169
-        $cols_n_values = array(
170
-            'PRT_ID'=>self::price_type_base,
171
-            'PRC_amount'=>floatval($old_price['event_cost']),
172
-            'PRC_name'=>$old_price['price_type'],
173
-            'PRC_is_default'=>false,
174
-            'PRC_overrides'=>false,
175
-            'PRC_order'=>0,
176
-            'PRC_deleted'=>false,
177
-            'PRC_parent'=>null
148
+		// create a ticket for each old price -old datetime combo
149
+		$tickets_for_old_price = array();
150
+		foreach ($this->_get_datetime_ids_for_old_event_id($old_row['event_id']) as $new_datetime_id) {
151
+			$ticket_id = $this->_insert_new_ticket($old_row);
152
+			$tickets_for_old_price[] = $ticket_id;
153
+			// associate to old prices
154
+			$this->_insert_ticket_price_relation($ticket_id, $new_price_id);
155
+			$this->_insert_ticket_price_relation($ticket_id, $surcharge_price_id);
156
+			$this->_insert_datetime_ticket_relation($new_datetime_id, $ticket_id);
157
+		}
158
+		$this->get_migration_script()->set_mapping($this->_old_table, $old_row['id'], $this->_new_ticket_table, $tickets_for_old_price);
159
+	}
160
+	/**
161
+	 * Creates a 4.1 price base type
162
+	 * @global type $wpdb
163
+	 * @param type $old_price
164
+	 * @return int
165
+	 */
166
+	private function _insert_new_price($old_price)
167
+	{
168
+		global $wpdb;
169
+		$cols_n_values = array(
170
+			'PRT_ID'=>self::price_type_base,
171
+			'PRC_amount'=>floatval($old_price['event_cost']),
172
+			'PRC_name'=>$old_price['price_type'],
173
+			'PRC_is_default'=>false,
174
+			'PRC_overrides'=>false,
175
+			'PRC_order'=>0,
176
+			'PRC_deleted'=>false,
177
+			'PRC_parent'=>null
178 178
 
179
-        );
180
-        $datatypes = array(
181
-            '%d',// PRT_ID
182
-            '%f',// PRT_amount
183
-            '%s',// PRC_name
184
-            '%d',// PRC_is_default
185
-            '%d',// PRC_overrides
186
-            '%d',// PRC_order
187
-            '%d',// PRC_deleted
188
-            '%d',// PRC_parent
189
-        );
190
-        $success = $wpdb->insert($this->_new_price_table, $cols_n_values, $datatypes);
191
-        if (! $success) {
192
-            $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, $datatypes));
193
-            return 0;
194
-        }
195
-        $new_id = $wpdb->insert_id;
196
-        return $new_id;
197
-    }
198
-    /**
199
-     * Creates a 4.1 member price discount
200
-     * @global type $wpdb
201
-     * @param type $old_price
202
-     * @return int
203
-     */
179
+		);
180
+		$datatypes = array(
181
+			'%d',// PRT_ID
182
+			'%f',// PRT_amount
183
+			'%s',// PRC_name
184
+			'%d',// PRC_is_default
185
+			'%d',// PRC_overrides
186
+			'%d',// PRC_order
187
+			'%d',// PRC_deleted
188
+			'%d',// PRC_parent
189
+		);
190
+		$success = $wpdb->insert($this->_new_price_table, $cols_n_values, $datatypes);
191
+		if (! $success) {
192
+			$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, $datatypes));
193
+			return 0;
194
+		}
195
+		$new_id = $wpdb->insert_id;
196
+		return $new_id;
197
+	}
198
+	/**
199
+	 * Creates a 4.1 member price discount
200
+	 * @global type $wpdb
201
+	 * @param type $old_price
202
+	 * @return int
203
+	 */
204 204
 //  private function _insert_new_member_price($old_price){
205 205
 //      $discount_amount = floatval($old_price['event_cost']) - floatval($old_price['member_price']);
206 206
 //      global $wpdb;
@@ -233,207 +233,207 @@  discard block
 block discarded – undo
233 233
 //      $new_id = $wpdb->insert_id;
234 234
 //      return $new_id;
235 235
 //  }
236
-    /**
237
-     * Creates a 4.1 member price discount
238
-     * @global type $wpdb
239
-     * @param type $old_price
240
-     * @return int
241
-     */
242
-    private function _insert_new_surcharge_price($old_price)
243
-    {
236
+	/**
237
+	 * Creates a 4.1 member price discount
238
+	 * @global type $wpdb
239
+	 * @param type $old_price
240
+	 * @return int
241
+	 */
242
+	private function _insert_new_surcharge_price($old_price)
243
+	{
244 244
 
245
-        if ($old_price['surcharge_type'] == 'flat_rate') {
246
-            $price_type = self::price_type_flat_surcharge;
247
-        } else {
248
-            $price_type = self::price_type_percent_surcharge;
249
-        }
250
-        global $wpdb;
251
-        $cols_n_values = array(
252
-            'PRT_ID'=>$price_type,
253
-            'PRC_amount'=>floatval($old_price['surcharge']),
254
-            'PRC_name'=>  __("Surcharge", "event_espresso"),
255
-            'PRC_is_default'=>false,
256
-            'PRC_overrides'=>false,
257
-            'PRC_order'=>20,
258
-            'PRC_deleted'=>false,
259
-            'PRC_parent'=>null
245
+		if ($old_price['surcharge_type'] == 'flat_rate') {
246
+			$price_type = self::price_type_flat_surcharge;
247
+		} else {
248
+			$price_type = self::price_type_percent_surcharge;
249
+		}
250
+		global $wpdb;
251
+		$cols_n_values = array(
252
+			'PRT_ID'=>$price_type,
253
+			'PRC_amount'=>floatval($old_price['surcharge']),
254
+			'PRC_name'=>  __("Surcharge", "event_espresso"),
255
+			'PRC_is_default'=>false,
256
+			'PRC_overrides'=>false,
257
+			'PRC_order'=>20,
258
+			'PRC_deleted'=>false,
259
+			'PRC_parent'=>null
260 260
 
261
-        );
262
-        $datatypes = array(
263
-            '%d',// PRT_ID
264
-            '%f',// PRT_amount
265
-            '%s',// PRC_name
266
-            '%d',// PRC_is_default
267
-            '%d',// PRC_overrides
268
-            '%d',// PRC_order
269
-            '%d',// PRC_deleted
270
-            '%d',// PRC_parent
271
-        );
272
-        $success = $wpdb->insert($this->_new_price_table, $cols_n_values, $datatypes);
273
-        if (! $success) {
274
-            $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, $datatypes));
275
-            return 0;
276
-        }
277
-        $new_id = $wpdb->insert_id;
278
-        return $new_id;
279
-    }
280
-    /**
281
-     * Inserts a 4.1 ticket based off the 3.1 price, and the price IDs we've already made from the 3.1 price
282
-     * @param $old_price_row array where keys are columns
283
-     * @param $new_base_price_id int
284
-     * @param $new_member_discount_id int
285
-     * @param $new_surcharge_id int
286
-     * @return int new ticket id
287
-     */
288
-    private function _insert_new_ticket($old_price_row)
289
-    {
290
-        global $wpdb;
291
-        $event_row = $this->_get_event_row($old_price_row['event_id']);
292
-        if ($old_price_row['surcharge_type'] == 'flat_rate') {
293
-            $final_ticket_price = floatval($old_price_row['event_cost']) + floatval($old_price_row['surcharge']);
294
-        } else {// percent surcharge
295
-            $final_ticket_price = floatval($old_price_row['event_cost']) * (1 + floatval($old_price_row['surcharge'])/100);
296
-        }
297
-        $start_date = $event_row['registration_start']." ".$this->get_migration_script()->convertTimeFromAMPM($event_row['registration_startT']);
298
-        $start_date_utc = $this->get_migration_script()->convert_date_string_to_utc($this, $old_price_row, $start_date, $event_row['timezone_string']);
299
-        $end_date = $event_row['registration_end']." ".$this->get_migration_script()->convertTimeFromAMPM($event_row['registration_endT']);
300
-        $end_date_utc = $this->get_migration_script()->convert_date_string_to_utc($this, $old_price_row, $end_date, $event_row['timezone_string']);
301
-        $cols_n_values = array(
302
-            'TTM_ID'=>0,
303
-            'TKT_name'=>$old_price_row['price_type'],
304
-            'TKT_description'=>'',
305
-            'TKT_start_date'=>$start_date_utc,
306
-            'TKT_end_date'=>$end_date_utc,
307
-            'TKT_min'=>0,
308
-            'TKT_max'=>-1,
309
-            'TKT_price'=>$final_ticket_price,
310
-            'TKT_sold'=> 0,// note: this will get calculated as we actually add registrations during the migration
311
-            'TKT_qty'=> -1,
312
-            'TKT_uses'=> 1,
313
-            'TKT_taxable'=>false,// so by default, old prices are NOT taxable. This way they don't suddenly have a sudden spike in prices
314
-            'TKT_is_default'=>false,
315
-            'TKT_order'=>$this->_get_ticket_count(),
316
-            'TKT_row'=>0,// doesn't matter because UI reset this on first save anyways
317
-            'TKT_deleted'=>false,
318
-            'TKT_parent'=>0
261
+		);
262
+		$datatypes = array(
263
+			'%d',// PRT_ID
264
+			'%f',// PRT_amount
265
+			'%s',// PRC_name
266
+			'%d',// PRC_is_default
267
+			'%d',// PRC_overrides
268
+			'%d',// PRC_order
269
+			'%d',// PRC_deleted
270
+			'%d',// PRC_parent
271
+		);
272
+		$success = $wpdb->insert($this->_new_price_table, $cols_n_values, $datatypes);
273
+		if (! $success) {
274
+			$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, $datatypes));
275
+			return 0;
276
+		}
277
+		$new_id = $wpdb->insert_id;
278
+		return $new_id;
279
+	}
280
+	/**
281
+	 * Inserts a 4.1 ticket based off the 3.1 price, and the price IDs we've already made from the 3.1 price
282
+	 * @param $old_price_row array where keys are columns
283
+	 * @param $new_base_price_id int
284
+	 * @param $new_member_discount_id int
285
+	 * @param $new_surcharge_id int
286
+	 * @return int new ticket id
287
+	 */
288
+	private function _insert_new_ticket($old_price_row)
289
+	{
290
+		global $wpdb;
291
+		$event_row = $this->_get_event_row($old_price_row['event_id']);
292
+		if ($old_price_row['surcharge_type'] == 'flat_rate') {
293
+			$final_ticket_price = floatval($old_price_row['event_cost']) + floatval($old_price_row['surcharge']);
294
+		} else {// percent surcharge
295
+			$final_ticket_price = floatval($old_price_row['event_cost']) * (1 + floatval($old_price_row['surcharge'])/100);
296
+		}
297
+		$start_date = $event_row['registration_start']." ".$this->get_migration_script()->convertTimeFromAMPM($event_row['registration_startT']);
298
+		$start_date_utc = $this->get_migration_script()->convert_date_string_to_utc($this, $old_price_row, $start_date, $event_row['timezone_string']);
299
+		$end_date = $event_row['registration_end']." ".$this->get_migration_script()->convertTimeFromAMPM($event_row['registration_endT']);
300
+		$end_date_utc = $this->get_migration_script()->convert_date_string_to_utc($this, $old_price_row, $end_date, $event_row['timezone_string']);
301
+		$cols_n_values = array(
302
+			'TTM_ID'=>0,
303
+			'TKT_name'=>$old_price_row['price_type'],
304
+			'TKT_description'=>'',
305
+			'TKT_start_date'=>$start_date_utc,
306
+			'TKT_end_date'=>$end_date_utc,
307
+			'TKT_min'=>0,
308
+			'TKT_max'=>-1,
309
+			'TKT_price'=>$final_ticket_price,
310
+			'TKT_sold'=> 0,// note: this will get calculated as we actually add registrations during the migration
311
+			'TKT_qty'=> -1,
312
+			'TKT_uses'=> 1,
313
+			'TKT_taxable'=>false,// so by default, old prices are NOT taxable. This way they don't suddenly have a sudden spike in prices
314
+			'TKT_is_default'=>false,
315
+			'TKT_order'=>$this->_get_ticket_count(),
316
+			'TKT_row'=>0,// doesn't matter because UI reset this on first save anyways
317
+			'TKT_deleted'=>false,
318
+			'TKT_parent'=>0
319 319
 
320
-        );
321
-        $datatypes = array(
322
-            '%d',// TTM_ID
323
-            '%s',// TKT_name
324
-            '%s',// TKT_description
325
-            '%s',// TKT_start_date
326
-            '%s',// TKT_end_date
327
-            '%d',// TKT_min
328
-            '%d',// TKT_max
329
-            '%f',// TKT_price
330
-            '%d',// TKT_sold
331
-            '%d',// TKT_qty
332
-            '%d',// TKT_uses
333
-            '%d',// TKT_taxable
334
-            '%d',// TKT_is_default
335
-            '%d',// TKT_order
336
-            '%d',// TKT_row
337
-            '%d',// TKT_deleted
338
-            '%d',// TKT_parent
339
-        );
340
-        $success = $wpdb->insert($this->_new_ticket_table, $cols_n_values, $datatypes);
341
-        if (! $success) {
342
-            $this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_price_row, $this->_new_ticket_table, $cols_n_values, $datatypes));
343
-            return 0;
344
-        }
345
-        $new_id = $wpdb->insert_id;
346
-        return $new_id;
347
-    }
320
+		);
321
+		$datatypes = array(
322
+			'%d',// TTM_ID
323
+			'%s',// TKT_name
324
+			'%s',// TKT_description
325
+			'%s',// TKT_start_date
326
+			'%s',// TKT_end_date
327
+			'%d',// TKT_min
328
+			'%d',// TKT_max
329
+			'%f',// TKT_price
330
+			'%d',// TKT_sold
331
+			'%d',// TKT_qty
332
+			'%d',// TKT_uses
333
+			'%d',// TKT_taxable
334
+			'%d',// TKT_is_default
335
+			'%d',// TKT_order
336
+			'%d',// TKT_row
337
+			'%d',// TKT_deleted
338
+			'%d',// TKT_parent
339
+		);
340
+		$success = $wpdb->insert($this->_new_ticket_table, $cols_n_values, $datatypes);
341
+		if (! $success) {
342
+			$this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_price_row, $this->_new_ticket_table, $cols_n_values, $datatypes));
343
+			return 0;
344
+		}
345
+		$new_id = $wpdb->insert_id;
346
+		return $new_id;
347
+	}
348 348
 
349
-    /**
350
-     * Adds a join between a ticket and a price
351
-     * @global type $wpdb
352
-     * @param type $new_ticket_id
353
-     * @param type $new_price_id
354
-     * @return int
355
-     */
356
-    private function _insert_ticket_price_relation($new_ticket_id, $new_price_id)
357
-    {
358
-        global $wpdb;
359
-        $cols_n_values = array(
360
-            'TKT_ID'=>$new_ticket_id,
361
-            'PRC_ID'=>$new_price_id,
362
-        );
363
-        $datatypes = array(
364
-            '%d',// TKT_ID
365
-            '%d',// PRC_ID
366
-        );
367
-        $success = $wpdb->insert($this->_new_ticket_price_table, $cols_n_values, $datatypes);
368
-        if (! $success) {
369
-            $this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, array('ticket id'=>$new_ticket_id,'price id'=>$new_price_id), $this->_new_ticket_price_table, $cols_n_values, $datatypes));
370
-            return 0;
371
-        }
372
-        $new_id = $wpdb->insert_id;
373
-        return $new_id;
374
-    }
349
+	/**
350
+	 * Adds a join between a ticket and a price
351
+	 * @global type $wpdb
352
+	 * @param type $new_ticket_id
353
+	 * @param type $new_price_id
354
+	 * @return int
355
+	 */
356
+	private function _insert_ticket_price_relation($new_ticket_id, $new_price_id)
357
+	{
358
+		global $wpdb;
359
+		$cols_n_values = array(
360
+			'TKT_ID'=>$new_ticket_id,
361
+			'PRC_ID'=>$new_price_id,
362
+		);
363
+		$datatypes = array(
364
+			'%d',// TKT_ID
365
+			'%d',// PRC_ID
366
+		);
367
+		$success = $wpdb->insert($this->_new_ticket_price_table, $cols_n_values, $datatypes);
368
+		if (! $success) {
369
+			$this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, array('ticket id'=>$new_ticket_id,'price id'=>$new_price_id), $this->_new_ticket_price_table, $cols_n_values, $datatypes));
370
+			return 0;
371
+		}
372
+		$new_id = $wpdb->insert_id;
373
+		return $new_id;
374
+	}
375 375
 
376
-    /**
377
-     * Adds a join between a ticket and a datetime
378
-     * @global type $wpdb
379
-     * @param type $new_ticket_id
380
-     * @param type $new_price_id
381
-     * @return int
382
-     */
383
-    private function _insert_datetime_ticket_relation($new_datetime_id, $new_ticket_id)
384
-    {
385
-        global $wpdb;
386
-        $cols_n_values = array(
387
-            'TKT_ID'=>$new_ticket_id,
388
-            'DTT_ID'=>$new_datetime_id,
389
-        );
390
-        $datatypes = array(
391
-            '%d',// TKT_ID
392
-            '%d',// DTT_ID
393
-        );
394
-        $success = $wpdb->insert($this->_new_datetime_ticket_table, $cols_n_values, $datatypes);
395
-        if (! $success) {
396
-            $this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, array('ticket id'=>$new_ticket_id,'datetime id'=>$new_datetime_id), $this->_new_datetime_ticket_table, $cols_n_values, $datatypes));
397
-            return 0;
398
-        }
399
-        $new_id = $wpdb->insert_id;
400
-        return $new_id;
401
-    }
376
+	/**
377
+	 * Adds a join between a ticket and a datetime
378
+	 * @global type $wpdb
379
+	 * @param type $new_ticket_id
380
+	 * @param type $new_price_id
381
+	 * @return int
382
+	 */
383
+	private function _insert_datetime_ticket_relation($new_datetime_id, $new_ticket_id)
384
+	{
385
+		global $wpdb;
386
+		$cols_n_values = array(
387
+			'TKT_ID'=>$new_ticket_id,
388
+			'DTT_ID'=>$new_datetime_id,
389
+		);
390
+		$datatypes = array(
391
+			'%d',// TKT_ID
392
+			'%d',// DTT_ID
393
+		);
394
+		$success = $wpdb->insert($this->_new_datetime_ticket_table, $cols_n_values, $datatypes);
395
+		if (! $success) {
396
+			$this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, array('ticket id'=>$new_ticket_id,'datetime id'=>$new_datetime_id), $this->_new_datetime_ticket_table, $cols_n_values, $datatypes));
397
+			return 0;
398
+		}
399
+		$new_id = $wpdb->insert_id;
400
+		return $new_id;
401
+	}
402 402
 
403
-    /**
404
-     * Simply gets the 3.1 event row data
405
-     * @global type $wpdb
406
-     * @param type $event_id
407
-     * @return array
408
-     */
409
-    private function _get_event_row($event_id)
410
-    {
411
-        global $wpdb;
412
-        $old_event_table = $wpdb->prefix."events_detail";
413
-        return $wpdb->get_row($wpdb->prepare("SELECT * FROM $old_event_table WHERE id=%d", $event_id), ARRAY_A);
414
-    }
415
-    /**
416
-     * Gets a higher ticket count than last time it was called (and is persisted between HTTP requests).
417
-     * Yes we COULD run a query joining events->datetimes->ticket_datetimes->tickets, but this should work fine too
418
-     * @return int
419
-     */
420
-    private function _get_ticket_count()
421
-    {
422
-        return $this->_ticket_count++;
423
-    }
403
+	/**
404
+	 * Simply gets the 3.1 event row data
405
+	 * @global type $wpdb
406
+	 * @param type $event_id
407
+	 * @return array
408
+	 */
409
+	private function _get_event_row($event_id)
410
+	{
411
+		global $wpdb;
412
+		$old_event_table = $wpdb->prefix."events_detail";
413
+		return $wpdb->get_row($wpdb->prepare("SELECT * FROM $old_event_table WHERE id=%d", $event_id), ARRAY_A);
414
+	}
415
+	/**
416
+	 * Gets a higher ticket count than last time it was called (and is persisted between HTTP requests).
417
+	 * Yes we COULD run a query joining events->datetimes->ticket_datetimes->tickets, but this should work fine too
418
+	 * @return int
419
+	 */
420
+	private function _get_ticket_count()
421
+	{
422
+		return $this->_ticket_count++;
423
+	}
424 424
 
425
-    /**
426
-     * Using the 3.1 event id, gets the 4.1 datetimes for it
427
-     * @param int $old_event_id
428
-     * @return array where values are datetime ids
429
-     */
430
-    private function _get_datetime_ids_for_old_event_id($old_event_id)
431
-    {
432
-        global $wpdb;
433
-        $new_cpt_id = $this->get_migration_script()->get_mapping_new_pk($wpdb->prefix."events_detail", $old_event_id, $wpdb->posts);
434
-        $datetime_ids = $wpdb->get_col($wpdb->prepare("SELECT DTT_ID FROM {$wpdb->prefix}esp_datetime WHERE EVT_ID=%d", $new_cpt_id));
435
-        return $datetime_ids;
436
-    }
425
+	/**
426
+	 * Using the 3.1 event id, gets the 4.1 datetimes for it
427
+	 * @param int $old_event_id
428
+	 * @return array where values are datetime ids
429
+	 */
430
+	private function _get_datetime_ids_for_old_event_id($old_event_id)
431
+	{
432
+		global $wpdb;
433
+		$new_cpt_id = $this->get_migration_script()->get_mapping_new_pk($wpdb->prefix."events_detail", $old_event_id, $wpdb->posts);
434
+		$datetime_ids = $wpdb->get_col($wpdb->prepare("SELECT DTT_ID FROM {$wpdb->prefix}esp_datetime WHERE EVT_ID=%d", $new_cpt_id));
435
+		return $datetime_ids;
436
+	}
437 437
 }
438 438
 // @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
439 439
 //
Please login to merge, or discard this patch.
Spacing   +49 added lines, -49 removed lines patch added patch discarded remove patch
@@ -126,7 +126,7 @@  discard block
 block discarded – undo
126 126
         // create the surcharge if there is any
127 127
         if (floatval($old_row['surcharge']) >= 0.01) {
128 128
             $surcharge_price_id = $this->_insert_new_surcharge_price($old_row);
129
-            $this->get_migration_script()->set_mapping($this->_old_table, $old_row['id'], $this->_new_price_table, array($new_price_id,$surcharge_price_id));
129
+            $this->get_migration_script()->set_mapping($this->_old_table, $old_row['id'], $this->_new_price_table, array($new_price_id, $surcharge_price_id));
130 130
         } else {
131 131
             $surcharge_price_id = 0;
132 132
             $this->get_migration_script()->set_mapping($this->_old_table, $old_row['id'], $this->_new_price_table, array($new_price_id));
@@ -178,17 +178,17 @@  discard block
 block discarded – undo
178 178
 
179 179
         );
180 180
         $datatypes = array(
181
-            '%d',// PRT_ID
182
-            '%f',// PRT_amount
183
-            '%s',// PRC_name
184
-            '%d',// PRC_is_default
185
-            '%d',// PRC_overrides
186
-            '%d',// PRC_order
187
-            '%d',// PRC_deleted
188
-            '%d',// PRC_parent
181
+            '%d', // PRT_ID
182
+            '%f', // PRT_amount
183
+            '%s', // PRC_name
184
+            '%d', // PRC_is_default
185
+            '%d', // PRC_overrides
186
+            '%d', // PRC_order
187
+            '%d', // PRC_deleted
188
+            '%d', // PRC_parent
189 189
         );
190 190
         $success = $wpdb->insert($this->_new_price_table, $cols_n_values, $datatypes);
191
-        if (! $success) {
191
+        if ( ! $success) {
192 192
             $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, $datatypes));
193 193
             return 0;
194 194
         }
@@ -260,17 +260,17 @@  discard block
 block discarded – undo
260 260
 
261 261
         );
262 262
         $datatypes = array(
263
-            '%d',// PRT_ID
264
-            '%f',// PRT_amount
265
-            '%s',// PRC_name
266
-            '%d',// PRC_is_default
267
-            '%d',// PRC_overrides
268
-            '%d',// PRC_order
269
-            '%d',// PRC_deleted
270
-            '%d',// PRC_parent
263
+            '%d', // PRT_ID
264
+            '%f', // PRT_amount
265
+            '%s', // PRC_name
266
+            '%d', // PRC_is_default
267
+            '%d', // PRC_overrides
268
+            '%d', // PRC_order
269
+            '%d', // PRC_deleted
270
+            '%d', // PRC_parent
271 271
         );
272 272
         $success = $wpdb->insert($this->_new_price_table, $cols_n_values, $datatypes);
273
-        if (! $success) {
273
+        if ( ! $success) {
274 274
             $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, $datatypes));
275 275
             return 0;
276 276
         }
@@ -292,7 +292,7 @@  discard block
 block discarded – undo
292 292
         if ($old_price_row['surcharge_type'] == 'flat_rate') {
293 293
             $final_ticket_price = floatval($old_price_row['event_cost']) + floatval($old_price_row['surcharge']);
294 294
         } else {// percent surcharge
295
-            $final_ticket_price = floatval($old_price_row['event_cost']) * (1 + floatval($old_price_row['surcharge'])/100);
295
+            $final_ticket_price = floatval($old_price_row['event_cost']) * (1 + floatval($old_price_row['surcharge']) / 100);
296 296
         }
297 297
         $start_date = $event_row['registration_start']." ".$this->get_migration_script()->convertTimeFromAMPM($event_row['registration_startT']);
298 298
         $start_date_utc = $this->get_migration_script()->convert_date_string_to_utc($this, $old_price_row, $start_date, $event_row['timezone_string']);
@@ -307,38 +307,38 @@  discard block
 block discarded – undo
307 307
             'TKT_min'=>0,
308 308
             'TKT_max'=>-1,
309 309
             'TKT_price'=>$final_ticket_price,
310
-            'TKT_sold'=> 0,// note: this will get calculated as we actually add registrations during the migration
310
+            'TKT_sold'=> 0, // note: this will get calculated as we actually add registrations during the migration
311 311
             'TKT_qty'=> -1,
312 312
             'TKT_uses'=> 1,
313
-            'TKT_taxable'=>false,// so by default, old prices are NOT taxable. This way they don't suddenly have a sudden spike in prices
313
+            'TKT_taxable'=>false, // so by default, old prices are NOT taxable. This way they don't suddenly have a sudden spike in prices
314 314
             'TKT_is_default'=>false,
315 315
             'TKT_order'=>$this->_get_ticket_count(),
316
-            'TKT_row'=>0,// doesn't matter because UI reset this on first save anyways
316
+            'TKT_row'=>0, // doesn't matter because UI reset this on first save anyways
317 317
             'TKT_deleted'=>false,
318 318
             'TKT_parent'=>0
319 319
 
320 320
         );
321 321
         $datatypes = array(
322
-            '%d',// TTM_ID
323
-            '%s',// TKT_name
324
-            '%s',// TKT_description
325
-            '%s',// TKT_start_date
326
-            '%s',// TKT_end_date
327
-            '%d',// TKT_min
328
-            '%d',// TKT_max
329
-            '%f',// TKT_price
330
-            '%d',// TKT_sold
331
-            '%d',// TKT_qty
332
-            '%d',// TKT_uses
333
-            '%d',// TKT_taxable
334
-            '%d',// TKT_is_default
335
-            '%d',// TKT_order
336
-            '%d',// TKT_row
337
-            '%d',// TKT_deleted
338
-            '%d',// TKT_parent
322
+            '%d', // TTM_ID
323
+            '%s', // TKT_name
324
+            '%s', // TKT_description
325
+            '%s', // TKT_start_date
326
+            '%s', // TKT_end_date
327
+            '%d', // TKT_min
328
+            '%d', // TKT_max
329
+            '%f', // TKT_price
330
+            '%d', // TKT_sold
331
+            '%d', // TKT_qty
332
+            '%d', // TKT_uses
333
+            '%d', // TKT_taxable
334
+            '%d', // TKT_is_default
335
+            '%d', // TKT_order
336
+            '%d', // TKT_row
337
+            '%d', // TKT_deleted
338
+            '%d', // TKT_parent
339 339
         );
340 340
         $success = $wpdb->insert($this->_new_ticket_table, $cols_n_values, $datatypes);
341
-        if (! $success) {
341
+        if ( ! $success) {
342 342
             $this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_price_row, $this->_new_ticket_table, $cols_n_values, $datatypes));
343 343
             return 0;
344 344
         }
@@ -361,12 +361,12 @@  discard block
 block discarded – undo
361 361
             'PRC_ID'=>$new_price_id,
362 362
         );
363 363
         $datatypes = array(
364
-            '%d',// TKT_ID
365
-            '%d',// PRC_ID
364
+            '%d', // TKT_ID
365
+            '%d', // PRC_ID
366 366
         );
367 367
         $success = $wpdb->insert($this->_new_ticket_price_table, $cols_n_values, $datatypes);
368
-        if (! $success) {
369
-            $this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, array('ticket id'=>$new_ticket_id,'price id'=>$new_price_id), $this->_new_ticket_price_table, $cols_n_values, $datatypes));
368
+        if ( ! $success) {
369
+            $this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, array('ticket id'=>$new_ticket_id, 'price id'=>$new_price_id), $this->_new_ticket_price_table, $cols_n_values, $datatypes));
370 370
             return 0;
371 371
         }
372 372
         $new_id = $wpdb->insert_id;
@@ -388,12 +388,12 @@  discard block
 block discarded – undo
388 388
             'DTT_ID'=>$new_datetime_id,
389 389
         );
390 390
         $datatypes = array(
391
-            '%d',// TKT_ID
392
-            '%d',// DTT_ID
391
+            '%d', // TKT_ID
392
+            '%d', // DTT_ID
393 393
         );
394 394
         $success = $wpdb->insert($this->_new_datetime_ticket_table, $cols_n_values, $datatypes);
395
-        if (! $success) {
396
-            $this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, array('ticket id'=>$new_ticket_id,'datetime id'=>$new_datetime_id), $this->_new_datetime_ticket_table, $cols_n_values, $datatypes));
395
+        if ( ! $success) {
396
+            $this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, array('ticket id'=>$new_ticket_id, 'datetime id'=>$new_datetime_id), $this->_new_datetime_ticket_table, $cols_n_values, $datatypes));
397 397
             return 0;
398 398
         }
399 399
         $new_id = $wpdb->insert_id;
Please login to merge, or discard this patch.
4_1_0_stages/EE_DMS_4_1_0_question_group_question.dmsstage.php 3 patches
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -130,7 +130,7 @@
 block discarded – undo
130 130
      * being address info, and 0 being neither)
131 131
      * @global type $wpdb
132 132
      * @param type $new_question_group_id
133
-     * @return boolean
133
+     * @return integer
134 134
      */
135 135
     private function _is_system_question_group($new_question_group_id)
136 136
     {
Please login to merge, or discard this patch.
Indentation   +105 added lines, -107 removed lines patch added patch discarded remove patch
@@ -12,8 +12,6 @@  discard block
 block discarded – undo
12 12
   KEY `group_id` (`group_id`),
13 13
   KEY `question_id` (`question_id`)
14 14
 ) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8$$
15
-
16
-
17 15
  * 4.1 question group question model's tables and fields:
18 16
  $this->_tables = array(
19 17
             'Question_Group_Question'=>new EE_Primary_Table('esp_question_group_question','QGQ_ID')
@@ -29,113 +27,113 @@  discard block
 block discarded – undo
29 27
  */
30 28
 class EE_DMS_4_1_0_question_group_question extends EE_Data_Migration_Script_Stage
31 29
 {
32
-    private $_old_table;
33
-    private $_new_table;
34
-    public function _migration_step($num_items = 50)
35
-    {
30
+	private $_old_table;
31
+	private $_new_table;
32
+	public function _migration_step($num_items = 50)
33
+	{
36 34
         
37
-        global $wpdb;
38
-        $start_at_record = $this->count_records_migrated();
39
-        $rows = $wpdb->get_results($wpdb->prepare("SELECT * FROM $this->_old_table LIMIT %d,%d", $start_at_record, $num_items), ARRAY_A);
40
-        $items_actually_migrated = 0;
41
-        foreach ($rows as $question_group_question) {
42
-            $this->_insert_new_question_group_question($question_group_question);
43
-            $items_actually_migrated++;
44
-        }
45
-        if ($this->count_records_migrated() + $items_actually_migrated >= $this->count_records_to_migrate()) {
46
-            $this->set_completed();
47
-        }
48
-        return $items_actually_migrated;
49
-    }
50
-    public function _count_records_to_migrate()
51
-    {
52
-        global $wpdb;
53
-        $count = $wpdb->get_var("SELECT COUNT(id) FROM ".$this->_old_table);
54
-        return $count;
55
-    }
56
-    public function __construct()
57
-    {
58
-        global $wpdb;
59
-        $this->_old_table = $wpdb->prefix."events_qst_group_rel";
60
-        $this->_new_table = $wpdb->prefix."esp_question_group_question";
61
-        $this->_pretty_name = __("Question Group to Question Relations", "event_espresso");
62
-        parent::__construct();
63
-    }
35
+		global $wpdb;
36
+		$start_at_record = $this->count_records_migrated();
37
+		$rows = $wpdb->get_results($wpdb->prepare("SELECT * FROM $this->_old_table LIMIT %d,%d", $start_at_record, $num_items), ARRAY_A);
38
+		$items_actually_migrated = 0;
39
+		foreach ($rows as $question_group_question) {
40
+			$this->_insert_new_question_group_question($question_group_question);
41
+			$items_actually_migrated++;
42
+		}
43
+		if ($this->count_records_migrated() + $items_actually_migrated >= $this->count_records_to_migrate()) {
44
+			$this->set_completed();
45
+		}
46
+		return $items_actually_migrated;
47
+	}
48
+	public function _count_records_to_migrate()
49
+	{
50
+		global $wpdb;
51
+		$count = $wpdb->get_var("SELECT COUNT(id) FROM ".$this->_old_table);
52
+		return $count;
53
+	}
54
+	public function __construct()
55
+	{
56
+		global $wpdb;
57
+		$this->_old_table = $wpdb->prefix."events_qst_group_rel";
58
+		$this->_new_table = $wpdb->prefix."esp_question_group_question";
59
+		$this->_pretty_name = __("Question Group to Question Relations", "event_espresso");
60
+		parent::__construct();
61
+	}
64 62
     
65
-    /**
66
-     * Attempts to insert a new question group inthe new format given an old one
67
-     * @global type $wpdb
68
-     * @param array $old_question_group_question
69
-     * @return int
70
-     */
71
-    private function _insert_new_question_group_question($old_question_group_question)
72
-    {
73
-        global $wpdb;
74
-        $new_question_id = $this->get_migration_script()->get_mapping_new_pk($wpdb->prefix."events_question", $old_question_group_question['question_id'], $wpdb->prefix."esp_question");
75
-        $new_question_group_id = $this->get_migration_script()->get_mapping_new_pk($wpdb->prefix."events_qst_group", $old_question_group_question['group_id'], $wpdb->prefix."esp_question_group");
76
-        if (! $new_question_id) {
77
-            $this->add_error(sprintf(__("Could not find 4.1 question id for 3.1 question #%d.", "event_espresso"), $old_question_group_question['question_id']));
78
-            return 0;
79
-        }
80
-        if (! $new_question_group_id) {
81
-            $this->add_error(sprintf(__("Could not find 4.1 question group id for 3.1 question group #%d.", "event_espresso"), $old_question_group_question['group_id']));
82
-            return 0;
83
-        }
84
-        // if it's a system question, it needs to be in the right system group. otherwise no dice!
85
-        if (($this->_is_system_question_group($new_question_group_id) == $this->_is_system_question_for_question_group($new_question_id) )
86
-                ||
87
-                ! $this->_is_system_question_for_question_group($new_question_id)
88
-            ) {
89
-            $cols_n_values = array(
90
-                'QSG_ID'=>$new_question_group_id,
91
-                'QST_ID'=>$new_question_id
92
-            );
93
-            $datatypes = array(
94
-                '%d',// QSG_ID
95
-                '%d',// QST_ID
96
-            );
97
-            $success = $wpdb->insert($this->_new_table, $cols_n_values, $datatypes);
98
-            if (! $success) {
99
-                $this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_question_group_question, $this->_new_table, $cols_n_values, $datatypes));
100
-                return 0;
101
-            }
102
-            return $wpdb->insert_id;
103
-        } else {
104
-            return false;
105
-        }
106
-    }
63
+	/**
64
+	 * Attempts to insert a new question group inthe new format given an old one
65
+	 * @global type $wpdb
66
+	 * @param array $old_question_group_question
67
+	 * @return int
68
+	 */
69
+	private function _insert_new_question_group_question($old_question_group_question)
70
+	{
71
+		global $wpdb;
72
+		$new_question_id = $this->get_migration_script()->get_mapping_new_pk($wpdb->prefix."events_question", $old_question_group_question['question_id'], $wpdb->prefix."esp_question");
73
+		$new_question_group_id = $this->get_migration_script()->get_mapping_new_pk($wpdb->prefix."events_qst_group", $old_question_group_question['group_id'], $wpdb->prefix."esp_question_group");
74
+		if (! $new_question_id) {
75
+			$this->add_error(sprintf(__("Could not find 4.1 question id for 3.1 question #%d.", "event_espresso"), $old_question_group_question['question_id']));
76
+			return 0;
77
+		}
78
+		if (! $new_question_group_id) {
79
+			$this->add_error(sprintf(__("Could not find 4.1 question group id for 3.1 question group #%d.", "event_espresso"), $old_question_group_question['group_id']));
80
+			return 0;
81
+		}
82
+		// if it's a system question, it needs to be in the right system group. otherwise no dice!
83
+		if (($this->_is_system_question_group($new_question_group_id) == $this->_is_system_question_for_question_group($new_question_id) )
84
+				||
85
+				! $this->_is_system_question_for_question_group($new_question_id)
86
+			) {
87
+			$cols_n_values = array(
88
+				'QSG_ID'=>$new_question_group_id,
89
+				'QST_ID'=>$new_question_id
90
+			);
91
+			$datatypes = array(
92
+				'%d',// QSG_ID
93
+				'%d',// QST_ID
94
+			);
95
+			$success = $wpdb->insert($this->_new_table, $cols_n_values, $datatypes);
96
+			if (! $success) {
97
+				$this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_question_group_question, $this->_new_table, $cols_n_values, $datatypes));
98
+				return 0;
99
+			}
100
+			return $wpdb->insert_id;
101
+		} else {
102
+			return false;
103
+		}
104
+	}
107 105
     
108
-    /**
109
-     * If this question is a system question, returns the QSG_system number that
110
-     * indicates the question group its permitted in.
111
-     * @global type $wpdb
112
-     * @param type $new_question_id
113
-     * @return int
114
-     */
115
-    private function _is_system_question_for_question_group($new_question_id)
116
-    {
117
-        global $wpdb;
118
-        $system_id = $wpdb->get_var($wpdb->prepare("SELECT QST_system FROM ".$wpdb->prefix."esp_question WHERE QST_ID=%d", $new_question_id));
119
-        if (in_array($system_id, array('fname','lname','email'))) {
120
-            return 1;
121
-        } elseif ($system_id!='' && $system_id) {
122
-            return 2;
123
-        } else {
124
-            return 0;
125
-        }
126
-    }
106
+	/**
107
+	 * If this question is a system question, returns the QSG_system number that
108
+	 * indicates the question group its permitted in.
109
+	 * @global type $wpdb
110
+	 * @param type $new_question_id
111
+	 * @return int
112
+	 */
113
+	private function _is_system_question_for_question_group($new_question_id)
114
+	{
115
+		global $wpdb;
116
+		$system_id = $wpdb->get_var($wpdb->prepare("SELECT QST_system FROM ".$wpdb->prefix."esp_question WHERE QST_ID=%d", $new_question_id));
117
+		if (in_array($system_id, array('fname','lname','email'))) {
118
+			return 1;
119
+		} elseif ($system_id!='' && $system_id) {
120
+			return 2;
121
+		} else {
122
+			return 0;
123
+		}
124
+	}
127 125
     
128
-    /**
129
-     * Returns the questino group's QSG_system value (1 meaning personal info, 2
130
-     * being address info, and 0 being neither)
131
-     * @global type $wpdb
132
-     * @param type $new_question_group_id
133
-     * @return boolean
134
-     */
135
-    private function _is_system_question_group($new_question_group_id)
136
-    {
137
-        global $wpdb;
138
-        $system_id = $wpdb->get_var($wpdb->prepare("SELECT QSG_system FROM ".$wpdb->prefix."esp_question_group WHERE QSG_ID=%d", $new_question_group_id));
139
-        return intval($system_id);
140
-    }
126
+	/**
127
+	 * Returns the questino group's QSG_system value (1 meaning personal info, 2
128
+	 * being address info, and 0 being neither)
129
+	 * @global type $wpdb
130
+	 * @param type $new_question_group_id
131
+	 * @return boolean
132
+	 */
133
+	private function _is_system_question_group($new_question_group_id)
134
+	{
135
+		global $wpdb;
136
+		$system_id = $wpdb->get_var($wpdb->prepare("SELECT QSG_system FROM ".$wpdb->prefix."esp_question_group WHERE QSG_ID=%d", $new_question_group_id));
137
+		return intval($system_id);
138
+	}
141 139
 }
Please login to merge, or discard this patch.
Spacing   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -73,16 +73,16 @@  discard block
 block discarded – undo
73 73
         global $wpdb;
74 74
         $new_question_id = $this->get_migration_script()->get_mapping_new_pk($wpdb->prefix."events_question", $old_question_group_question['question_id'], $wpdb->prefix."esp_question");
75 75
         $new_question_group_id = $this->get_migration_script()->get_mapping_new_pk($wpdb->prefix."events_qst_group", $old_question_group_question['group_id'], $wpdb->prefix."esp_question_group");
76
-        if (! $new_question_id) {
76
+        if ( ! $new_question_id) {
77 77
             $this->add_error(sprintf(__("Could not find 4.1 question id for 3.1 question #%d.", "event_espresso"), $old_question_group_question['question_id']));
78 78
             return 0;
79 79
         }
80
-        if (! $new_question_group_id) {
80
+        if ( ! $new_question_group_id) {
81 81
             $this->add_error(sprintf(__("Could not find 4.1 question group id for 3.1 question group #%d.", "event_espresso"), $old_question_group_question['group_id']));
82 82
             return 0;
83 83
         }
84 84
         // if it's a system question, it needs to be in the right system group. otherwise no dice!
85
-        if (($this->_is_system_question_group($new_question_group_id) == $this->_is_system_question_for_question_group($new_question_id) )
85
+        if (($this->_is_system_question_group($new_question_group_id) == $this->_is_system_question_for_question_group($new_question_id))
86 86
                 ||
87 87
                 ! $this->_is_system_question_for_question_group($new_question_id)
88 88
             ) {
@@ -91,11 +91,11 @@  discard block
 block discarded – undo
91 91
                 'QST_ID'=>$new_question_id
92 92
             );
93 93
             $datatypes = array(
94
-                '%d',// QSG_ID
95
-                '%d',// QST_ID
94
+                '%d', // QSG_ID
95
+                '%d', // QST_ID
96 96
             );
97 97
             $success = $wpdb->insert($this->_new_table, $cols_n_values, $datatypes);
98
-            if (! $success) {
98
+            if ( ! $success) {
99 99
                 $this->add_error($this->get_migration_script()->_create_error_message_for_db_insertion($this->_old_table, $old_question_group_question, $this->_new_table, $cols_n_values, $datatypes));
100 100
                 return 0;
101 101
             }
@@ -116,9 +116,9 @@  discard block
 block discarded – undo
116 116
     {
117 117
         global $wpdb;
118 118
         $system_id = $wpdb->get_var($wpdb->prepare("SELECT QST_system FROM ".$wpdb->prefix."esp_question WHERE QST_ID=%d", $new_question_id));
119
-        if (in_array($system_id, array('fname','lname','email'))) {
119
+        if (in_array($system_id, array('fname', 'lname', 'email'))) {
120 120
             return 1;
121
-        } elseif ($system_id!='' && $system_id) {
121
+        } elseif ($system_id != '' && $system_id) {
122 122
             return 2;
123 123
         } else {
124 124
             return 0;
Please login to merge, or discard this patch.