Completed
Branch BUG-10489-non-trashed-regs-onl... (b37a8e)
by
unknown
37:13 queued 23:24
created
core/db_models/fields/EE_Simple_HTML_Field.php 2 patches
Indentation   +11 added lines, -11 removed lines patch added patch discarded remove patch
@@ -8,16 +8,16 @@
 block discarded – undo
8 8
  */
9 9
 class EE_Simple_HTML_Field extends EE_Text_Field_Base
10 10
 {
11
-    /**
12
-     * removes all tags when setting
13
-     *
14
-     * @param string $value_inputted_for_field_on_model_object
15
-     * @return string
16
-     */
17
-    function prepare_for_set($value_inputted_for_field_on_model_object)
18
-    {
19
-        $value_with_select_tags = wp_kses("$value_inputted_for_field_on_model_object", EEH_HTML::get_simple_tags());
20
-        return parent::prepare_for_set($value_with_select_tags);
21
-    }
11
+	/**
12
+	 * removes all tags when setting
13
+	 *
14
+	 * @param string $value_inputted_for_field_on_model_object
15
+	 * @return string
16
+	 */
17
+	function prepare_for_set($value_inputted_for_field_on_model_object)
18
+	{
19
+		$value_with_select_tags = wp_kses("$value_inputted_for_field_on_model_object", EEH_HTML::get_simple_tags());
20
+		return parent::prepare_for_set($value_with_select_tags);
21
+	}
22 22
 
23 23
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@
 block discarded – undo
1 1
 <?php
2
-require_once(EE_MODELS . 'fields/EE_Text_Field_Base.php');
2
+require_once(EE_MODELS.'fields/EE_Text_Field_Base.php');
3 3
 
4 4
 /**
5 5
  * Only allows a select, small number of html tags:
Please login to merge, or discard this patch.
core/db_models/fields/EE_Slug_Field.php 2 patches
Indentation   +11 added lines, -11 removed lines patch added patch discarded remove patch
@@ -3,15 +3,15 @@
 block discarded – undo
3 3
 
4 4
 class EE_Slug_Field extends EE_Text_Field_Base
5 5
 {
6
-    /**
7
-     * ensures string is usable in URLs
8
-     *
9
-     * @param string $value_inputted_for_field_on_model_object
10
-     * @return string
11
-     */
12
-    function prepare_for_set($value_inputted_for_field_on_model_object)
13
-    {
14
-        //reminder: function prepares for use in URLs, not making human-readable.
15
-        return sanitize_title($value_inputted_for_field_on_model_object);
16
-    }
6
+	/**
7
+	 * ensures string is usable in URLs
8
+	 *
9
+	 * @param string $value_inputted_for_field_on_model_object
10
+	 * @return string
11
+	 */
12
+	function prepare_for_set($value_inputted_for_field_on_model_object)
13
+	{
14
+		//reminder: function prepares for use in URLs, not making human-readable.
15
+		return sanitize_title($value_inputted_for_field_on_model_object);
16
+	}
17 17
 }
18 18
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@
 block discarded – undo
1 1
 <?php
2
-require_once(EE_MODELS . 'fields/EE_Text_Field_Base.php');
2
+require_once(EE_MODELS.'fields/EE_Text_Field_Base.php');
3 3
 
4 4
 class EE_Slug_Field extends EE_Text_Field_Base
5 5
 {
Please login to merge, or discard this patch.
core/db_models/fields/EE_Maybe_Serialized_Text_Field.php 2 patches
Indentation   +31 added lines, -31 removed lines patch added patch discarded remove patch
@@ -8,36 +8,36 @@
 block discarded – undo
8 8
 
9 9
 class EE_Maybe_Serialized_Text_Field extends EE_Serialized_Text_Field
10 10
 {
11
-    /**
12
-     * Value could be an array or a string. If its an array, serialize it. Otherwise, leave it as a string
13
-     *
14
-     * @param array|string $value_of_field_on_model_object
15
-     * @return string (possibly serialized)
16
-     */
17
-    function prepare_for_use_in_db($value_of_field_on_model_object)
18
-    {
19
-        if (is_array($value_of_field_on_model_object)) {
20
-            return parent::prepare_for_use_in_db($value_of_field_on_model_object);
21
-        } else {
22
-            return $value_of_field_on_model_object;
23
-        }
24
-    }
11
+	/**
12
+	 * Value could be an array or a string. If its an array, serialize it. Otherwise, leave it as a string
13
+	 *
14
+	 * @param array|string $value_of_field_on_model_object
15
+	 * @return string (possibly serialized)
16
+	 */
17
+	function prepare_for_use_in_db($value_of_field_on_model_object)
18
+	{
19
+		if (is_array($value_of_field_on_model_object)) {
20
+			return parent::prepare_for_use_in_db($value_of_field_on_model_object);
21
+		} else {
22
+			return $value_of_field_on_model_object;
23
+		}
24
+	}
25 25
 
26
-    /**
27
-     * Formats the array (or string) according to $schema. Right now, just implode with commas
28
-     *
29
-     * @param type $value_on_field_to_be_outputted
30
-     * @param type $schema
31
-     * @return strubg
32
-     */
33
-    function prepare_for_pretty_echoing($value_on_field_to_be_outputted, $schema = null)
34
-    {
35
-        $pretty_value = null;
36
-        if (is_array($value_on_field_to_be_outputted)) {
37
-            $pretty_value = parent::prepare_for_pretty_echoing($value_on_field_to_be_outputted, $schema);
38
-        } else {
39
-            $pretty_value = $value_on_field_to_be_outputted;
40
-        }
41
-        return $pretty_value;
42
-    }
26
+	/**
27
+	 * Formats the array (or string) according to $schema. Right now, just implode with commas
28
+	 *
29
+	 * @param type $value_on_field_to_be_outputted
30
+	 * @param type $schema
31
+	 * @return strubg
32
+	 */
33
+	function prepare_for_pretty_echoing($value_on_field_to_be_outputted, $schema = null)
34
+	{
35
+		$pretty_value = null;
36
+		if (is_array($value_on_field_to_be_outputted)) {
37
+			$pretty_value = parent::prepare_for_pretty_echoing($value_on_field_to_be_outputted, $schema);
38
+		} else {
39
+			$pretty_value = $value_on_field_to_be_outputted;
40
+		}
41
+		return $pretty_value;
42
+	}
43 43
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -4,7 +4,7 @@
 block discarded – undo
4 4
 /**
5 5
  * For a db text column, which can either be an array in PHP code or a string.
6 6
  */
7
-require_once(EE_MODELS . 'fields/EE_Text_Field_Base.php');
7
+require_once(EE_MODELS.'fields/EE_Text_Field_Base.php');
8 8
 
9 9
 class EE_Maybe_Serialized_Text_Field extends EE_Serialized_Text_Field
10 10
 {
Please login to merge, or discard this patch.
core/db_models/fields/EE_WP_Post_Type_Field.php.php 1 patch
Indentation   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -5,12 +5,12 @@
 block discarded – undo
5 5
  */
6 6
 class EE_WP_Post_Type_Field extends EE_DB_Only_Text_Field
7 7
 {
8
-    /**
9
-     * @param string $post_type the exact string to be used for the post type
10
-     *                          of all these post type model objects/rows
11
-     */
12
-    function __construct($post_type)
13
-    {
14
-        parent::__construct('post_type', __("Post Type", 'event_espresso'), false, $post_type);
15
-    }
8
+	/**
9
+	 * @param string $post_type the exact string to be used for the post type
10
+	 *                          of all these post type model objects/rows
11
+	 */
12
+	function __construct($post_type)
13
+	{
14
+		parent::__construct('post_type', __("Post Type", 'event_espresso'), false, $post_type);
15
+	}
16 16
 }
17 17
\ No newline at end of file
Please login to merge, or discard this patch.
core/db_models/fields/EE_DB_Only_Text_Field.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@
 block discarded – undo
1 1
 <?php
2
-require_once(EE_MODELS . 'fields/EE_DB_Only_Field_Base.php');
2
+require_once(EE_MODELS.'fields/EE_DB_Only_Field_Base.php');
3 3
 
4 4
 class EE_DB_Only_Text_Field extends EE_DB_Only_Field_Base
5 5
 {
Please login to merge, or discard this patch.
core/db_models/fields/EE_Plain_Text_Field.php 2 patches
Indentation   +10 added lines, -10 removed lines patch added patch discarded remove patch
@@ -3,14 +3,14 @@
 block discarded – undo
3 3
 
4 4
 class EE_Plain_Text_Field extends EE_Text_Field_Base
5 5
 {
6
-    /**
7
-     * removes all tags when setting
8
-     *
9
-     * @param string $value_inputted_for_field_on_model_object
10
-     * @return string
11
-     */
12
-    function prepare_for_set($value_inputted_for_field_on_model_object)
13
-    {
14
-        return wp_strip_all_tags(parent::prepare_for_set($value_inputted_for_field_on_model_object));
15
-    }
6
+	/**
7
+	 * removes all tags when setting
8
+	 *
9
+	 * @param string $value_inputted_for_field_on_model_object
10
+	 * @return string
11
+	 */
12
+	function prepare_for_set($value_inputted_for_field_on_model_object)
13
+	{
14
+		return wp_strip_all_tags(parent::prepare_for_set($value_inputted_for_field_on_model_object));
15
+	}
16 16
 }
17 17
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@
 block discarded – undo
1 1
 <?php
2
-require_once(EE_MODELS . 'fields/EE_Text_Field_Base.php');
2
+require_once(EE_MODELS.'fields/EE_Text_Field_Base.php');
3 3
 
4 4
 class EE_Plain_Text_Field extends EE_Text_Field_Base
5 5
 {
Please login to merge, or discard this patch.
core/db_models/relations/EE_Model_Relation_Base.php 3 patches
Doc Comments   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -133,9 +133,9 @@  discard block
 block discarded – undo
133 133
 
134 134
     /**
135 135
      * @param        $other_table
136
-     * @param        $other_table_alias
136
+     * @param        string $other_table_alias
137 137
      * @param        $other_table_column
138
-     * @param        $this_table_alias
138
+     * @param        string $this_table_alias
139 139
      * @param        $this_table_join_column
140 140
      * @param string $extra_join_sql
141 141
      * @return string
@@ -189,7 +189,7 @@  discard block
 block discarded – undo
189 189
      * Alters the $query_params to disable default where conditions, unless otherwise specified
190 190
      *
191 191
      * @param string $query_params
192
-     * @return array
192
+     * @return string
193 193
      */
194 194
     protected function _disable_default_where_conditions_on_query_param($query_params)
195 195
     {
@@ -206,7 +206,7 @@  discard block
 block discarded – undo
206 206
      * Note: If the related model is extends EEM_Soft_Delete_Base, then the related
207 207
      * model objects will only be soft-deleted.
208 208
      *
209
-     * @param EE_Base_Class|int|string $model_object_or_id
209
+     * @param EE_Base_Class|null $model_object_or_id
210 210
      * @param array                    $query_params
211 211
      * @return int of how many related models got deleted
212 212
      * @throws \EE_Error
@@ -237,7 +237,7 @@  discard block
 block discarded – undo
237 237
      * Note: If the related model is extends EEM_Soft_Delete_Base, then the related
238 238
      * model objects will only be soft-deleted.
239 239
      *
240
-     * @param EE_Base_Class|int|string $model_object_or_id
240
+     * @param EE_Base_Class|null $model_object_or_id
241 241
      * @param array                    $query_params
242 242
      * @return int of how many related models got deleted
243 243
      * @throws \EE_Error
Please login to merge, or discard this patch.
Spacing   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -148,7 +148,7 @@  discard block
 block discarded – undo
148 148
         $this_table_join_column,
149 149
         $extra_join_sql = ''
150 150
     ) {
151
-        return " LEFT JOIN " . $other_table . " AS " . $other_table_alias . " ON " . $other_table_alias . "." . $other_table_column . "=" . $this_table_alias . "." . $this_table_join_column . ($extra_join_sql ? " AND $extra_join_sql" : '');
151
+        return " LEFT JOIN ".$other_table." AS ".$other_table_alias." ON ".$other_table_alias.".".$other_table_column."=".$this_table_alias.".".$this_table_join_column.($extra_join_sql ? " AND $extra_join_sql" : '');
152 152
     }
153 153
 
154 154
 
@@ -193,7 +193,7 @@  discard block
 block discarded – undo
193 193
      */
194 194
     protected function _disable_default_where_conditions_on_query_param($query_params)
195 195
     {
196
-        if (! isset($query_params['default_where_conditions'])) {
196
+        if ( ! isset($query_params['default_where_conditions'])) {
197 197
             $query_params['default_where_conditions'] = 'none';
198 198
         }
199 199
         return $query_params;
@@ -221,7 +221,7 @@  discard block
 block discarded – undo
221 221
             $delete_is_blocked = $this->get_other_model()->delete_is_blocked_by_related_models($related_model_object,
222 222
                 $model_object_or_id);
223 223
             /* @var $model_object_or_id EE_Base_Class */
224
-            if (! $delete_is_blocked) {
224
+            if ( ! $delete_is_blocked) {
225 225
                 $this->remove_relation_to($model_object_or_id, $related_model_object);
226 226
                 $related_model_object->delete();
227 227
                 $deleted_count++;
@@ -255,7 +255,7 @@  discard block
 block discarded – undo
255 255
             if ($related_model_object instanceof EE_Soft_Delete_Base_Class) {
256 256
                 $this->remove_relation_to($model_object_or_id, $related_model_object);
257 257
                 $deleted_count++;
258
-                if (! $delete_is_blocked) {
258
+                if ( ! $delete_is_blocked) {
259 259
                     $related_model_object->delete_permanently();
260 260
                 } else {
261 261
                     //delete is blocked
@@ -264,7 +264,7 @@  discard block
 block discarded – undo
264 264
                 }
265 265
             } else {
266 266
                 //its not a soft-deletable thing anyways. do the normal logic.
267
-                if (! $delete_is_blocked) {
267
+                if ( ! $delete_is_blocked) {
268 268
                     $this->remove_relation_to($model_object_or_id, $related_model_object);
269 269
                     $related_model_object->delete();
270 270
                     $deleted_count++;
@@ -288,7 +288,7 @@  discard block
 block discarded – undo
288 288
         if ($model_object_or_id instanceof EE_Base_Class) {
289 289
             $model_object_id = $model_object_or_id->ID();
290 290
         }
291
-        if (! $model_object_id) {
291
+        if ( ! $model_object_id) {
292 292
             throw new EE_Error(sprintf(__("Sorry, we cant get the related %s model objects to %s model object before it has an ID. You can solve that by just saving it before trying to get its related model objects",
293 293
                 "event_espresso"), $this->get_other_model()->get_this_model_name(),
294 294
                 $this->get_this_model()->get_this_model_name()));
Please login to merge, or discard this patch.
Indentation   +477 added lines, -477 removed lines patch added patch discarded remove patch
@@ -17,482 +17,482 @@
 block discarded – undo
17 17
  */
18 18
 abstract class EE_Model_Relation_Base implements HasSchemaInterface
19 19
 {
20
-    /**
21
-     * The model name of which this relation is a component (ie, the model that called new EE_Model_Relation_Base)
22
-     *
23
-     * @var string eg Event, Question_Group, Registration
24
-     */
25
-    private $_this_model_name;
26
-    /**
27
-     * The model name pointed to by this relation (ie, the model we want to establish a relationship to)
28
-     *
29
-     * @var string eg Event, Question_Group, Registration
30
-     */
31
-    private $_other_model_name;
32
-
33
-    /**
34
-     * this is typically used when calling the relation models to make sure they inherit any set timezone from the
35
-     * initiating model.
36
-     *
37
-     * @var string
38
-     */
39
-    protected $_timezone;
40
-
41
-    /**
42
-     * If you try to delete "this_model", and there are related "other_models",
43
-     * and this isn't null, then abandon the deletion and add this warning.
44
-     * This effectively makes it impossible to delete "this_model" while there are
45
-     * related "other_models" along this relation.
46
-     *
47
-     * @var string (internationalized)
48
-     */
49
-    protected $_blocking_delete_error_message;
50
-
51
-    protected $_blocking_delete = false;
52
-
53
-    /**
54
-     * Object representing the relationship between two models. This knows how to join the models,
55
-     * get related models across the relation, and add-and-remove the relationships.
56
-     *
57
-     * @param boolean $block_deletes                 if there are related models across this relation, block (prevent
58
-     *                                               and add an error) the deletion of this model
59
-     * @param string  $blocking_delete_error_message a customized error message on blocking deletes instead of the
60
-     *                                               default
61
-     */
62
-    public function __construct($block_deletes, $blocking_delete_error_message)
63
-    {
64
-        $this->_blocking_delete               = $block_deletes;
65
-        $this->_blocking_delete_error_message = $blocking_delete_error_message;
66
-    }
67
-
68
-
69
-    /**
70
-     * @param $this_model_name
71
-     * @param $other_model_name
72
-     * @throws EE_Error
73
-     */
74
-    public function _construct_finalize_set_models($this_model_name, $other_model_name)
75
-    {
76
-        $this->_this_model_name  = $this_model_name;
77
-        $this->_other_model_name = $other_model_name;
78
-        if (is_string($this->_blocking_delete)) {
79
-            throw new EE_Error(sprintf(__("When instantiating the relation of type %s from %s to %s, the \$block_deletes argument should be a boolean, not a string (%s)",
80
-                "event_espresso"),
81
-                get_class($this), $this_model_name, $other_model_name, $this->_blocking_delete));
82
-        }
83
-    }
84
-
85
-
86
-    /**
87
-     * Gets the model where this relation is defined.
88
-     *
89
-     * @return EEM_Base
90
-     */
91
-    public function get_this_model()
92
-    {
93
-        return $this->_get_model($this->_this_model_name);
94
-    }
95
-
96
-
97
-    /**
98
-     * Gets the model which this relation establishes the relation TO (ie,
99
-     * this relation object was defined on get_this_model(), get_other_model() is the other one)
100
-     *
101
-     * @return EEM_Base
102
-     */
103
-    public function get_other_model()
104
-    {
105
-        return $this->_get_model($this->_other_model_name);
106
-    }
107
-
108
-
109
-    /**
110
-     * Internally used by get_this_model() and get_other_model()
111
-     *
112
-     * @param string $model_name like Event, Question_Group, etc. omit the EEM_
113
-     * @return EEM_Base
114
-     */
115
-    protected function _get_model($model_name)
116
-    {
117
-        $modelInstance = EE_Registry::instance()->load_model($model_name);
118
-        $modelInstance->set_timezone($this->_timezone);
119
-        return $modelInstance;
120
-    }
121
-
122
-
123
-    /**
124
-     * entirely possible that relations may be called from a model and we need to make sure those relations have their
125
-     * timezone set correctly.
126
-     *
127
-     * @param string $timezone timezone to set.
128
-     */
129
-    public function set_timezone($timezone)
130
-    {
131
-        if ($timezone !== null) {
132
-            $this->_timezone = $timezone;
133
-        }
134
-    }
135
-
136
-
137
-    /**
138
-     * @param        $other_table
139
-     * @param        $other_table_alias
140
-     * @param        $other_table_column
141
-     * @param        $this_table_alias
142
-     * @param        $this_table_join_column
143
-     * @param string $extra_join_sql
144
-     * @return string
145
-     */
146
-    protected function _left_join(
147
-        $other_table,
148
-        $other_table_alias,
149
-        $other_table_column,
150
-        $this_table_alias,
151
-        $this_table_join_column,
152
-        $extra_join_sql = ''
153
-    ) {
154
-        return " LEFT JOIN " . $other_table . " AS " . $other_table_alias . " ON " . $other_table_alias . "." . $other_table_column . "=" . $this_table_alias . "." . $this_table_join_column . ($extra_join_sql ? " AND $extra_join_sql" : '');
155
-    }
156
-
157
-
158
-    /**
159
-     * Gets all the model objects of type of other model related to $model_object,
160
-     * according to this relation. This is the same code for EE_HABTM_Relation and EE_Has_Many_Relation.
161
-     * For both of those child classes, $model_object must be saved so that it has an ID before querying,
162
-     * otherwise an error will be thrown. Note: by default we disable default_where_conditions
163
-     * EE_Belongs_To_Relation doesn't need to be saved before querying.
164
-     *
165
-     * @param EE_Base_Class|int $model_object_or_id                      or the primary key of this model
166
-     * @param array             $query_params                            like EEM_Base::get_all's $query_params
167
-     * @param boolean           $values_already_prepared_by_model_object @deprecated since 4.8.1
168
-     * @return EE_Base_Class[]
169
-     * @throws \EE_Error
170
-     */
171
-    public function get_all_related(
172
-        $model_object_or_id,
173
-        $query_params = array(),
174
-        $values_already_prepared_by_model_object = false
175
-    ) {
176
-        if ($values_already_prepared_by_model_object !== false) {
177
-            EE_Error::doing_it_wrong('EE_Model_Relation_Base::get_all_related',
178
-                __('The argument $values_already_prepared_by_model_object is no longer used.', 'event_espresso'),
179
-                '4.8.1');
180
-        }
181
-        $query_params                                      = $this->_disable_default_where_conditions_on_query_param($query_params);
182
-        $query_param_where_this_model_pk                   = $this->get_this_model()->get_this_model_name()
183
-                                                             . "."
184
-                                                             . $this->get_this_model()->get_primary_key_field()->get_name();
185
-        $model_object_id                                   = $this->_get_model_object_id($model_object_or_id);
186
-        $query_params[0][$query_param_where_this_model_pk] = $model_object_id;
187
-        return $this->get_other_model()->get_all($query_params);
188
-    }
189
-
190
-
191
-    /**
192
-     * Alters the $query_params to disable default where conditions, unless otherwise specified
193
-     *
194
-     * @param string $query_params
195
-     * @return array
196
-     */
197
-    protected function _disable_default_where_conditions_on_query_param($query_params)
198
-    {
199
-        if (! isset($query_params['default_where_conditions'])) {
200
-            $query_params['default_where_conditions'] = 'none';
201
-        }
202
-        return $query_params;
203
-    }
204
-
205
-
206
-    /**
207
-     * Deletes the related model objects which meet the query parameters. If no
208
-     * parameters are specified, then all related model objects will be deleted.
209
-     * Note: If the related model is extends EEM_Soft_Delete_Base, then the related
210
-     * model objects will only be soft-deleted.
211
-     *
212
-     * @param EE_Base_Class|int|string $model_object_or_id
213
-     * @param array                    $query_params
214
-     * @return int of how many related models got deleted
215
-     * @throws \EE_Error
216
-     */
217
-    public function delete_all_related($model_object_or_id, $query_params = array())
218
-    {
219
-        //for each thing we would delete,
220
-        $related_model_objects = $this->get_all_related($model_object_or_id, $query_params);
221
-        //determine if it's blocked by anything else before it can be deleted
222
-        $deleted_count = 0;
223
-        foreach ($related_model_objects as $related_model_object) {
224
-            $delete_is_blocked = $this->get_other_model()->delete_is_blocked_by_related_models($related_model_object,
225
-                $model_object_or_id);
226
-            /* @var $model_object_or_id EE_Base_Class */
227
-            if (! $delete_is_blocked) {
228
-                $this->remove_relation_to($model_object_or_id, $related_model_object);
229
-                $related_model_object->delete();
230
-                $deleted_count++;
231
-            }
232
-        }
233
-        return $deleted_count;
234
-    }
235
-
236
-
237
-    /**
238
-     * Deletes the related model objects which meet the query parameters. If no
239
-     * parameters are specified, then all related model objects will be deleted.
240
-     * Note: If the related model is extends EEM_Soft_Delete_Base, then the related
241
-     * model objects will only be soft-deleted.
242
-     *
243
-     * @param EE_Base_Class|int|string $model_object_or_id
244
-     * @param array                    $query_params
245
-     * @return int of how many related models got deleted
246
-     * @throws \EE_Error
247
-     */
248
-    public function delete_related_permanently($model_object_or_id, $query_params = array())
249
-    {
250
-        //for each thing we would delete,
251
-        $related_model_objects = $this->get_all_related($model_object_or_id, $query_params);
252
-        //determine if it's blocked by anything else before it can be deleted
253
-        $deleted_count = 0;
254
-        foreach ($related_model_objects as $related_model_object) {
255
-            $delete_is_blocked = $this->get_other_model()->delete_is_blocked_by_related_models($related_model_object,
256
-                $model_object_or_id);
257
-            /* @var $model_object_or_id EE_Base_Class */
258
-            if ($related_model_object instanceof EE_Soft_Delete_Base_Class) {
259
-                $this->remove_relation_to($model_object_or_id, $related_model_object);
260
-                $deleted_count++;
261
-                if (! $delete_is_blocked) {
262
-                    $related_model_object->delete_permanently();
263
-                } else {
264
-                    //delete is blocked
265
-                    //brent and darren, in this case, wanted to just soft delete it then
266
-                    $related_model_object->delete();
267
-                }
268
-            } else {
269
-                //its not a soft-deletable thing anyways. do the normal logic.
270
-                if (! $delete_is_blocked) {
271
-                    $this->remove_relation_to($model_object_or_id, $related_model_object);
272
-                    $related_model_object->delete();
273
-                    $deleted_count++;
274
-                }
275
-            }
276
-        }
277
-        return $deleted_count;
278
-    }
279
-
280
-
281
-    /**
282
-     * this just returns a model_object_id for incoming item that could be an object or id.
283
-     *
284
-     * @param  EE_Base_Class|int $model_object_or_id model object or the primary key of this model
285
-     * @throws EE_Error
286
-     * @return int
287
-     */
288
-    protected function _get_model_object_id($model_object_or_id)
289
-    {
290
-        $model_object_id = $model_object_or_id;
291
-        if ($model_object_or_id instanceof EE_Base_Class) {
292
-            $model_object_id = $model_object_or_id->ID();
293
-        }
294
-        if (! $model_object_id) {
295
-            throw new EE_Error(sprintf(__("Sorry, we cant get the related %s model objects to %s model object before it has an ID. You can solve that by just saving it before trying to get its related model objects",
296
-                "event_espresso"), $this->get_other_model()->get_this_model_name(),
297
-                $this->get_this_model()->get_this_model_name()));
298
-        }
299
-        return $model_object_id;
300
-    }
301
-
302
-
303
-    /**
304
-     * Gets the SQL string for performing the join between this model and the other model.
305
-     *
306
-     * @param string $model_relation_chain like 'Event.Event_Venue.Venue'
307
-     * @return string of SQL, eg "LEFT JOIN table_name AS table_alias ON this_model_primary_table.pk =
308
-     *                other_model_primary_table.fk" etc
309
-     */
310
-    abstract public function get_join_statement($model_relation_chain);
311
-
312
-
313
-    /**
314
-     * Adds a relationships between the two model objects provided. Each type of relationship handles this differently
315
-     * (EE_Belongs_To is a slight exception, it should more accurately be called set_relation_to(...), as this
316
-     * relationship only allows this model to be related to a single other model of this type)
317
-     *
318
-     * @param       $this_obj_or_id
319
-     * @param       $other_obj_or_id
320
-     * @param array $extra_join_model_fields_n_values
321
-     * @return \EE_Base_Class the EE_Base_Class which was added as a relation. (Convenient if you only pass an ID for
322
-     *                        $other_obj_or_id)
323
-     */
324
-    abstract public function add_relation_to(
325
-        $this_obj_or_id,
326
-        $other_obj_or_id,
327
-        $extra_join_model_fields_n_values = array()
328
-    );
329
-
330
-
331
-    /**
332
-     * Similar to 'add_relation_to(...)', performs the opposite action of removing the relationship between the two
333
-     * model objects
334
-     *
335
-     * @param       $this_obj_or_id
336
-     * @param       $other_obj_or_id
337
-     * @param array $where_query
338
-     * @return bool
339
-     */
340
-    abstract public function remove_relation_to($this_obj_or_id, $other_obj_or_id, $where_query = array());
341
-
342
-
343
-    /**
344
-     * Removes ALL relation instances for this relation obj
345
-     *
346
-     * @param EE_Base_Class|int $this_obj_or_id
347
-     * @param array             $where_query_param like EEM_Base::get_all's $query_params[0] (where conditions)
348
-     * @return EE_Base_Class[]
349
-     * @throws \EE_Error
350
-     */
351
-    public function remove_relations($this_obj_or_id, $where_query_param = array())
352
-    {
353
-        $related_things = $this->get_all_related($this_obj_or_id, array($where_query_param));
354
-        $objs_removed   = array();
355
-        foreach ($related_things as $related_thing) {
356
-            $objs_removed[] = $this->remove_relation_to($this_obj_or_id, $related_thing);
357
-        }
358
-        return $objs_removed;
359
-    }
360
-
361
-
362
-    /**
363
-     * If you aren't allowed to delete this model when there are related models across this
364
-     * relation object, return true. Otherwise, if you can delete this model even though
365
-     * related objects exist, returns false.
366
-     *
367
-     * @return boolean
368
-     */
369
-    public function block_delete_if_related_models_exist()
370
-    {
371
-        return $this->_blocking_delete;
372
-    }
373
-
374
-
375
-    /**
376
-     * Gets the error message to show
377
-     *
378
-     * @return string
379
-     */
380
-    public function get_deletion_error_message()
381
-    {
382
-        if ($this->_blocking_delete_error_message) {
383
-            return $this->_blocking_delete_error_message;
384
-        } else {
20
+	/**
21
+	 * The model name of which this relation is a component (ie, the model that called new EE_Model_Relation_Base)
22
+	 *
23
+	 * @var string eg Event, Question_Group, Registration
24
+	 */
25
+	private $_this_model_name;
26
+	/**
27
+	 * The model name pointed to by this relation (ie, the model we want to establish a relationship to)
28
+	 *
29
+	 * @var string eg Event, Question_Group, Registration
30
+	 */
31
+	private $_other_model_name;
32
+
33
+	/**
34
+	 * this is typically used when calling the relation models to make sure they inherit any set timezone from the
35
+	 * initiating model.
36
+	 *
37
+	 * @var string
38
+	 */
39
+	protected $_timezone;
40
+
41
+	/**
42
+	 * If you try to delete "this_model", and there are related "other_models",
43
+	 * and this isn't null, then abandon the deletion and add this warning.
44
+	 * This effectively makes it impossible to delete "this_model" while there are
45
+	 * related "other_models" along this relation.
46
+	 *
47
+	 * @var string (internationalized)
48
+	 */
49
+	protected $_blocking_delete_error_message;
50
+
51
+	protected $_blocking_delete = false;
52
+
53
+	/**
54
+	 * Object representing the relationship between two models. This knows how to join the models,
55
+	 * get related models across the relation, and add-and-remove the relationships.
56
+	 *
57
+	 * @param boolean $block_deletes                 if there are related models across this relation, block (prevent
58
+	 *                                               and add an error) the deletion of this model
59
+	 * @param string  $blocking_delete_error_message a customized error message on blocking deletes instead of the
60
+	 *                                               default
61
+	 */
62
+	public function __construct($block_deletes, $blocking_delete_error_message)
63
+	{
64
+		$this->_blocking_delete               = $block_deletes;
65
+		$this->_blocking_delete_error_message = $blocking_delete_error_message;
66
+	}
67
+
68
+
69
+	/**
70
+	 * @param $this_model_name
71
+	 * @param $other_model_name
72
+	 * @throws EE_Error
73
+	 */
74
+	public function _construct_finalize_set_models($this_model_name, $other_model_name)
75
+	{
76
+		$this->_this_model_name  = $this_model_name;
77
+		$this->_other_model_name = $other_model_name;
78
+		if (is_string($this->_blocking_delete)) {
79
+			throw new EE_Error(sprintf(__("When instantiating the relation of type %s from %s to %s, the \$block_deletes argument should be a boolean, not a string (%s)",
80
+				"event_espresso"),
81
+				get_class($this), $this_model_name, $other_model_name, $this->_blocking_delete));
82
+		}
83
+	}
84
+
85
+
86
+	/**
87
+	 * Gets the model where this relation is defined.
88
+	 *
89
+	 * @return EEM_Base
90
+	 */
91
+	public function get_this_model()
92
+	{
93
+		return $this->_get_model($this->_this_model_name);
94
+	}
95
+
96
+
97
+	/**
98
+	 * Gets the model which this relation establishes the relation TO (ie,
99
+	 * this relation object was defined on get_this_model(), get_other_model() is the other one)
100
+	 *
101
+	 * @return EEM_Base
102
+	 */
103
+	public function get_other_model()
104
+	{
105
+		return $this->_get_model($this->_other_model_name);
106
+	}
107
+
108
+
109
+	/**
110
+	 * Internally used by get_this_model() and get_other_model()
111
+	 *
112
+	 * @param string $model_name like Event, Question_Group, etc. omit the EEM_
113
+	 * @return EEM_Base
114
+	 */
115
+	protected function _get_model($model_name)
116
+	{
117
+		$modelInstance = EE_Registry::instance()->load_model($model_name);
118
+		$modelInstance->set_timezone($this->_timezone);
119
+		return $modelInstance;
120
+	}
121
+
122
+
123
+	/**
124
+	 * entirely possible that relations may be called from a model and we need to make sure those relations have their
125
+	 * timezone set correctly.
126
+	 *
127
+	 * @param string $timezone timezone to set.
128
+	 */
129
+	public function set_timezone($timezone)
130
+	{
131
+		if ($timezone !== null) {
132
+			$this->_timezone = $timezone;
133
+		}
134
+	}
135
+
136
+
137
+	/**
138
+	 * @param        $other_table
139
+	 * @param        $other_table_alias
140
+	 * @param        $other_table_column
141
+	 * @param        $this_table_alias
142
+	 * @param        $this_table_join_column
143
+	 * @param string $extra_join_sql
144
+	 * @return string
145
+	 */
146
+	protected function _left_join(
147
+		$other_table,
148
+		$other_table_alias,
149
+		$other_table_column,
150
+		$this_table_alias,
151
+		$this_table_join_column,
152
+		$extra_join_sql = ''
153
+	) {
154
+		return " LEFT JOIN " . $other_table . " AS " . $other_table_alias . " ON " . $other_table_alias . "." . $other_table_column . "=" . $this_table_alias . "." . $this_table_join_column . ($extra_join_sql ? " AND $extra_join_sql" : '');
155
+	}
156
+
157
+
158
+	/**
159
+	 * Gets all the model objects of type of other model related to $model_object,
160
+	 * according to this relation. This is the same code for EE_HABTM_Relation and EE_Has_Many_Relation.
161
+	 * For both of those child classes, $model_object must be saved so that it has an ID before querying,
162
+	 * otherwise an error will be thrown. Note: by default we disable default_where_conditions
163
+	 * EE_Belongs_To_Relation doesn't need to be saved before querying.
164
+	 *
165
+	 * @param EE_Base_Class|int $model_object_or_id                      or the primary key of this model
166
+	 * @param array             $query_params                            like EEM_Base::get_all's $query_params
167
+	 * @param boolean           $values_already_prepared_by_model_object @deprecated since 4.8.1
168
+	 * @return EE_Base_Class[]
169
+	 * @throws \EE_Error
170
+	 */
171
+	public function get_all_related(
172
+		$model_object_or_id,
173
+		$query_params = array(),
174
+		$values_already_prepared_by_model_object = false
175
+	) {
176
+		if ($values_already_prepared_by_model_object !== false) {
177
+			EE_Error::doing_it_wrong('EE_Model_Relation_Base::get_all_related',
178
+				__('The argument $values_already_prepared_by_model_object is no longer used.', 'event_espresso'),
179
+				'4.8.1');
180
+		}
181
+		$query_params                                      = $this->_disable_default_where_conditions_on_query_param($query_params);
182
+		$query_param_where_this_model_pk                   = $this->get_this_model()->get_this_model_name()
183
+															 . "."
184
+															 . $this->get_this_model()->get_primary_key_field()->get_name();
185
+		$model_object_id                                   = $this->_get_model_object_id($model_object_or_id);
186
+		$query_params[0][$query_param_where_this_model_pk] = $model_object_id;
187
+		return $this->get_other_model()->get_all($query_params);
188
+	}
189
+
190
+
191
+	/**
192
+	 * Alters the $query_params to disable default where conditions, unless otherwise specified
193
+	 *
194
+	 * @param string $query_params
195
+	 * @return array
196
+	 */
197
+	protected function _disable_default_where_conditions_on_query_param($query_params)
198
+	{
199
+		if (! isset($query_params['default_where_conditions'])) {
200
+			$query_params['default_where_conditions'] = 'none';
201
+		}
202
+		return $query_params;
203
+	}
204
+
205
+
206
+	/**
207
+	 * Deletes the related model objects which meet the query parameters. If no
208
+	 * parameters are specified, then all related model objects will be deleted.
209
+	 * Note: If the related model is extends EEM_Soft_Delete_Base, then the related
210
+	 * model objects will only be soft-deleted.
211
+	 *
212
+	 * @param EE_Base_Class|int|string $model_object_or_id
213
+	 * @param array                    $query_params
214
+	 * @return int of how many related models got deleted
215
+	 * @throws \EE_Error
216
+	 */
217
+	public function delete_all_related($model_object_or_id, $query_params = array())
218
+	{
219
+		//for each thing we would delete,
220
+		$related_model_objects = $this->get_all_related($model_object_or_id, $query_params);
221
+		//determine if it's blocked by anything else before it can be deleted
222
+		$deleted_count = 0;
223
+		foreach ($related_model_objects as $related_model_object) {
224
+			$delete_is_blocked = $this->get_other_model()->delete_is_blocked_by_related_models($related_model_object,
225
+				$model_object_or_id);
226
+			/* @var $model_object_or_id EE_Base_Class */
227
+			if (! $delete_is_blocked) {
228
+				$this->remove_relation_to($model_object_or_id, $related_model_object);
229
+				$related_model_object->delete();
230
+				$deleted_count++;
231
+			}
232
+		}
233
+		return $deleted_count;
234
+	}
235
+
236
+
237
+	/**
238
+	 * Deletes the related model objects which meet the query parameters. If no
239
+	 * parameters are specified, then all related model objects will be deleted.
240
+	 * Note: If the related model is extends EEM_Soft_Delete_Base, then the related
241
+	 * model objects will only be soft-deleted.
242
+	 *
243
+	 * @param EE_Base_Class|int|string $model_object_or_id
244
+	 * @param array                    $query_params
245
+	 * @return int of how many related models got deleted
246
+	 * @throws \EE_Error
247
+	 */
248
+	public function delete_related_permanently($model_object_or_id, $query_params = array())
249
+	{
250
+		//for each thing we would delete,
251
+		$related_model_objects = $this->get_all_related($model_object_or_id, $query_params);
252
+		//determine if it's blocked by anything else before it can be deleted
253
+		$deleted_count = 0;
254
+		foreach ($related_model_objects as $related_model_object) {
255
+			$delete_is_blocked = $this->get_other_model()->delete_is_blocked_by_related_models($related_model_object,
256
+				$model_object_or_id);
257
+			/* @var $model_object_or_id EE_Base_Class */
258
+			if ($related_model_object instanceof EE_Soft_Delete_Base_Class) {
259
+				$this->remove_relation_to($model_object_or_id, $related_model_object);
260
+				$deleted_count++;
261
+				if (! $delete_is_blocked) {
262
+					$related_model_object->delete_permanently();
263
+				} else {
264
+					//delete is blocked
265
+					//brent and darren, in this case, wanted to just soft delete it then
266
+					$related_model_object->delete();
267
+				}
268
+			} else {
269
+				//its not a soft-deletable thing anyways. do the normal logic.
270
+				if (! $delete_is_blocked) {
271
+					$this->remove_relation_to($model_object_or_id, $related_model_object);
272
+					$related_model_object->delete();
273
+					$deleted_count++;
274
+				}
275
+			}
276
+		}
277
+		return $deleted_count;
278
+	}
279
+
280
+
281
+	/**
282
+	 * this just returns a model_object_id for incoming item that could be an object or id.
283
+	 *
284
+	 * @param  EE_Base_Class|int $model_object_or_id model object or the primary key of this model
285
+	 * @throws EE_Error
286
+	 * @return int
287
+	 */
288
+	protected function _get_model_object_id($model_object_or_id)
289
+	{
290
+		$model_object_id = $model_object_or_id;
291
+		if ($model_object_or_id instanceof EE_Base_Class) {
292
+			$model_object_id = $model_object_or_id->ID();
293
+		}
294
+		if (! $model_object_id) {
295
+			throw new EE_Error(sprintf(__("Sorry, we cant get the related %s model objects to %s model object before it has an ID. You can solve that by just saving it before trying to get its related model objects",
296
+				"event_espresso"), $this->get_other_model()->get_this_model_name(),
297
+				$this->get_this_model()->get_this_model_name()));
298
+		}
299
+		return $model_object_id;
300
+	}
301
+
302
+
303
+	/**
304
+	 * Gets the SQL string for performing the join between this model and the other model.
305
+	 *
306
+	 * @param string $model_relation_chain like 'Event.Event_Venue.Venue'
307
+	 * @return string of SQL, eg "LEFT JOIN table_name AS table_alias ON this_model_primary_table.pk =
308
+	 *                other_model_primary_table.fk" etc
309
+	 */
310
+	abstract public function get_join_statement($model_relation_chain);
311
+
312
+
313
+	/**
314
+	 * Adds a relationships between the two model objects provided. Each type of relationship handles this differently
315
+	 * (EE_Belongs_To is a slight exception, it should more accurately be called set_relation_to(...), as this
316
+	 * relationship only allows this model to be related to a single other model of this type)
317
+	 *
318
+	 * @param       $this_obj_or_id
319
+	 * @param       $other_obj_or_id
320
+	 * @param array $extra_join_model_fields_n_values
321
+	 * @return \EE_Base_Class the EE_Base_Class which was added as a relation. (Convenient if you only pass an ID for
322
+	 *                        $other_obj_or_id)
323
+	 */
324
+	abstract public function add_relation_to(
325
+		$this_obj_or_id,
326
+		$other_obj_or_id,
327
+		$extra_join_model_fields_n_values = array()
328
+	);
329
+
330
+
331
+	/**
332
+	 * Similar to 'add_relation_to(...)', performs the opposite action of removing the relationship between the two
333
+	 * model objects
334
+	 *
335
+	 * @param       $this_obj_or_id
336
+	 * @param       $other_obj_or_id
337
+	 * @param array $where_query
338
+	 * @return bool
339
+	 */
340
+	abstract public function remove_relation_to($this_obj_or_id, $other_obj_or_id, $where_query = array());
341
+
342
+
343
+	/**
344
+	 * Removes ALL relation instances for this relation obj
345
+	 *
346
+	 * @param EE_Base_Class|int $this_obj_or_id
347
+	 * @param array             $where_query_param like EEM_Base::get_all's $query_params[0] (where conditions)
348
+	 * @return EE_Base_Class[]
349
+	 * @throws \EE_Error
350
+	 */
351
+	public function remove_relations($this_obj_or_id, $where_query_param = array())
352
+	{
353
+		$related_things = $this->get_all_related($this_obj_or_id, array($where_query_param));
354
+		$objs_removed   = array();
355
+		foreach ($related_things as $related_thing) {
356
+			$objs_removed[] = $this->remove_relation_to($this_obj_or_id, $related_thing);
357
+		}
358
+		return $objs_removed;
359
+	}
360
+
361
+
362
+	/**
363
+	 * If you aren't allowed to delete this model when there are related models across this
364
+	 * relation object, return true. Otherwise, if you can delete this model even though
365
+	 * related objects exist, returns false.
366
+	 *
367
+	 * @return boolean
368
+	 */
369
+	public function block_delete_if_related_models_exist()
370
+	{
371
+		return $this->_blocking_delete;
372
+	}
373
+
374
+
375
+	/**
376
+	 * Gets the error message to show
377
+	 *
378
+	 * @return string
379
+	 */
380
+	public function get_deletion_error_message()
381
+	{
382
+		if ($this->_blocking_delete_error_message) {
383
+			return $this->_blocking_delete_error_message;
384
+		} else {
385 385
 //			return sprintf(__('Cannot delete %1$s when there are related %2$s', "event_espresso"),$this->get_this_model()->item_name(2),$this->get_other_model()->item_name(2));
386
-            return sprintf(
387
-                __('This %1$s is currently linked to one or more %2$s records. If this %1$s is incorrect, then please remove it from all %3$s before attempting to delete it.',
388
-                    "event_espresso"),
389
-                $this->get_this_model()->item_name(1),
390
-                $this->get_other_model()->item_name(1),
391
-                $this->get_other_model()->item_name(2)
392
-            );
393
-        }
394
-    }
395
-
396
-    /**
397
-     * Returns whatever is set as the nicename for the object.
398
-     *
399
-     * @return string
400
-     */
401
-    public function getSchemaDescription()
402
-    {
403
-        $description = $this instanceof EE_Belongs_To_Relation
404
-            ? esc_html__('The related %1$s entity to the %2$s.', 'event_espresso')
405
-            : esc_html__('The related %1$s entities to the %2$s.', 'event_espresso');
406
-        return sprintf(
407
-            $description,
408
-            $this->get_other_model()->get_this_model_name(),
409
-            $this->get_this_model()->get_this_model_name()
410
-        );
411
-    }
412
-
413
-    /**
414
-     * Returns whatever is set as the $_schema_type property for the object.
415
-     * Note: this will automatically add 'null' to the schema if the object is_nullable()
416
-     *
417
-     * @return string|array
418
-     */
419
-    public function getSchemaType()
420
-    {
421
-        return $this instanceof EE_Belongs_To_Relation ? 'object' : 'array';
422
-    }
423
-
424
-    /**
425
-     * This is usually present when the $_schema_type property is 'object'.  Any child classes will need to override
426
-     * this method and return the properties for the schema.
427
-     * The reason this is not a property on the class is because there may be filters set on the values for the property
428
-     * that won't be exposed on construct.  For example enum type schemas may have the enum values filtered.
429
-     *
430
-     * @return array
431
-     */
432
-    public function getSchemaProperties()
433
-    {
434
-        return array();
435
-    }
436
-
437
-    /**
438
-     * If a child class has enum values, they should override this method and provide a simple array
439
-     * of the enum values.
440
-     * The reason this is not a property on the class is because there may be filterable enum values that
441
-     * are set on the instantiated object that could be filtered after construct.
442
-     *
443
-     * @return array
444
-     */
445
-    public function getSchemaEnum()
446
-    {
447
-        return array();
448
-    }
449
-
450
-    /**
451
-     * This returns the value of the $_schema_format property on the object.
452
-     *
453
-     * @return string
454
-     */
455
-    public function getSchemaFormat()
456
-    {
457
-        return array();
458
-    }
459
-
460
-    /**
461
-     * This returns the value of the $_schema_readonly property on the object.
462
-     *
463
-     * @return bool
464
-     */
465
-    public function getSchemaReadonly()
466
-    {
467
-        return true;
468
-    }
469
-
470
-    /**
471
-     * This returns elements used to represent this field in the json schema.
472
-     *
473
-     * @link http://json-schema.org/
474
-     * @return array
475
-     */
476
-    public function getSchema()
477
-    {
478
-        $schema = array(
479
-            'description' => $this->getSchemaDescription(),
480
-            'type' => $this->getSchemaType(),
481
-            'relation' => true,
482
-            'relation_type' => get_class($this),
483
-            'readonly' => $this->getSchemaReadonly()
484
-        );
485
-
486
-        if ($this instanceof EE_HABTM_Relation) {
487
-            $schema['joining_model_name'] = $this->get_join_model()->get_this_model_name();
488
-        }
489
-
490
-        if ($this->getSchemaType() === 'array') {
491
-            $schema['items'] = array(
492
-                'type' => 'object'
493
-            );
494
-        }
495
-
496
-        return $schema;
497
-    }
386
+			return sprintf(
387
+				__('This %1$s is currently linked to one or more %2$s records. If this %1$s is incorrect, then please remove it from all %3$s before attempting to delete it.',
388
+					"event_espresso"),
389
+				$this->get_this_model()->item_name(1),
390
+				$this->get_other_model()->item_name(1),
391
+				$this->get_other_model()->item_name(2)
392
+			);
393
+		}
394
+	}
395
+
396
+	/**
397
+	 * Returns whatever is set as the nicename for the object.
398
+	 *
399
+	 * @return string
400
+	 */
401
+	public function getSchemaDescription()
402
+	{
403
+		$description = $this instanceof EE_Belongs_To_Relation
404
+			? esc_html__('The related %1$s entity to the %2$s.', 'event_espresso')
405
+			: esc_html__('The related %1$s entities to the %2$s.', 'event_espresso');
406
+		return sprintf(
407
+			$description,
408
+			$this->get_other_model()->get_this_model_name(),
409
+			$this->get_this_model()->get_this_model_name()
410
+		);
411
+	}
412
+
413
+	/**
414
+	 * Returns whatever is set as the $_schema_type property for the object.
415
+	 * Note: this will automatically add 'null' to the schema if the object is_nullable()
416
+	 *
417
+	 * @return string|array
418
+	 */
419
+	public function getSchemaType()
420
+	{
421
+		return $this instanceof EE_Belongs_To_Relation ? 'object' : 'array';
422
+	}
423
+
424
+	/**
425
+	 * This is usually present when the $_schema_type property is 'object'.  Any child classes will need to override
426
+	 * this method and return the properties for the schema.
427
+	 * The reason this is not a property on the class is because there may be filters set on the values for the property
428
+	 * that won't be exposed on construct.  For example enum type schemas may have the enum values filtered.
429
+	 *
430
+	 * @return array
431
+	 */
432
+	public function getSchemaProperties()
433
+	{
434
+		return array();
435
+	}
436
+
437
+	/**
438
+	 * If a child class has enum values, they should override this method and provide a simple array
439
+	 * of the enum values.
440
+	 * The reason this is not a property on the class is because there may be filterable enum values that
441
+	 * are set on the instantiated object that could be filtered after construct.
442
+	 *
443
+	 * @return array
444
+	 */
445
+	public function getSchemaEnum()
446
+	{
447
+		return array();
448
+	}
449
+
450
+	/**
451
+	 * This returns the value of the $_schema_format property on the object.
452
+	 *
453
+	 * @return string
454
+	 */
455
+	public function getSchemaFormat()
456
+	{
457
+		return array();
458
+	}
459
+
460
+	/**
461
+	 * This returns the value of the $_schema_readonly property on the object.
462
+	 *
463
+	 * @return bool
464
+	 */
465
+	public function getSchemaReadonly()
466
+	{
467
+		return true;
468
+	}
469
+
470
+	/**
471
+	 * This returns elements used to represent this field in the json schema.
472
+	 *
473
+	 * @link http://json-schema.org/
474
+	 * @return array
475
+	 */
476
+	public function getSchema()
477
+	{
478
+		$schema = array(
479
+			'description' => $this->getSchemaDescription(),
480
+			'type' => $this->getSchemaType(),
481
+			'relation' => true,
482
+			'relation_type' => get_class($this),
483
+			'readonly' => $this->getSchemaReadonly()
484
+		);
485
+
486
+		if ($this instanceof EE_HABTM_Relation) {
487
+			$schema['joining_model_name'] = $this->get_join_model()->get_this_model_name();
488
+		}
489
+
490
+		if ($this->getSchemaType() === 'array') {
491
+			$schema['items'] = array(
492
+				'type' => 'object'
493
+			);
494
+		}
495
+
496
+		return $schema;
497
+	}
498 498
 }
Please login to merge, or discard this patch.
core/db_models/relations/EE_Has_Many_Relation.php 2 patches
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@  discard block
 block discarded – undo
1 1
 <?php
2
-require_once(EE_MODELS . 'relations/EE_Model_Relation_Base.php');
2
+require_once(EE_MODELS.'relations/EE_Model_Relation_Base.php');
3 3
 
4 4
 
5 5
 /**
@@ -46,13 +46,13 @@  discard block
 block discarded – undo
46 46
         $this_table_pk_field  = $this->get_this_model()->get_primary_key_field();
47 47
         $other_table_fk_field = $this->get_other_model()->get_foreign_key_to($this->get_this_model()->get_this_model_name());
48 48
         $pk_table_alias       = EE_Model_Parser::extract_table_alias_model_relation_chain_prefix($model_relation_chain,
49
-                $this->get_this_model()->get_this_model_name()) . $this_table_pk_field->get_table_alias();
49
+                $this->get_this_model()->get_this_model_name()).$this_table_pk_field->get_table_alias();
50 50
         $fk_table_alias       = EE_Model_Parser::extract_table_alias_model_relation_chain_prefix($model_relation_chain,
51
-                $this->get_other_model()->get_this_model_name()) . $other_table_fk_field->get_table_alias();
51
+                $this->get_other_model()->get_this_model_name()).$other_table_fk_field->get_table_alias();
52 52
         $fk_table             = $this->get_other_model()->get_table_for_alias($fk_table_alias);
53 53
 
54 54
         return $this->_left_join($fk_table, $fk_table_alias, $other_table_fk_field->get_table_column(), $pk_table_alias,
55
-                $this_table_pk_field->get_table_column()) . $this->get_other_model()->_construct_internal_join_to_table_with_alias($fk_table_alias);
55
+                $this_table_pk_field->get_table_column()).$this->get_other_model()->_construct_internal_join_to_table_with_alias($fk_table_alias);
56 56
     }
57 57
 
58 58
 
Please login to merge, or discard this patch.
Indentation   +81 added lines, -81 removed lines patch added patch discarded remove patch
@@ -13,93 +13,93 @@
 block discarded – undo
13 13
 class EE_Has_Many_Relation extends EE_Model_Relation_Base
14 14
 {
15 15
 
16
-    /**
17
-     * Object representing the relationship between two models. Has_Many_Relations are where the OTHER model has the
18
-     * foreign key this model. IE, there can be many other model objects related to one of this model's objects (but
19
-     * NOT through a JOIN table, which is the case for EE_HABTM_Relations). This knows how to join the models, get
20
-     * related models across the relation, and add-and-remove the relationships.
21
-     *
22
-     * @param boolean $block_deletes                 For this type of r elation, we block by default. If there are
23
-     *                                               related models across this relation, block (prevent and add an
24
-     *                                               error) the deletion of this model
25
-     * @param string  $blocking_delete_error_message a customized error message on blocking deletes instead of the
26
-     *                                               default
27
-     */
28
-    public function __construct($block_deletes = true, $blocking_delete_error_message = null)
29
-    {
30
-        parent::__construct($block_deletes, $blocking_delete_error_message);
31
-    }
16
+	/**
17
+	 * Object representing the relationship between two models. Has_Many_Relations are where the OTHER model has the
18
+	 * foreign key this model. IE, there can be many other model objects related to one of this model's objects (but
19
+	 * NOT through a JOIN table, which is the case for EE_HABTM_Relations). This knows how to join the models, get
20
+	 * related models across the relation, and add-and-remove the relationships.
21
+	 *
22
+	 * @param boolean $block_deletes                 For this type of r elation, we block by default. If there are
23
+	 *                                               related models across this relation, block (prevent and add an
24
+	 *                                               error) the deletion of this model
25
+	 * @param string  $blocking_delete_error_message a customized error message on blocking deletes instead of the
26
+	 *                                               default
27
+	 */
28
+	public function __construct($block_deletes = true, $blocking_delete_error_message = null)
29
+	{
30
+		parent::__construct($block_deletes, $blocking_delete_error_message);
31
+	}
32 32
 
33 33
 
34
-    /**
35
-     * Gets the SQL string for performing the join between this model and the other model.
36
-     *
37
-     * @param string $model_relation_chain like 'Event.Event_Venue.Venue'
38
-     * @return string of SQL, eg "LEFT JOIN table_name AS table_alias ON this_model_primary_table.pk =
39
-     *                other_model_primary_table.fk" etc
40
-     * @throws \EE_Error
41
-     */
42
-    public function get_join_statement($model_relation_chain)
43
-    {
44
-        //create the sql string like
45
-        // LEFT JOIN other_table AS table_alias ON this_table_alias.pk = other_table_alias.fk extra_join_conditions
46
-        $this_table_pk_field  = $this->get_this_model()->get_primary_key_field();
47
-        $other_table_fk_field = $this->get_other_model()->get_foreign_key_to($this->get_this_model()->get_this_model_name());
48
-        $pk_table_alias       = EE_Model_Parser::extract_table_alias_model_relation_chain_prefix($model_relation_chain,
49
-                $this->get_this_model()->get_this_model_name()) . $this_table_pk_field->get_table_alias();
50
-        $fk_table_alias       = EE_Model_Parser::extract_table_alias_model_relation_chain_prefix($model_relation_chain,
51
-                $this->get_other_model()->get_this_model_name()) . $other_table_fk_field->get_table_alias();
52
-        $fk_table             = $this->get_other_model()->get_table_for_alias($fk_table_alias);
34
+	/**
35
+	 * Gets the SQL string for performing the join between this model and the other model.
36
+	 *
37
+	 * @param string $model_relation_chain like 'Event.Event_Venue.Venue'
38
+	 * @return string of SQL, eg "LEFT JOIN table_name AS table_alias ON this_model_primary_table.pk =
39
+	 *                other_model_primary_table.fk" etc
40
+	 * @throws \EE_Error
41
+	 */
42
+	public function get_join_statement($model_relation_chain)
43
+	{
44
+		//create the sql string like
45
+		// LEFT JOIN other_table AS table_alias ON this_table_alias.pk = other_table_alias.fk extra_join_conditions
46
+		$this_table_pk_field  = $this->get_this_model()->get_primary_key_field();
47
+		$other_table_fk_field = $this->get_other_model()->get_foreign_key_to($this->get_this_model()->get_this_model_name());
48
+		$pk_table_alias       = EE_Model_Parser::extract_table_alias_model_relation_chain_prefix($model_relation_chain,
49
+				$this->get_this_model()->get_this_model_name()) . $this_table_pk_field->get_table_alias();
50
+		$fk_table_alias       = EE_Model_Parser::extract_table_alias_model_relation_chain_prefix($model_relation_chain,
51
+				$this->get_other_model()->get_this_model_name()) . $other_table_fk_field->get_table_alias();
52
+		$fk_table             = $this->get_other_model()->get_table_for_alias($fk_table_alias);
53 53
 
54
-        return $this->_left_join($fk_table, $fk_table_alias, $other_table_fk_field->get_table_column(), $pk_table_alias,
55
-                $this_table_pk_field->get_table_column()) . $this->get_other_model()->_construct_internal_join_to_table_with_alias($fk_table_alias);
56
-    }
54
+		return $this->_left_join($fk_table, $fk_table_alias, $other_table_fk_field->get_table_column(), $pk_table_alias,
55
+				$this_table_pk_field->get_table_column()) . $this->get_other_model()->_construct_internal_join_to_table_with_alias($fk_table_alias);
56
+	}
57 57
 
58 58
 
59
-    /**
60
-     * Sets the other model object's foreign key to this model object's primary key. Feel free to do this manually if
61
-     * you like.
62
-     *
63
-     * @param EE_Base_Class|int $this_obj_or_id
64
-     * @param EE_Base_Class|int $other_obj_or_id
65
-     * @param array             $extra_join_model_fields_n_values
66
-     * @return \EE_Base_Class
67
-     * @throws \EE_Error
68
-     */
69
-    public function add_relation_to($this_obj_or_id, $other_obj_or_id, $extra_join_model_fields_n_values = array())
70
-    {
71
-        $this_model_obj  = $this->get_this_model()->ensure_is_obj($this_obj_or_id, true);
72
-        $other_model_obj = $this->get_other_model()->ensure_is_obj($other_obj_or_id, true);
59
+	/**
60
+	 * Sets the other model object's foreign key to this model object's primary key. Feel free to do this manually if
61
+	 * you like.
62
+	 *
63
+	 * @param EE_Base_Class|int $this_obj_or_id
64
+	 * @param EE_Base_Class|int $other_obj_or_id
65
+	 * @param array             $extra_join_model_fields_n_values
66
+	 * @return \EE_Base_Class
67
+	 * @throws \EE_Error
68
+	 */
69
+	public function add_relation_to($this_obj_or_id, $other_obj_or_id, $extra_join_model_fields_n_values = array())
70
+	{
71
+		$this_model_obj  = $this->get_this_model()->ensure_is_obj($this_obj_or_id, true);
72
+		$other_model_obj = $this->get_other_model()->ensure_is_obj($other_obj_or_id, true);
73 73
 
74
-        //find the field on the other model which is a foreign key to this model
75
-        $fk_field_on_other_model = $this->get_other_model()->get_foreign_key_to($this->get_this_model()->get_this_model_name());
76
-        if ($other_model_obj->get($fk_field_on_other_model->get_name()) != $this_model_obj->ID()) {
77
-            //set that field on the other model to this model's ID
78
-            $other_model_obj->set($fk_field_on_other_model->get_name(), $this_model_obj->ID());
79
-            $other_model_obj->save();
80
-        }
81
-        return $other_model_obj;
82
-    }
74
+		//find the field on the other model which is a foreign key to this model
75
+		$fk_field_on_other_model = $this->get_other_model()->get_foreign_key_to($this->get_this_model()->get_this_model_name());
76
+		if ($other_model_obj->get($fk_field_on_other_model->get_name()) != $this_model_obj->ID()) {
77
+			//set that field on the other model to this model's ID
78
+			$other_model_obj->set($fk_field_on_other_model->get_name(), $this_model_obj->ID());
79
+			$other_model_obj->save();
80
+		}
81
+		return $other_model_obj;
82
+	}
83 83
 
84 84
 
85
-    /**
86
-     * Sets the other model object's foreign key to its default, instead of pointing to this model object.
87
-     * If $other_obj_or_id doesn't have any other relations, this function is essentially orphaning it
88
-     *
89
-     * @param EE_Base_Class|int $this_obj_or_id
90
-     * @param EE_Base_Class|int $other_obj_or_id
91
-     * @param array             $where_query
92
-     * @return \EE_Base_Class
93
-     * @throws \EE_Error
94
-     */
95
-    public function remove_relation_to($this_obj_or_id, $other_obj_or_id, $where_query = array())
96
-    {
97
-        $other_model_obj = $this->get_other_model()->ensure_is_obj($other_obj_or_id, true);
98
-        //find the field on the other model which is a foreign key to this model
99
-        $fk_field_on_other_model = $this->get_other_model()->get_foreign_key_to($this->get_this_model()->get_this_model_name());
100
-        //set that field on the other model to this model's ID
101
-        $other_model_obj->set($fk_field_on_other_model->get_name(), null, true);
102
-        $other_model_obj->save();
103
-        return $other_model_obj;
104
-    }
85
+	/**
86
+	 * Sets the other model object's foreign key to its default, instead of pointing to this model object.
87
+	 * If $other_obj_or_id doesn't have any other relations, this function is essentially orphaning it
88
+	 *
89
+	 * @param EE_Base_Class|int $this_obj_or_id
90
+	 * @param EE_Base_Class|int $other_obj_or_id
91
+	 * @param array             $where_query
92
+	 * @return \EE_Base_Class
93
+	 * @throws \EE_Error
94
+	 */
95
+	public function remove_relation_to($this_obj_or_id, $other_obj_or_id, $where_query = array())
96
+	{
97
+		$other_model_obj = $this->get_other_model()->ensure_is_obj($other_obj_or_id, true);
98
+		//find the field on the other model which is a foreign key to this model
99
+		$fk_field_on_other_model = $this->get_other_model()->get_foreign_key_to($this->get_this_model()->get_this_model_name());
100
+		//set that field on the other model to this model's ID
101
+		$other_model_obj->set($fk_field_on_other_model->get_name(), null, true);
102
+		$other_model_obj->save();
103
+		return $other_model_obj;
104
+	}
105 105
 }
Please login to merge, or discard this patch.
core/db_models/relations/EE_Has_Many_Any_Relation.php 2 patches
Indentation   +73 added lines, -73 removed lines patch added patch discarded remove patch
@@ -22,83 +22,83 @@
 block discarded – undo
22 22
 class EE_Has_Many_Any_Relation extends EE_Has_Many_Relation
23 23
 {
24 24
 
25
-    /**
26
-     * Gets the SQL string for performing the join between this model and the other model.
27
-     *
28
-     * @param string $model_relation_chain like 'Event.Event_Venue.Venue'
29
-     * @return string of SQL, eg "LEFT JOIN table_name AS table_alias ON this_model_primary_table.pk =
30
-     *                other_model_primary_table.fk" etc
31
-     * @throws \EE_Error
32
-     */
33
-    public function get_join_statement($model_relation_chain)
34
-    {
35
-        //create the sql string like
36
-        // LEFT JOIN other_table AS table_alias ON this_table_alias.pk = other_table_alias.fk extra_join_conditions
37
-        $this_table_pk_field   = $this->get_this_model()->get_primary_key_field();
38
-        $other_table_fk_field  = $this->get_other_model()->get_foreign_key_to($this->get_this_model()->get_this_model_name());
39
-        $pk_table_alias        = EE_Model_Parser::extract_table_alias_model_relation_chain_prefix($model_relation_chain,
40
-                $this->get_this_model()->get_this_model_name()) . $this_table_pk_field->get_table_alias();
41
-        $fk_table_alias        = EE_Model_Parser::extract_table_alias_model_relation_chain_prefix($model_relation_chain,
42
-                $this->get_other_model()->get_this_model_name()) . $other_table_fk_field->get_table_alias();
43
-        $fk_table              = $this->get_other_model()->get_table_for_alias($fk_table_alias);
44
-        $field_with_model_name = $this->get_other_model()->get_field_containing_related_model_name();
25
+	/**
26
+	 * Gets the SQL string for performing the join between this model and the other model.
27
+	 *
28
+	 * @param string $model_relation_chain like 'Event.Event_Venue.Venue'
29
+	 * @return string of SQL, eg "LEFT JOIN table_name AS table_alias ON this_model_primary_table.pk =
30
+	 *                other_model_primary_table.fk" etc
31
+	 * @throws \EE_Error
32
+	 */
33
+	public function get_join_statement($model_relation_chain)
34
+	{
35
+		//create the sql string like
36
+		// LEFT JOIN other_table AS table_alias ON this_table_alias.pk = other_table_alias.fk extra_join_conditions
37
+		$this_table_pk_field   = $this->get_this_model()->get_primary_key_field();
38
+		$other_table_fk_field  = $this->get_other_model()->get_foreign_key_to($this->get_this_model()->get_this_model_name());
39
+		$pk_table_alias        = EE_Model_Parser::extract_table_alias_model_relation_chain_prefix($model_relation_chain,
40
+				$this->get_this_model()->get_this_model_name()) . $this_table_pk_field->get_table_alias();
41
+		$fk_table_alias        = EE_Model_Parser::extract_table_alias_model_relation_chain_prefix($model_relation_chain,
42
+				$this->get_other_model()->get_this_model_name()) . $other_table_fk_field->get_table_alias();
43
+		$fk_table              = $this->get_other_model()->get_table_for_alias($fk_table_alias);
44
+		$field_with_model_name = $this->get_other_model()->get_field_containing_related_model_name();
45 45
 
46
-        return $this->_left_join($fk_table,
47
-                $fk_table_alias,
48
-                $other_table_fk_field->get_table_column(),
49
-                $pk_table_alias,
50
-                $this_table_pk_field->get_table_column(),
51
-                $fk_table_alias . '.' . $field_with_model_name->get_table_column() . "='" . $this->get_this_model()->get_this_model_name() . "'")
52
-               . $this->get_other_model()->_construct_internal_join_to_table_with_alias($fk_table_alias);
53
-    }
46
+		return $this->_left_join($fk_table,
47
+				$fk_table_alias,
48
+				$other_table_fk_field->get_table_column(),
49
+				$pk_table_alias,
50
+				$this_table_pk_field->get_table_column(),
51
+				$fk_table_alias . '.' . $field_with_model_name->get_table_column() . "='" . $this->get_this_model()->get_this_model_name() . "'")
52
+			   . $this->get_other_model()->_construct_internal_join_to_table_with_alias($fk_table_alias);
53
+	}
54 54
 
55 55
 
56
-    /**
57
-     * Sets the other model object's foreign key to this model object's primary key. Feel free to do this manually if
58
-     * you like.
59
-     *
60
-     * @param EE_Base_Class|int $this_obj_or_id
61
-     * @param EE_Base_Class|int $other_obj_or_id
62
-     * @param array             $extra_join_model_fields_n_values
63
-     * @return \EE_Base_Class
64
-     * @throws \EE_Error
65
-     */
66
-    public function add_relation_to($this_obj_or_id, $other_obj_or_id, $extra_join_model_fields_n_values = array())
67
-    {
68
-        $this_model_obj  = $this->get_this_model()->ensure_is_obj($this_obj_or_id, true);
69
-        $other_model_obj = $this->get_other_model()->ensure_is_obj($other_obj_or_id, true);
56
+	/**
57
+	 * Sets the other model object's foreign key to this model object's primary key. Feel free to do this manually if
58
+	 * you like.
59
+	 *
60
+	 * @param EE_Base_Class|int $this_obj_or_id
61
+	 * @param EE_Base_Class|int $other_obj_or_id
62
+	 * @param array             $extra_join_model_fields_n_values
63
+	 * @return \EE_Base_Class
64
+	 * @throws \EE_Error
65
+	 */
66
+	public function add_relation_to($this_obj_or_id, $other_obj_or_id, $extra_join_model_fields_n_values = array())
67
+	{
68
+		$this_model_obj  = $this->get_this_model()->ensure_is_obj($this_obj_or_id, true);
69
+		$other_model_obj = $this->get_other_model()->ensure_is_obj($other_obj_or_id, true);
70 70
 
71
-        //find the field on the other model which is a foreign key to this model
72
-        $fk_field_on_other_model = $this->get_other_model()->get_foreign_key_to($this->get_this_model()->get_this_model_name());
73
-        //set that field on the other model to this model's ID
74
-        $other_model_obj->set($fk_field_on_other_model->get_name(), $this_model_obj->ID());
75
-        $other_model_obj->set($this->get_other_model()->get_field_containing_related_model_name()->get_name(),
76
-            $this->get_this_model()->get_this_model_name());
77
-        $other_model_obj->save();
78
-        return $other_model_obj;
79
-    }
71
+		//find the field on the other model which is a foreign key to this model
72
+		$fk_field_on_other_model = $this->get_other_model()->get_foreign_key_to($this->get_this_model()->get_this_model_name());
73
+		//set that field on the other model to this model's ID
74
+		$other_model_obj->set($fk_field_on_other_model->get_name(), $this_model_obj->ID());
75
+		$other_model_obj->set($this->get_other_model()->get_field_containing_related_model_name()->get_name(),
76
+			$this->get_this_model()->get_this_model_name());
77
+		$other_model_obj->save();
78
+		return $other_model_obj;
79
+	}
80 80
 
81 81
 
82
-    /**
83
-     * Sets the other model object's foreign key to its default, instead of pointing to this model object.
84
-     * If $other_obj_or_id doesn't have any other relations, this function is essentially orphaning it
85
-     *
86
-     * @param EE_Base_Class|int $this_obj_or_id
87
-     * @param EE_Base_Class|int $other_obj_or_id
88
-     * @param array             $where_query
89
-     * @return \EE_Base_Class
90
-     * @throws \EE_Error
91
-     */
92
-    public function remove_relation_to($this_obj_or_id, $other_obj_or_id, $where_query = array())
93
-    {
94
-        $other_model_obj = $this->get_other_model()->ensure_is_obj($other_obj_or_id, true);
95
-        //find the field on the other model which is a foreign key to this model
96
-        $fk_field_on_other_model = $this->get_other_model()->get_foreign_key_to($this->get_this_model()->get_this_model_name());
97
-        //set that field on the other model to this model's ID
98
-        $other_model_obj->set($fk_field_on_other_model->get_name(), null, true);
99
-        $other_model_obj->set($this->get_other_model()->get_field_containing_related_model_name()->get_name(), null,
100
-            true);
101
-        $other_model_obj->save();
102
-        return $other_model_obj;
103
-    }
82
+	/**
83
+	 * Sets the other model object's foreign key to its default, instead of pointing to this model object.
84
+	 * If $other_obj_or_id doesn't have any other relations, this function is essentially orphaning it
85
+	 *
86
+	 * @param EE_Base_Class|int $this_obj_or_id
87
+	 * @param EE_Base_Class|int $other_obj_or_id
88
+	 * @param array             $where_query
89
+	 * @return \EE_Base_Class
90
+	 * @throws \EE_Error
91
+	 */
92
+	public function remove_relation_to($this_obj_or_id, $other_obj_or_id, $where_query = array())
93
+	{
94
+		$other_model_obj = $this->get_other_model()->ensure_is_obj($other_obj_or_id, true);
95
+		//find the field on the other model which is a foreign key to this model
96
+		$fk_field_on_other_model = $this->get_other_model()->get_foreign_key_to($this->get_this_model()->get_this_model_name());
97
+		//set that field on the other model to this model's ID
98
+		$other_model_obj->set($fk_field_on_other_model->get_name(), null, true);
99
+		$other_model_obj->set($this->get_other_model()->get_field_containing_related_model_name()->get_name(), null,
100
+			true);
101
+		$other_model_obj->save();
102
+		return $other_model_obj;
103
+	}
104 104
 }
Please login to merge, or discard this patch.
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -4,7 +4,7 @@  discard block
 block discarded – undo
4 4
 /*
5 5
  *
6 6
  */
7
-require_once(EE_MODELS . 'relations/EE_Model_Relation_Base.php');
7
+require_once(EE_MODELS.'relations/EE_Model_Relation_Base.php');
8 8
 
9 9
 
10 10
 /**
@@ -37,9 +37,9 @@  discard block
 block discarded – undo
37 37
         $this_table_pk_field   = $this->get_this_model()->get_primary_key_field();
38 38
         $other_table_fk_field  = $this->get_other_model()->get_foreign_key_to($this->get_this_model()->get_this_model_name());
39 39
         $pk_table_alias        = EE_Model_Parser::extract_table_alias_model_relation_chain_prefix($model_relation_chain,
40
-                $this->get_this_model()->get_this_model_name()) . $this_table_pk_field->get_table_alias();
40
+                $this->get_this_model()->get_this_model_name()).$this_table_pk_field->get_table_alias();
41 41
         $fk_table_alias        = EE_Model_Parser::extract_table_alias_model_relation_chain_prefix($model_relation_chain,
42
-                $this->get_other_model()->get_this_model_name()) . $other_table_fk_field->get_table_alias();
42
+                $this->get_other_model()->get_this_model_name()).$other_table_fk_field->get_table_alias();
43 43
         $fk_table              = $this->get_other_model()->get_table_for_alias($fk_table_alias);
44 44
         $field_with_model_name = $this->get_other_model()->get_field_containing_related_model_name();
45 45
 
@@ -48,7 +48,7 @@  discard block
 block discarded – undo
48 48
                 $other_table_fk_field->get_table_column(),
49 49
                 $pk_table_alias,
50 50
                 $this_table_pk_field->get_table_column(),
51
-                $fk_table_alias . '.' . $field_with_model_name->get_table_column() . "='" . $this->get_this_model()->get_this_model_name() . "'")
51
+                $fk_table_alias.'.'.$field_with_model_name->get_table_column()."='".$this->get_this_model()->get_this_model_name()."'")
52 52
                . $this->get_other_model()->_construct_internal_join_to_table_with_alias($fk_table_alias);
53 53
     }
54 54
 
Please login to merge, or discard this patch.