@@ -18,61 +18,61 @@ |
||
18 | 18 | */ |
19 | 19 | class RestIncomingQueryParamContext |
20 | 20 | { |
21 | - /** |
|
22 | - * @var EEM_Base |
|
23 | - */ |
|
24 | - private $model; |
|
25 | - /** |
|
26 | - * @var string |
|
27 | - */ |
|
28 | - private $requested_version; |
|
29 | - /** |
|
30 | - * @var boolean |
|
31 | - */ |
|
32 | - private $writing; |
|
21 | + /** |
|
22 | + * @var EEM_Base |
|
23 | + */ |
|
24 | + private $model; |
|
25 | + /** |
|
26 | + * @var string |
|
27 | + */ |
|
28 | + private $requested_version; |
|
29 | + /** |
|
30 | + * @var boolean |
|
31 | + */ |
|
32 | + private $writing; |
|
33 | 33 | |
34 | - /** |
|
35 | - * RestIncomingQueryParamContext constructor. |
|
36 | - * @param EEM_Base $model |
|
37 | - * @param string $requested_version |
|
38 | - * @param boolean $writing |
|
39 | - */ |
|
40 | - public function __construct(EEM_Base $model, $requested_version, $writing) |
|
41 | - { |
|
42 | - $this->model = $model; |
|
43 | - $this->requested_version = (string) $requested_version; |
|
44 | - $this->writing = filter_var($writing, FILTER_VALIDATE_BOOLEAN); |
|
45 | - } |
|
34 | + /** |
|
35 | + * RestIncomingQueryParamContext constructor. |
|
36 | + * @param EEM_Base $model |
|
37 | + * @param string $requested_version |
|
38 | + * @param boolean $writing |
|
39 | + */ |
|
40 | + public function __construct(EEM_Base $model, $requested_version, $writing) |
|
41 | + { |
|
42 | + $this->model = $model; |
|
43 | + $this->requested_version = (string) $requested_version; |
|
44 | + $this->writing = filter_var($writing, FILTER_VALIDATE_BOOLEAN); |
|
45 | + } |
|
46 | 46 | |
47 | - /** |
|
48 | - * Gets the model currently being requested, eg class EEM_Event |
|
49 | - * @since 4.9.72.p |
|
50 | - * @return EEM_Base |
|
51 | - */ |
|
52 | - public function getModel() |
|
53 | - { |
|
54 | - return $this->model; |
|
55 | - } |
|
47 | + /** |
|
48 | + * Gets the model currently being requested, eg class EEM_Event |
|
49 | + * @since 4.9.72.p |
|
50 | + * @return EEM_Base |
|
51 | + */ |
|
52 | + public function getModel() |
|
53 | + { |
|
54 | + return $this->model; |
|
55 | + } |
|
56 | 56 | |
57 | - /** |
|
58 | - * Gets the version being requested, eg 4.8.36 |
|
59 | - * @since 4.9.72.p |
|
60 | - * @return string |
|
61 | - */ |
|
62 | - public function getRequestedVersion() |
|
63 | - { |
|
64 | - return $this->requested_version; |
|
65 | - } |
|
57 | + /** |
|
58 | + * Gets the version being requested, eg 4.8.36 |
|
59 | + * @since 4.9.72.p |
|
60 | + * @return string |
|
61 | + */ |
|
62 | + public function getRequestedVersion() |
|
63 | + { |
|
64 | + return $this->requested_version; |
|
65 | + } |
|
66 | 66 | |
67 | - /** |
|
68 | - * Gets if the current request is for a writing request or just simple read |
|
69 | - * @since 4.9.72.p |
|
70 | - * @return bool |
|
71 | - */ |
|
72 | - public function isWriting() |
|
73 | - { |
|
74 | - return $this->writing; |
|
75 | - } |
|
67 | + /** |
|
68 | + * Gets if the current request is for a writing request or just simple read |
|
69 | + * @since 4.9.72.p |
|
70 | + * @return bool |
|
71 | + */ |
|
72 | + public function isWriting() |
|
73 | + { |
|
74 | + return $this->writing; |
|
75 | + } |
|
76 | 76 | } |
77 | 77 | // End of file RestIncomingQueryParamContext.php |
78 | 78 | // Location: EventEspresso\core\libraries\rest_api/RestIncomingQueryParamContext.php |
@@ -4,7 +4,7 @@ discard block |
||
4 | 4 | * Note: this file should only be required right before calling the function the shim is for. This is to ensure that |
5 | 5 | * it does not override any existing definition of the function in WP. |
6 | 6 | */ |
7 | -if (! function_exists('get_preview_post_link')) { |
|
7 | +if ( ! function_exists('get_preview_post_link')) { |
|
8 | 8 | /** |
9 | 9 | * Function was added in WordPress 4.4.0 |
10 | 10 | * |
@@ -16,13 +16,13 @@ discard block |
||
16 | 16 | function get_preview_post_link($post = null, $query_args = array(), $preview_link = '') |
17 | 17 | { |
18 | 18 | $post = get_post($post); |
19 | - if (! $post) { |
|
19 | + if ( ! $post) { |
|
20 | 20 | return ''; |
21 | 21 | } |
22 | 22 | |
23 | 23 | $post_type_object = get_post_type_object($post->post_type); |
24 | 24 | if (is_post_type_viewable($post_type_object)) { |
25 | - if (! $preview_link) { |
|
25 | + if ( ! $preview_link) { |
|
26 | 26 | $preview_link = set_url_scheme(get_permalink($post)); |
27 | 27 | } |
28 | 28 | |
@@ -42,12 +42,12 @@ discard block |
||
42 | 42 | } |
43 | 43 | } |
44 | 44 | |
45 | -if (! function_exists('is_post_type_viewable')) { |
|
45 | +if ( ! function_exists('is_post_type_viewable')) { |
|
46 | 46 | function is_post_type_viewable($post_type) |
47 | 47 | { |
48 | 48 | if (is_scalar($post_type)) { |
49 | 49 | $post_type = get_post_type_object($post_type); |
50 | - if (! $post_type) { |
|
50 | + if ( ! $post_type) { |
|
51 | 51 | return false; |
52 | 52 | } |
53 | 53 | } |
@@ -56,7 +56,7 @@ discard block |
||
56 | 56 | } |
57 | 57 | } |
58 | 58 | |
59 | -if (! function_exists('wp_scripts_get_suffix')) { |
|
59 | +if ( ! function_exists('wp_scripts_get_suffix')) { |
|
60 | 60 | /** |
61 | 61 | * Returns the suffix that can be used for the scripts. |
62 | 62 | * |
@@ -73,11 +73,11 @@ discard block |
||
73 | 73 | static $suffixes; |
74 | 74 | |
75 | 75 | if ($suffixes === null) { |
76 | - include(ABSPATH . WPINC . '/version.php'); // include an unmodified $wp_version |
|
76 | + include(ABSPATH.WPINC.'/version.php'); // include an unmodified $wp_version |
|
77 | 77 | |
78 | 78 | $develop_src = false !== strpos($wp_version, '-src'); |
79 | 79 | |
80 | - if (! defined('SCRIPT_DEBUG')) { |
|
80 | + if ( ! defined('SCRIPT_DEBUG')) { |
|
81 | 81 | define('SCRIPT_DEBUG', $develop_src); |
82 | 82 | } |
83 | 83 | $suffix = SCRIPT_DEBUG ? '' : '.min'; |
@@ -94,7 +94,7 @@ discard block |
||
94 | 94 | } |
95 | 95 | } |
96 | 96 | |
97 | -if (! function_exists('get_user_locale')) { |
|
97 | +if ( ! function_exists('get_user_locale')) { |
|
98 | 98 | /** |
99 | 99 | * Shim for get_user_locale that was added in WP 4.7.0 |
100 | 100 | * |
@@ -5,105 +5,105 @@ |
||
5 | 5 | * it does not override any existing definition of the function in WP. |
6 | 6 | */ |
7 | 7 | if (! function_exists('get_preview_post_link')) { |
8 | - /** |
|
9 | - * Function was added in WordPress 4.4.0 |
|
10 | - * |
|
11 | - * @param null $post |
|
12 | - * @param array $query_args |
|
13 | - * @param string $preview_link |
|
14 | - * @return mixed |
|
15 | - */ |
|
16 | - function get_preview_post_link($post = null, $query_args = array(), $preview_link = '') |
|
17 | - { |
|
18 | - $post = get_post($post); |
|
19 | - if (! $post) { |
|
20 | - return ''; |
|
21 | - } |
|
8 | + /** |
|
9 | + * Function was added in WordPress 4.4.0 |
|
10 | + * |
|
11 | + * @param null $post |
|
12 | + * @param array $query_args |
|
13 | + * @param string $preview_link |
|
14 | + * @return mixed |
|
15 | + */ |
|
16 | + function get_preview_post_link($post = null, $query_args = array(), $preview_link = '') |
|
17 | + { |
|
18 | + $post = get_post($post); |
|
19 | + if (! $post) { |
|
20 | + return ''; |
|
21 | + } |
|
22 | 22 | |
23 | - $post_type_object = get_post_type_object($post->post_type); |
|
24 | - if (is_post_type_viewable($post_type_object)) { |
|
25 | - if (! $preview_link) { |
|
26 | - $preview_link = set_url_scheme(get_permalink($post)); |
|
27 | - } |
|
23 | + $post_type_object = get_post_type_object($post->post_type); |
|
24 | + if (is_post_type_viewable($post_type_object)) { |
|
25 | + if (! $preview_link) { |
|
26 | + $preview_link = set_url_scheme(get_permalink($post)); |
|
27 | + } |
|
28 | 28 | |
29 | - $query_args['preview'] = 'true'; |
|
30 | - $preview_link = add_query_arg($query_args, $preview_link); |
|
31 | - } |
|
29 | + $query_args['preview'] = 'true'; |
|
30 | + $preview_link = add_query_arg($query_args, $preview_link); |
|
31 | + } |
|
32 | 32 | |
33 | - /** |
|
34 | - * Filters the URL used for a post preview. |
|
35 | - * |
|
36 | - * @since 2.0.5 |
|
37 | - * @since 4.0.0 Added the `$post` parameter. |
|
38 | - * @param string $preview_link URL used for the post preview. |
|
39 | - * @param WP_Post $post Post object. |
|
40 | - */ |
|
41 | - return apply_filters('preview_post_link', $preview_link, $post); |
|
42 | - } |
|
33 | + /** |
|
34 | + * Filters the URL used for a post preview. |
|
35 | + * |
|
36 | + * @since 2.0.5 |
|
37 | + * @since 4.0.0 Added the `$post` parameter. |
|
38 | + * @param string $preview_link URL used for the post preview. |
|
39 | + * @param WP_Post $post Post object. |
|
40 | + */ |
|
41 | + return apply_filters('preview_post_link', $preview_link, $post); |
|
42 | + } |
|
43 | 43 | } |
44 | 44 | |
45 | 45 | if (! function_exists('is_post_type_viewable')) { |
46 | - function is_post_type_viewable($post_type) |
|
47 | - { |
|
48 | - if (is_scalar($post_type)) { |
|
49 | - $post_type = get_post_type_object($post_type); |
|
50 | - if (! $post_type) { |
|
51 | - return false; |
|
52 | - } |
|
53 | - } |
|
46 | + function is_post_type_viewable($post_type) |
|
47 | + { |
|
48 | + if (is_scalar($post_type)) { |
|
49 | + $post_type = get_post_type_object($post_type); |
|
50 | + if (! $post_type) { |
|
51 | + return false; |
|
52 | + } |
|
53 | + } |
|
54 | 54 | |
55 | - return $post_type->publicly_queryable || ($post_type->_builtin && $post_type->public); |
|
56 | - } |
|
55 | + return $post_type->publicly_queryable || ($post_type->_builtin && $post_type->public); |
|
56 | + } |
|
57 | 57 | } |
58 | 58 | |
59 | 59 | if (! function_exists('wp_scripts_get_suffix')) { |
60 | - /** |
|
61 | - * Returns the suffix that can be used for the scripts. |
|
62 | - * |
|
63 | - * There are two suffix types, the normal one and the dev suffix. |
|
64 | - * |
|
65 | - * @since 5.0.0 |
|
66 | - * |
|
67 | - * @param string $type The type of suffix to retrieve. |
|
68 | - * @return string The script suffix. |
|
69 | - */ |
|
70 | - function wp_scripts_get_suffix($type = '') |
|
71 | - { |
|
72 | - global $wp_version; |
|
73 | - static $suffixes; |
|
60 | + /** |
|
61 | + * Returns the suffix that can be used for the scripts. |
|
62 | + * |
|
63 | + * There are two suffix types, the normal one and the dev suffix. |
|
64 | + * |
|
65 | + * @since 5.0.0 |
|
66 | + * |
|
67 | + * @param string $type The type of suffix to retrieve. |
|
68 | + * @return string The script suffix. |
|
69 | + */ |
|
70 | + function wp_scripts_get_suffix($type = '') |
|
71 | + { |
|
72 | + global $wp_version; |
|
73 | + static $suffixes; |
|
74 | 74 | |
75 | - if ($suffixes === null) { |
|
76 | - include(ABSPATH . WPINC . '/version.php'); // include an unmodified $wp_version |
|
75 | + if ($suffixes === null) { |
|
76 | + include(ABSPATH . WPINC . '/version.php'); // include an unmodified $wp_version |
|
77 | 77 | |
78 | - $develop_src = false !== strpos($wp_version, '-src'); |
|
78 | + $develop_src = false !== strpos($wp_version, '-src'); |
|
79 | 79 | |
80 | - if (! defined('SCRIPT_DEBUG')) { |
|
81 | - define('SCRIPT_DEBUG', $develop_src); |
|
82 | - } |
|
83 | - $suffix = SCRIPT_DEBUG ? '' : '.min'; |
|
84 | - $dev_suffix = $develop_src ? '' : '.min'; |
|
80 | + if (! defined('SCRIPT_DEBUG')) { |
|
81 | + define('SCRIPT_DEBUG', $develop_src); |
|
82 | + } |
|
83 | + $suffix = SCRIPT_DEBUG ? '' : '.min'; |
|
84 | + $dev_suffix = $develop_src ? '' : '.min'; |
|
85 | 85 | |
86 | - $suffixes = array('suffix' => $suffix, 'dev_suffix' => $dev_suffix); |
|
87 | - } |
|
86 | + $suffixes = array('suffix' => $suffix, 'dev_suffix' => $dev_suffix); |
|
87 | + } |
|
88 | 88 | |
89 | - if ($type === 'dev') { |
|
90 | - return $suffixes['dev_suffix']; |
|
91 | - } |
|
89 | + if ($type === 'dev') { |
|
90 | + return $suffixes['dev_suffix']; |
|
91 | + } |
|
92 | 92 | |
93 | - return $suffixes['suffix']; |
|
94 | - } |
|
93 | + return $suffixes['suffix']; |
|
94 | + } |
|
95 | 95 | } |
96 | 96 | |
97 | 97 | if (! function_exists('get_user_locale')) { |
98 | - /** |
|
99 | - * Shim for get_user_locale that was added in WP 4.7.0 |
|
100 | - * |
|
101 | - * @param int $user_id |
|
102 | - * @return string |
|
103 | - * @since 4.9.73.p |
|
104 | - */ |
|
105 | - function get_user_locale($user_id = 0) |
|
106 | - { |
|
107 | - return get_locale(); |
|
108 | - } |
|
98 | + /** |
|
99 | + * Shim for get_user_locale that was added in WP 4.7.0 |
|
100 | + * |
|
101 | + * @param int $user_id |
|
102 | + * @return string |
|
103 | + * @since 4.9.73.p |
|
104 | + */ |
|
105 | + function get_user_locale($user_id = 0) |
|
106 | + { |
|
107 | + return get_locale(); |
|
108 | + } |
|
109 | 109 | } |
110 | 110 | \ No newline at end of file |
@@ -65,18 +65,18 @@ discard block |
||
65 | 65 | // remember the model relation chain to the JOIN model, because we'll |
66 | 66 | // need it for get_join_statement() |
67 | 67 | $this->_model_relation_chain_to_join_model = $model_relation_chain; |
68 | - $this_table_pk_field = $this->get_this_model()->get_primary_key_field();// get_foreign_key_to($this->get_other_model()->get_this_model_name()); |
|
68 | + $this_table_pk_field = $this->get_this_model()->get_primary_key_field(); // get_foreign_key_to($this->get_other_model()->get_this_model_name()); |
|
69 | 69 | $join_table_fk_field_to_this_table = $this->get_join_model()->get_foreign_key_to($this->get_this_model()->get_this_model_name()); |
70 | 70 | $this_table_alias = EE_Model_Parser::extract_table_alias_model_relation_chain_prefix( |
71 | 71 | $model_relation_chain, |
72 | 72 | $this->get_this_model()->get_this_model_name() |
73 | - ) . $this_table_pk_field->get_table_alias(); |
|
73 | + ).$this_table_pk_field->get_table_alias(); |
|
74 | 74 | |
75 | 75 | $join_table_alias = EE_Model_Parser::extract_table_alias_model_relation_chain_prefix( |
76 | 76 | $model_relation_chain, |
77 | 77 | $this->get_join_model()->get_this_model_name() |
78 | - ) . $join_table_fk_field_to_this_table->get_table_alias(); |
|
79 | - $join_table = $this->get_join_model()->get_table_for_alias($join_table_alias); |
|
78 | + ).$join_table_fk_field_to_this_table->get_table_alias(); |
|
79 | + $join_table = $this->get_join_model()->get_table_for_alias($join_table_alias); |
|
80 | 80 | // phew! ok, we have all the info we need, now we can create the SQL join string |
81 | 81 | $SQL = $this->_left_join( |
82 | 82 | $join_table, |
@@ -84,7 +84,7 @@ discard block |
||
84 | 84 | $join_table_fk_field_to_this_table->get_table_column(), |
85 | 85 | $this_table_alias, |
86 | 86 | $this_table_pk_field->get_table_column() |
87 | - ) . $this->get_join_model()->_construct_internal_join_to_table_with_alias($join_table_alias); |
|
87 | + ).$this->get_join_model()->_construct_internal_join_to_table_with_alias($join_table_alias); |
|
88 | 88 | |
89 | 89 | return $SQL; |
90 | 90 | } |
@@ -113,14 +113,14 @@ discard block |
||
113 | 113 | $join_table_alias = EE_Model_Parser::extract_table_alias_model_relation_chain_prefix( |
114 | 114 | $this->_model_relation_chain_to_join_model, |
115 | 115 | $this->get_join_model()->get_this_model_name() |
116 | - ) . $join_table_fk_field_to_this_table->get_table_alias(); |
|
116 | + ).$join_table_fk_field_to_this_table->get_table_alias(); |
|
117 | 117 | $other_table_pk_field = $this->get_other_model()->get_primary_key_field(); |
118 | 118 | $join_table_fk_field_to_other_table = $this->get_join_model()->get_foreign_key_to($this->get_other_model()->get_this_model_name()); |
119 | 119 | $other_table_alias = EE_Model_Parser::extract_table_alias_model_relation_chain_prefix( |
120 | 120 | $model_relation_chain, |
121 | 121 | $this->get_other_model()->get_this_model_name() |
122 | - ) . $other_table_pk_field->get_table_alias(); |
|
123 | - $other_table = $this->get_other_model()->get_table_for_alias($other_table_alias); |
|
122 | + ).$other_table_pk_field->get_table_alias(); |
|
123 | + $other_table = $this->get_other_model()->get_table_for_alias($other_table_alias); |
|
124 | 124 | |
125 | 125 | $SQL = $this->_left_join( |
126 | 126 | $other_table, |
@@ -128,7 +128,7 @@ discard block |
||
128 | 128 | $other_table_pk_field->get_table_column(), |
129 | 129 | $join_table_alias, |
130 | 130 | $join_table_fk_field_to_other_table->get_table_column() |
131 | - ) . $this->get_other_model()->_construct_internal_join_to_table_with_alias($other_table_alias); |
|
131 | + ).$this->get_other_model()->_construct_internal_join_to_table_with_alias($other_table_alias); |
|
132 | 132 | return $SQL; |
133 | 133 | } |
134 | 134 | |
@@ -161,17 +161,17 @@ discard block |
||
161 | 161 | ); |
162 | 162 | |
163 | 163 | // if $where_query exists lets add them to the query_params. |
164 | - if (! empty($extra_join_model_fields_n_values)) { |
|
164 | + if ( ! empty($extra_join_model_fields_n_values)) { |
|
165 | 165 | // make sure we strip any of the join model names from the $where_query cause we don't need that in here (why? because client code may have used the same conditionals for get_all_related which DOES need the join model name) |
166 | 166 | // make sure we strip THIS models name from the query param |
167 | 167 | $parsed_query = array(); |
168 | 168 | foreach ($extra_join_model_fields_n_values as $query_param => $val) { |
169 | - $query_param = str_replace( |
|
170 | - $this->get_join_model()->get_this_model_name() . ".", |
|
169 | + $query_param = str_replace( |
|
170 | + $this->get_join_model()->get_this_model_name().".", |
|
171 | 171 | "", |
172 | 172 | $query_param |
173 | 173 | ); |
174 | - $parsed_query[ $query_param ] = $val; |
|
174 | + $parsed_query[$query_param] = $val; |
|
175 | 175 | } |
176 | 176 | $all_fields = array_merge($foreign_keys, $parsed_query); |
177 | 177 | } |
@@ -181,7 +181,7 @@ discard block |
||
181 | 181 | // new row. |
182 | 182 | // Again, if you want more sophisticated logic or insertions (handling more columns than just 2 foreign keys to |
183 | 183 | // the other tables) use the joining model directly! |
184 | - if (! $existing_entry_in_join_table) { |
|
184 | + if ( ! $existing_entry_in_join_table) { |
|
185 | 185 | $this->get_join_model()->insert($all_fields); |
186 | 186 | } else { |
187 | 187 | $this->get_join_model()->update( |
@@ -217,17 +217,17 @@ discard block |
||
217 | 217 | ); |
218 | 218 | |
219 | 219 | // if $where_query exists lets add them to the query_params. |
220 | - if (! empty($where_query)) { |
|
220 | + if ( ! empty($where_query)) { |
|
221 | 221 | // make sure we strip any of the join model names from the $where_query cause we don't need that in here (why? because client code may have used the same conditionals for get_all_related which DOES need the join model name) |
222 | 222 | // make sure we strip THIS models name from the query param |
223 | 223 | $parsed_query = array(); |
224 | 224 | foreach ($where_query as $query_param => $val) { |
225 | - $query_param = str_replace( |
|
226 | - $this->get_join_model()->get_this_model_name() . ".", |
|
225 | + $query_param = str_replace( |
|
226 | + $this->get_join_model()->get_this_model_name().".", |
|
227 | 227 | "", |
228 | 228 | $query_param |
229 | 229 | ); |
230 | - $parsed_query[ $query_param ] = $val; |
|
230 | + $parsed_query[$query_param] = $val; |
|
231 | 231 | } |
232 | 232 | $cols_n_values = array_merge($cols_n_values, $parsed_query); |
233 | 233 | } |
@@ -9,266 +9,266 @@ |
||
9 | 9 | */ |
10 | 10 | class EE_HABTM_Relation extends EE_Model_Relation_Base |
11 | 11 | { |
12 | - /** |
|
13 | - * Model which defines the relation between two other models. Eg, the EE_Event_Question_Group model, |
|
14 | - * which joins EE_Event and EE_Question_Group |
|
15 | - * |
|
16 | - * @var EEM_Base |
|
17 | - */ |
|
18 | - protected $_joining_model_name; |
|
12 | + /** |
|
13 | + * Model which defines the relation between two other models. Eg, the EE_Event_Question_Group model, |
|
14 | + * which joins EE_Event and EE_Question_Group |
|
15 | + * |
|
16 | + * @var EEM_Base |
|
17 | + */ |
|
18 | + protected $_joining_model_name; |
|
19 | 19 | |
20 | - protected $_model_relation_chain_to_join_model; |
|
20 | + protected $_model_relation_chain_to_join_model; |
|
21 | 21 | |
22 | 22 | |
23 | - /** |
|
24 | - * Object representing the relationship between two models. HasAndBelongsToMany relations always use a join-table |
|
25 | - * (and an ee joining-model.) This knows how to join the models, |
|
26 | - * get related models across the relation, and add-and-remove the relationships. |
|
27 | - * |
|
28 | - * @param bool $joining_model_name |
|
29 | - * @param boolean $block_deletes for this type of relation, we block by default for now. if there |
|
30 | - * are related models across this relation, block (prevent and add an |
|
31 | - * error) the deletion of this model |
|
32 | - * @param string $blocking_delete_error_message a customized error message on blocking deletes instead of the |
|
33 | - * default |
|
34 | - */ |
|
35 | - public function __construct($joining_model_name, $block_deletes = true, $blocking_delete_error_message = '') |
|
36 | - { |
|
37 | - $this->_joining_model_name = $joining_model_name; |
|
38 | - parent::__construct($block_deletes, $blocking_delete_error_message); |
|
39 | - } |
|
23 | + /** |
|
24 | + * Object representing the relationship between two models. HasAndBelongsToMany relations always use a join-table |
|
25 | + * (and an ee joining-model.) This knows how to join the models, |
|
26 | + * get related models across the relation, and add-and-remove the relationships. |
|
27 | + * |
|
28 | + * @param bool $joining_model_name |
|
29 | + * @param boolean $block_deletes for this type of relation, we block by default for now. if there |
|
30 | + * are related models across this relation, block (prevent and add an |
|
31 | + * error) the deletion of this model |
|
32 | + * @param string $blocking_delete_error_message a customized error message on blocking deletes instead of the |
|
33 | + * default |
|
34 | + */ |
|
35 | + public function __construct($joining_model_name, $block_deletes = true, $blocking_delete_error_message = '') |
|
36 | + { |
|
37 | + $this->_joining_model_name = $joining_model_name; |
|
38 | + parent::__construct($block_deletes, $blocking_delete_error_message); |
|
39 | + } |
|
40 | 40 | |
41 | - /** |
|
42 | - * Gets the joining model's object |
|
43 | - * |
|
44 | - * @return EEM_Base |
|
45 | - */ |
|
46 | - public function get_join_model() |
|
47 | - { |
|
48 | - return $this->_get_model($this->_joining_model_name); |
|
49 | - } |
|
41 | + /** |
|
42 | + * Gets the joining model's object |
|
43 | + * |
|
44 | + * @return EEM_Base |
|
45 | + */ |
|
46 | + public function get_join_model() |
|
47 | + { |
|
48 | + return $this->_get_model($this->_joining_model_name); |
|
49 | + } |
|
50 | 50 | |
51 | 51 | |
52 | - /** |
|
53 | - * Gets the SQL string for joining the main model's table containing the pk to the join table. Eg "LEFT JOIN |
|
54 | - * real_join_table AS join_table_alias ON this_table_alias.pk = join_table_alias.fk_to_this_table" |
|
55 | - * |
|
56 | - * @param string $model_relation_chain like 'Event.Event_Venue.Venue' |
|
57 | - * @return string of SQL |
|
58 | - * @throws \EE_Error |
|
59 | - */ |
|
60 | - public function get_join_to_intermediate_model_statement($model_relation_chain) |
|
61 | - { |
|
62 | - // create sql like |
|
63 | - // LEFT JOIN join_table AS join_table_alias ON this_table_alias.this_table_pk = join_table_alias.join_table_fk_to_this |
|
64 | - // LEFT JOIN other_table AS other_table_alias ON join_table_alias.join_table_fk_to_other = other_table_alias.other_table_pk |
|
65 | - // remember the model relation chain to the JOIN model, because we'll |
|
66 | - // need it for get_join_statement() |
|
67 | - $this->_model_relation_chain_to_join_model = $model_relation_chain; |
|
68 | - $this_table_pk_field = $this->get_this_model()->get_primary_key_field();// get_foreign_key_to($this->get_other_model()->get_this_model_name()); |
|
69 | - $join_table_fk_field_to_this_table = $this->get_join_model()->get_foreign_key_to($this->get_this_model()->get_this_model_name()); |
|
70 | - $this_table_alias = EE_Model_Parser::extract_table_alias_model_relation_chain_prefix( |
|
71 | - $model_relation_chain, |
|
72 | - $this->get_this_model()->get_this_model_name() |
|
73 | - ) . $this_table_pk_field->get_table_alias(); |
|
52 | + /** |
|
53 | + * Gets the SQL string for joining the main model's table containing the pk to the join table. Eg "LEFT JOIN |
|
54 | + * real_join_table AS join_table_alias ON this_table_alias.pk = join_table_alias.fk_to_this_table" |
|
55 | + * |
|
56 | + * @param string $model_relation_chain like 'Event.Event_Venue.Venue' |
|
57 | + * @return string of SQL |
|
58 | + * @throws \EE_Error |
|
59 | + */ |
|
60 | + public function get_join_to_intermediate_model_statement($model_relation_chain) |
|
61 | + { |
|
62 | + // create sql like |
|
63 | + // LEFT JOIN join_table AS join_table_alias ON this_table_alias.this_table_pk = join_table_alias.join_table_fk_to_this |
|
64 | + // LEFT JOIN other_table AS other_table_alias ON join_table_alias.join_table_fk_to_other = other_table_alias.other_table_pk |
|
65 | + // remember the model relation chain to the JOIN model, because we'll |
|
66 | + // need it for get_join_statement() |
|
67 | + $this->_model_relation_chain_to_join_model = $model_relation_chain; |
|
68 | + $this_table_pk_field = $this->get_this_model()->get_primary_key_field();// get_foreign_key_to($this->get_other_model()->get_this_model_name()); |
|
69 | + $join_table_fk_field_to_this_table = $this->get_join_model()->get_foreign_key_to($this->get_this_model()->get_this_model_name()); |
|
70 | + $this_table_alias = EE_Model_Parser::extract_table_alias_model_relation_chain_prefix( |
|
71 | + $model_relation_chain, |
|
72 | + $this->get_this_model()->get_this_model_name() |
|
73 | + ) . $this_table_pk_field->get_table_alias(); |
|
74 | 74 | |
75 | - $join_table_alias = EE_Model_Parser::extract_table_alias_model_relation_chain_prefix( |
|
76 | - $model_relation_chain, |
|
77 | - $this->get_join_model()->get_this_model_name() |
|
78 | - ) . $join_table_fk_field_to_this_table->get_table_alias(); |
|
79 | - $join_table = $this->get_join_model()->get_table_for_alias($join_table_alias); |
|
80 | - // phew! ok, we have all the info we need, now we can create the SQL join string |
|
81 | - $SQL = $this->_left_join( |
|
82 | - $join_table, |
|
83 | - $join_table_alias, |
|
84 | - $join_table_fk_field_to_this_table->get_table_column(), |
|
85 | - $this_table_alias, |
|
86 | - $this_table_pk_field->get_table_column() |
|
87 | - ) . $this->get_join_model()->_construct_internal_join_to_table_with_alias($join_table_alias); |
|
75 | + $join_table_alias = EE_Model_Parser::extract_table_alias_model_relation_chain_prefix( |
|
76 | + $model_relation_chain, |
|
77 | + $this->get_join_model()->get_this_model_name() |
|
78 | + ) . $join_table_fk_field_to_this_table->get_table_alias(); |
|
79 | + $join_table = $this->get_join_model()->get_table_for_alias($join_table_alias); |
|
80 | + // phew! ok, we have all the info we need, now we can create the SQL join string |
|
81 | + $SQL = $this->_left_join( |
|
82 | + $join_table, |
|
83 | + $join_table_alias, |
|
84 | + $join_table_fk_field_to_this_table->get_table_column(), |
|
85 | + $this_table_alias, |
|
86 | + $this_table_pk_field->get_table_column() |
|
87 | + ) . $this->get_join_model()->_construct_internal_join_to_table_with_alias($join_table_alias); |
|
88 | 88 | |
89 | - return $SQL; |
|
90 | - } |
|
89 | + return $SQL; |
|
90 | + } |
|
91 | 91 | |
92 | 92 | |
93 | - /** |
|
94 | - * Gets the SQL string for joining the join table to the other model's pk's table. Eg "LEFT JOIN real_other_table |
|
95 | - * AS other_table_alias ON join_table_alias.fk_to_other_table = other_table_alias.pk" If you want to join between |
|
96 | - * modelA -> joinModelAB -> modelB (eg, Event -> Event_Question_Group -> Question_Group), you should prepend the |
|
97 | - * result of this function with results from get_join_to_intermediate_model_statement(), so that you join first to |
|
98 | - * the intermediate join table, and then to the other model's pk's table |
|
99 | - * |
|
100 | - * @param string $model_relation_chain like 'Event.Event_Venue.Venue' |
|
101 | - * @return string of SQL |
|
102 | - * @throws \EE_Error |
|
103 | - */ |
|
104 | - public function get_join_statement($model_relation_chain) |
|
105 | - { |
|
106 | - if ($this->_model_relation_chain_to_join_model === null) { |
|
107 | - throw new EE_Error(sprintf(esc_html__( |
|
108 | - 'When using EE_HABTM_Relation to create a join, you must call get_join_to_intermediate_model_statement BEFORE get_join_statement', |
|
109 | - 'event_espresso' |
|
110 | - ))); |
|
111 | - } |
|
112 | - $join_table_fk_field_to_this_table = $this->get_join_model()->get_foreign_key_to($this->get_this_model()->get_this_model_name()); |
|
113 | - $join_table_alias = EE_Model_Parser::extract_table_alias_model_relation_chain_prefix( |
|
114 | - $this->_model_relation_chain_to_join_model, |
|
115 | - $this->get_join_model()->get_this_model_name() |
|
116 | - ) . $join_table_fk_field_to_this_table->get_table_alias(); |
|
117 | - $other_table_pk_field = $this->get_other_model()->get_primary_key_field(); |
|
118 | - $join_table_fk_field_to_other_table = $this->get_join_model()->get_foreign_key_to($this->get_other_model()->get_this_model_name()); |
|
119 | - $other_table_alias = EE_Model_Parser::extract_table_alias_model_relation_chain_prefix( |
|
120 | - $model_relation_chain, |
|
121 | - $this->get_other_model()->get_this_model_name() |
|
122 | - ) . $other_table_pk_field->get_table_alias(); |
|
123 | - $other_table = $this->get_other_model()->get_table_for_alias($other_table_alias); |
|
93 | + /** |
|
94 | + * Gets the SQL string for joining the join table to the other model's pk's table. Eg "LEFT JOIN real_other_table |
|
95 | + * AS other_table_alias ON join_table_alias.fk_to_other_table = other_table_alias.pk" If you want to join between |
|
96 | + * modelA -> joinModelAB -> modelB (eg, Event -> Event_Question_Group -> Question_Group), you should prepend the |
|
97 | + * result of this function with results from get_join_to_intermediate_model_statement(), so that you join first to |
|
98 | + * the intermediate join table, and then to the other model's pk's table |
|
99 | + * |
|
100 | + * @param string $model_relation_chain like 'Event.Event_Venue.Venue' |
|
101 | + * @return string of SQL |
|
102 | + * @throws \EE_Error |
|
103 | + */ |
|
104 | + public function get_join_statement($model_relation_chain) |
|
105 | + { |
|
106 | + if ($this->_model_relation_chain_to_join_model === null) { |
|
107 | + throw new EE_Error(sprintf(esc_html__( |
|
108 | + 'When using EE_HABTM_Relation to create a join, you must call get_join_to_intermediate_model_statement BEFORE get_join_statement', |
|
109 | + 'event_espresso' |
|
110 | + ))); |
|
111 | + } |
|
112 | + $join_table_fk_field_to_this_table = $this->get_join_model()->get_foreign_key_to($this->get_this_model()->get_this_model_name()); |
|
113 | + $join_table_alias = EE_Model_Parser::extract_table_alias_model_relation_chain_prefix( |
|
114 | + $this->_model_relation_chain_to_join_model, |
|
115 | + $this->get_join_model()->get_this_model_name() |
|
116 | + ) . $join_table_fk_field_to_this_table->get_table_alias(); |
|
117 | + $other_table_pk_field = $this->get_other_model()->get_primary_key_field(); |
|
118 | + $join_table_fk_field_to_other_table = $this->get_join_model()->get_foreign_key_to($this->get_other_model()->get_this_model_name()); |
|
119 | + $other_table_alias = EE_Model_Parser::extract_table_alias_model_relation_chain_prefix( |
|
120 | + $model_relation_chain, |
|
121 | + $this->get_other_model()->get_this_model_name() |
|
122 | + ) . $other_table_pk_field->get_table_alias(); |
|
123 | + $other_table = $this->get_other_model()->get_table_for_alias($other_table_alias); |
|
124 | 124 | |
125 | - $SQL = $this->_left_join( |
|
126 | - $other_table, |
|
127 | - $other_table_alias, |
|
128 | - $other_table_pk_field->get_table_column(), |
|
129 | - $join_table_alias, |
|
130 | - $join_table_fk_field_to_other_table->get_table_column() |
|
131 | - ) . $this->get_other_model()->_construct_internal_join_to_table_with_alias($other_table_alias); |
|
132 | - return $SQL; |
|
133 | - } |
|
125 | + $SQL = $this->_left_join( |
|
126 | + $other_table, |
|
127 | + $other_table_alias, |
|
128 | + $other_table_pk_field->get_table_column(), |
|
129 | + $join_table_alias, |
|
130 | + $join_table_fk_field_to_other_table->get_table_column() |
|
131 | + ) . $this->get_other_model()->_construct_internal_join_to_table_with_alias($other_table_alias); |
|
132 | + return $SQL; |
|
133 | + } |
|
134 | 134 | |
135 | 135 | |
136 | - /** |
|
137 | - * Ensures there is an entry in the join table between these two models. Feel free to do this manually if you like. |
|
138 | - * If the join table has additional columns (eg, the Event_Question_Group table has a is_primary column), then |
|
139 | - * you'll want to directly use the EEM_Event_Question_Group model to add the entry to the table and set those extra |
|
140 | - * columns' values |
|
141 | - * |
|
142 | - * @param EE_Base_Class|int $this_obj_or_id |
|
143 | - * @param EE_Base_Class|int $other_obj_or_id |
|
144 | - * @param array $extra_join_model_fields_n_values col=>val pairs that are used as extra conditions for |
|
145 | - * checking existing values and for setting new rows if |
|
146 | - * no exact matches. |
|
147 | - * @return EE_Base_Class |
|
148 | - * @throws \EE_Error |
|
149 | - */ |
|
150 | - public function add_relation_to($this_obj_or_id, $other_obj_or_id, $extra_join_model_fields_n_values = array()) |
|
151 | - { |
|
152 | - $this_model_obj = $this->get_this_model()->ensure_is_obj($this_obj_or_id, true); |
|
153 | - $other_model_obj = $this->get_other_model()->ensure_is_obj($other_obj_or_id, true); |
|
154 | - // check if such a relationship already exists |
|
155 | - $join_model_fk_to_this_model = $this->get_join_model()->get_foreign_key_to($this->get_this_model()->get_this_model_name()); |
|
156 | - $join_model_fk_to_other_model = $this->get_join_model()->get_foreign_key_to($this->get_other_model()->get_this_model_name()); |
|
136 | + /** |
|
137 | + * Ensures there is an entry in the join table between these two models. Feel free to do this manually if you like. |
|
138 | + * If the join table has additional columns (eg, the Event_Question_Group table has a is_primary column), then |
|
139 | + * you'll want to directly use the EEM_Event_Question_Group model to add the entry to the table and set those extra |
|
140 | + * columns' values |
|
141 | + * |
|
142 | + * @param EE_Base_Class|int $this_obj_or_id |
|
143 | + * @param EE_Base_Class|int $other_obj_or_id |
|
144 | + * @param array $extra_join_model_fields_n_values col=>val pairs that are used as extra conditions for |
|
145 | + * checking existing values and for setting new rows if |
|
146 | + * no exact matches. |
|
147 | + * @return EE_Base_Class |
|
148 | + * @throws \EE_Error |
|
149 | + */ |
|
150 | + public function add_relation_to($this_obj_or_id, $other_obj_or_id, $extra_join_model_fields_n_values = array()) |
|
151 | + { |
|
152 | + $this_model_obj = $this->get_this_model()->ensure_is_obj($this_obj_or_id, true); |
|
153 | + $other_model_obj = $this->get_other_model()->ensure_is_obj($other_obj_or_id, true); |
|
154 | + // check if such a relationship already exists |
|
155 | + $join_model_fk_to_this_model = $this->get_join_model()->get_foreign_key_to($this->get_this_model()->get_this_model_name()); |
|
156 | + $join_model_fk_to_other_model = $this->get_join_model()->get_foreign_key_to($this->get_other_model()->get_this_model_name()); |
|
157 | 157 | |
158 | - $foreign_keys = $all_fields = array( |
|
159 | - $join_model_fk_to_this_model->get_name() => $this_model_obj->ID(), |
|
160 | - $join_model_fk_to_other_model->get_name() => $other_model_obj->ID(), |
|
161 | - ); |
|
158 | + $foreign_keys = $all_fields = array( |
|
159 | + $join_model_fk_to_this_model->get_name() => $this_model_obj->ID(), |
|
160 | + $join_model_fk_to_other_model->get_name() => $other_model_obj->ID(), |
|
161 | + ); |
|
162 | 162 | |
163 | - // if $where_query exists lets add them to the query_params. |
|
164 | - if (! empty($extra_join_model_fields_n_values)) { |
|
165 | - // make sure we strip any of the join model names from the $where_query cause we don't need that in here (why? because client code may have used the same conditionals for get_all_related which DOES need the join model name) |
|
166 | - // make sure we strip THIS models name from the query param |
|
167 | - $parsed_query = array(); |
|
168 | - foreach ($extra_join_model_fields_n_values as $query_param => $val) { |
|
169 | - $query_param = str_replace( |
|
170 | - $this->get_join_model()->get_this_model_name() . ".", |
|
171 | - "", |
|
172 | - $query_param |
|
173 | - ); |
|
174 | - $parsed_query[ $query_param ] = $val; |
|
175 | - } |
|
176 | - $all_fields = array_merge($foreign_keys, $parsed_query); |
|
177 | - } |
|
163 | + // if $where_query exists lets add them to the query_params. |
|
164 | + if (! empty($extra_join_model_fields_n_values)) { |
|
165 | + // make sure we strip any of the join model names from the $where_query cause we don't need that in here (why? because client code may have used the same conditionals for get_all_related which DOES need the join model name) |
|
166 | + // make sure we strip THIS models name from the query param |
|
167 | + $parsed_query = array(); |
|
168 | + foreach ($extra_join_model_fields_n_values as $query_param => $val) { |
|
169 | + $query_param = str_replace( |
|
170 | + $this->get_join_model()->get_this_model_name() . ".", |
|
171 | + "", |
|
172 | + $query_param |
|
173 | + ); |
|
174 | + $parsed_query[ $query_param ] = $val; |
|
175 | + } |
|
176 | + $all_fields = array_merge($foreign_keys, $parsed_query); |
|
177 | + } |
|
178 | 178 | |
179 | - $existing_entry_in_join_table = $this->get_join_model()->get_one(array($foreign_keys)); |
|
180 | - // If there is already an entry in the join table, indicating a relationship, update it instead of adding a |
|
181 | - // new row. |
|
182 | - // Again, if you want more sophisticated logic or insertions (handling more columns than just 2 foreign keys to |
|
183 | - // the other tables) use the joining model directly! |
|
184 | - if (! $existing_entry_in_join_table) { |
|
185 | - $this->get_join_model()->insert($all_fields); |
|
186 | - } else { |
|
187 | - $this->get_join_model()->update( |
|
188 | - $all_fields, |
|
189 | - [$foreign_keys] |
|
190 | - ); |
|
191 | - } |
|
192 | - return $other_model_obj; |
|
193 | - } |
|
179 | + $existing_entry_in_join_table = $this->get_join_model()->get_one(array($foreign_keys)); |
|
180 | + // If there is already an entry in the join table, indicating a relationship, update it instead of adding a |
|
181 | + // new row. |
|
182 | + // Again, if you want more sophisticated logic or insertions (handling more columns than just 2 foreign keys to |
|
183 | + // the other tables) use the joining model directly! |
|
184 | + if (! $existing_entry_in_join_table) { |
|
185 | + $this->get_join_model()->insert($all_fields); |
|
186 | + } else { |
|
187 | + $this->get_join_model()->update( |
|
188 | + $all_fields, |
|
189 | + [$foreign_keys] |
|
190 | + ); |
|
191 | + } |
|
192 | + return $other_model_obj; |
|
193 | + } |
|
194 | 194 | |
195 | 195 | |
196 | - /** |
|
197 | - * Deletes any rows in the join table that have foreign keys matching the other model objects specified |
|
198 | - * |
|
199 | - * @param EE_Base_Class|int $this_obj_or_id |
|
200 | - * @param EE_Base_Class|int $other_obj_or_id |
|
201 | - * @param array $where_query col=>val pairs that are used as extra conditions for checking existing |
|
202 | - * values and for removing existing rows if exact matches exist. |
|
203 | - * @return EE_Base_Class |
|
204 | - * @throws \EE_Error |
|
205 | - */ |
|
206 | - public function remove_relation_to($this_obj_or_id, $other_obj_or_id, $where_query = array()) |
|
207 | - { |
|
208 | - $this_model_obj = $this->get_this_model()->ensure_is_obj($this_obj_or_id, true); |
|
209 | - $other_model_obj = $this->get_other_model()->ensure_is_obj($other_obj_or_id, true); |
|
210 | - // check if such a relationship already exists |
|
211 | - $join_model_fk_to_this_model = $this->get_join_model()->get_foreign_key_to($this->get_this_model()->get_this_model_name()); |
|
212 | - $join_model_fk_to_other_model = $this->get_join_model()->get_foreign_key_to($this->get_other_model()->get_this_model_name()); |
|
196 | + /** |
|
197 | + * Deletes any rows in the join table that have foreign keys matching the other model objects specified |
|
198 | + * |
|
199 | + * @param EE_Base_Class|int $this_obj_or_id |
|
200 | + * @param EE_Base_Class|int $other_obj_or_id |
|
201 | + * @param array $where_query col=>val pairs that are used as extra conditions for checking existing |
|
202 | + * values and for removing existing rows if exact matches exist. |
|
203 | + * @return EE_Base_Class |
|
204 | + * @throws \EE_Error |
|
205 | + */ |
|
206 | + public function remove_relation_to($this_obj_or_id, $other_obj_or_id, $where_query = array()) |
|
207 | + { |
|
208 | + $this_model_obj = $this->get_this_model()->ensure_is_obj($this_obj_or_id, true); |
|
209 | + $other_model_obj = $this->get_other_model()->ensure_is_obj($other_obj_or_id, true); |
|
210 | + // check if such a relationship already exists |
|
211 | + $join_model_fk_to_this_model = $this->get_join_model()->get_foreign_key_to($this->get_this_model()->get_this_model_name()); |
|
212 | + $join_model_fk_to_other_model = $this->get_join_model()->get_foreign_key_to($this->get_other_model()->get_this_model_name()); |
|
213 | 213 | |
214 | - $cols_n_values = array( |
|
215 | - $join_model_fk_to_this_model->get_name() => $this_model_obj->ID(), |
|
216 | - $join_model_fk_to_other_model->get_name() => $other_model_obj->ID(), |
|
217 | - ); |
|
214 | + $cols_n_values = array( |
|
215 | + $join_model_fk_to_this_model->get_name() => $this_model_obj->ID(), |
|
216 | + $join_model_fk_to_other_model->get_name() => $other_model_obj->ID(), |
|
217 | + ); |
|
218 | 218 | |
219 | - // if $where_query exists lets add them to the query_params. |
|
220 | - if (! empty($where_query)) { |
|
221 | - // make sure we strip any of the join model names from the $where_query cause we don't need that in here (why? because client code may have used the same conditionals for get_all_related which DOES need the join model name) |
|
222 | - // make sure we strip THIS models name from the query param |
|
223 | - $parsed_query = array(); |
|
224 | - foreach ($where_query as $query_param => $val) { |
|
225 | - $query_param = str_replace( |
|
226 | - $this->get_join_model()->get_this_model_name() . ".", |
|
227 | - "", |
|
228 | - $query_param |
|
229 | - ); |
|
230 | - $parsed_query[ $query_param ] = $val; |
|
231 | - } |
|
232 | - $cols_n_values = array_merge($cols_n_values, $parsed_query); |
|
233 | - } |
|
219 | + // if $where_query exists lets add them to the query_params. |
|
220 | + if (! empty($where_query)) { |
|
221 | + // make sure we strip any of the join model names from the $where_query cause we don't need that in here (why? because client code may have used the same conditionals for get_all_related which DOES need the join model name) |
|
222 | + // make sure we strip THIS models name from the query param |
|
223 | + $parsed_query = array(); |
|
224 | + foreach ($where_query as $query_param => $val) { |
|
225 | + $query_param = str_replace( |
|
226 | + $this->get_join_model()->get_this_model_name() . ".", |
|
227 | + "", |
|
228 | + $query_param |
|
229 | + ); |
|
230 | + $parsed_query[ $query_param ] = $val; |
|
231 | + } |
|
232 | + $cols_n_values = array_merge($cols_n_values, $parsed_query); |
|
233 | + } |
|
234 | 234 | |
235 | - $this->get_join_model()->delete(array($cols_n_values)); |
|
236 | - return $other_model_obj; |
|
237 | - } |
|
235 | + $this->get_join_model()->delete(array($cols_n_values)); |
|
236 | + return $other_model_obj; |
|
237 | + } |
|
238 | 238 | |
239 | - /** |
|
240 | - * Gets all the non-key fields (ie, not the primary key and not foreign keys) on the join model. |
|
241 | - * @since 4.9.76.p |
|
242 | - * @return EE_Model_Field_Base[] |
|
243 | - * @throws EE_Error |
|
244 | - */ |
|
245 | - public function getNonKeyFields() |
|
246 | - { |
|
247 | - // all fields besides the primary key and two foreign keys should be parameters |
|
248 | - $join_model = $this->get_join_model(); |
|
249 | - $standard_fields = array(); |
|
250 | - if ($join_model->has_primary_key_field()) { |
|
251 | - $standard_fields[] = $join_model->primary_key_name(); |
|
252 | - } |
|
253 | - if ($this->get_this_model()->has_primary_key_field()) { |
|
254 | - $standard_fields[] = $this->get_this_model()->primary_key_name(); |
|
255 | - } |
|
256 | - if ($this->get_other_model()->has_primary_key_field()) { |
|
257 | - $standard_fields[] = $this->get_other_model()->primary_key_name(); |
|
258 | - } |
|
259 | - return array_diff_key( |
|
260 | - $join_model->field_settings(), |
|
261 | - array_flip($standard_fields) |
|
262 | - ); |
|
263 | - } |
|
239 | + /** |
|
240 | + * Gets all the non-key fields (ie, not the primary key and not foreign keys) on the join model. |
|
241 | + * @since 4.9.76.p |
|
242 | + * @return EE_Model_Field_Base[] |
|
243 | + * @throws EE_Error |
|
244 | + */ |
|
245 | + public function getNonKeyFields() |
|
246 | + { |
|
247 | + // all fields besides the primary key and two foreign keys should be parameters |
|
248 | + $join_model = $this->get_join_model(); |
|
249 | + $standard_fields = array(); |
|
250 | + if ($join_model->has_primary_key_field()) { |
|
251 | + $standard_fields[] = $join_model->primary_key_name(); |
|
252 | + } |
|
253 | + if ($this->get_this_model()->has_primary_key_field()) { |
|
254 | + $standard_fields[] = $this->get_this_model()->primary_key_name(); |
|
255 | + } |
|
256 | + if ($this->get_other_model()->has_primary_key_field()) { |
|
257 | + $standard_fields[] = $this->get_other_model()->primary_key_name(); |
|
258 | + } |
|
259 | + return array_diff_key( |
|
260 | + $join_model->field_settings(), |
|
261 | + array_flip($standard_fields) |
|
262 | + ); |
|
263 | + } |
|
264 | 264 | |
265 | - /** |
|
266 | - * Returns true if the join model has non-key fields (ie, fields that aren't the primary key or foreign keys.) |
|
267 | - * @since 4.9.76.p |
|
268 | - * @return boolean |
|
269 | - */ |
|
270 | - public function hasNonKeyFields() |
|
271 | - { |
|
272 | - return count($this->get_join_model()->field_settings()) > 3; |
|
273 | - } |
|
265 | + /** |
|
266 | + * Returns true if the join model has non-key fields (ie, fields that aren't the primary key or foreign keys.) |
|
267 | + * @since 4.9.76.p |
|
268 | + * @return boolean |
|
269 | + */ |
|
270 | + public function hasNonKeyFields() |
|
271 | + { |
|
272 | + return count($this->get_join_model()->field_settings()) > 3; |
|
273 | + } |
|
274 | 274 | } |
@@ -17,43 +17,43 @@ |
||
17 | 17 | class Attendee extends AttendeeCalculationsBase |
18 | 18 | { |
19 | 19 | |
20 | - /** |
|
21 | - * @param array $wpdb_row |
|
22 | - * @param WP_REST_Request $request |
|
23 | - * @param AttendeeControllerBase $controller |
|
24 | - * @since 4.9.66.p |
|
25 | - * @return string |
|
26 | - */ |
|
27 | - public function userAvatar(array $wpdb_row, WP_REST_Request $request, AttendeeControllerBase $controller) |
|
28 | - { |
|
29 | - if (is_array($wpdb_row) && isset($wpdb_row['Attendee_Meta.ATT_email'])) { |
|
30 | - $email_address = $wpdb_row['Attendee_Meta.ATT_email']; |
|
31 | - } |
|
32 | - if (empty($email_address)) { |
|
33 | - return get_avatar_url('', array('force_default' => true)); |
|
34 | - } |
|
35 | - $avatar = get_avatar_url($email_address); |
|
36 | - return $avatar ? $avatar : ''; |
|
37 | - } |
|
20 | + /** |
|
21 | + * @param array $wpdb_row |
|
22 | + * @param WP_REST_Request $request |
|
23 | + * @param AttendeeControllerBase $controller |
|
24 | + * @since 4.9.66.p |
|
25 | + * @return string |
|
26 | + */ |
|
27 | + public function userAvatar(array $wpdb_row, WP_REST_Request $request, AttendeeControllerBase $controller) |
|
28 | + { |
|
29 | + if (is_array($wpdb_row) && isset($wpdb_row['Attendee_Meta.ATT_email'])) { |
|
30 | + $email_address = $wpdb_row['Attendee_Meta.ATT_email']; |
|
31 | + } |
|
32 | + if (empty($email_address)) { |
|
33 | + return get_avatar_url('', array('force_default' => true)); |
|
34 | + } |
|
35 | + $avatar = get_avatar_url($email_address); |
|
36 | + return $avatar ? $avatar : ''; |
|
37 | + } |
|
38 | 38 | |
39 | 39 | |
40 | - /** |
|
41 | - * Provides an array for all the calculations possible that outlines a json schema for those calculations. |
|
42 | - * Array is indexed by calculation (snake case) and value is the schema for that calculation. |
|
43 | - * |
|
44 | - * @since 4.9.68.p |
|
45 | - * @return array |
|
46 | - */ |
|
47 | - public function schemaForCalculations() |
|
48 | - { |
|
49 | - return array( |
|
50 | - 'user_avatar' => array( |
|
51 | - 'description' => esc_html__( |
|
52 | - 'The avatar url for the attendee (if available).', |
|
53 | - 'event_espresso' |
|
54 | - ), |
|
55 | - 'type' => 'string', |
|
56 | - ), |
|
57 | - ); |
|
58 | - } |
|
40 | + /** |
|
41 | + * Provides an array for all the calculations possible that outlines a json schema for those calculations. |
|
42 | + * Array is indexed by calculation (snake case) and value is the schema for that calculation. |
|
43 | + * |
|
44 | + * @since 4.9.68.p |
|
45 | + * @return array |
|
46 | + */ |
|
47 | + public function schemaForCalculations() |
|
48 | + { |
|
49 | + return array( |
|
50 | + 'user_avatar' => array( |
|
51 | + 'description' => esc_html__( |
|
52 | + 'The avatar url for the attendee (if available).', |
|
53 | + 'event_espresso' |
|
54 | + ), |
|
55 | + 'type' => 'string', |
|
56 | + ), |
|
57 | + ); |
|
58 | + } |
|
59 | 59 | } |
@@ -10,564 +10,564 @@ |
||
10 | 10 | class EE_Venue extends EE_CPT_Base implements EEI_Address |
11 | 11 | { |
12 | 12 | |
13 | - /** |
|
14 | - * |
|
15 | - * @param array $props_n_values incoming values |
|
16 | - * @param string $timezone incoming timezone (if not set the timezone set for the website will be |
|
17 | - * used.) |
|
18 | - * @param array $date_formats incoming date_formats in an array where the first value is the |
|
19 | - * date_format and the second value is the time format |
|
20 | - * @return EE_Attendee |
|
21 | - */ |
|
22 | - public static function new_instance($props_n_values = array(), $timezone = null, $date_formats = array()) |
|
23 | - { |
|
24 | - $has_object = parent::_check_for_object($props_n_values, __CLASS__, $timezone, $date_formats); |
|
25 | - return $has_object ? $has_object : new self($props_n_values, false, $timezone, $date_formats); |
|
26 | - } |
|
27 | - |
|
28 | - |
|
29 | - /** |
|
30 | - * @param array $props_n_values incoming values from the database |
|
31 | - * @param string $timezone incoming timezone as set by the model. If not set the timezone for |
|
32 | - * the website will be used. |
|
33 | - * @return EE_Attendee |
|
34 | - */ |
|
35 | - public static function new_instance_from_db($props_n_values = array(), $timezone = null) |
|
36 | - { |
|
37 | - return new self($props_n_values, true, $timezone); |
|
38 | - } |
|
39 | - |
|
40 | - |
|
41 | - /** |
|
42 | - * Gets name |
|
43 | - * |
|
44 | - * @return string |
|
45 | - */ |
|
46 | - public function name() |
|
47 | - { |
|
48 | - return $this->get('VNU_name'); |
|
49 | - } |
|
50 | - |
|
51 | - |
|
52 | - /** |
|
53 | - * Gets phone |
|
54 | - * |
|
55 | - * @return string |
|
56 | - */ |
|
57 | - public function phone() |
|
58 | - { |
|
59 | - return $this->get('VNU_phone'); |
|
60 | - } |
|
61 | - |
|
62 | - |
|
63 | - /** |
|
64 | - * venue_url |
|
65 | - * |
|
66 | - * @return string |
|
67 | - */ |
|
68 | - public function venue_url() |
|
69 | - { |
|
70 | - return $this->get('VNU_url'); |
|
71 | - } |
|
72 | - |
|
73 | - |
|
74 | - /** |
|
75 | - * Gets desc |
|
76 | - * |
|
77 | - * @return string |
|
78 | - */ |
|
79 | - public function description() |
|
80 | - { |
|
81 | - return $this->get('VNU_desc'); |
|
82 | - } |
|
83 | - |
|
84 | - |
|
85 | - /** |
|
86 | - * Gets short description (AKA: the excerpt) |
|
87 | - * |
|
88 | - * @return string |
|
89 | - */ |
|
90 | - public function excerpt() |
|
91 | - { |
|
92 | - return $this->get('VNU_short_desc'); |
|
93 | - } |
|
94 | - |
|
95 | - |
|
96 | - /** |
|
97 | - * Gets identifier |
|
98 | - * |
|
99 | - * @return string |
|
100 | - */ |
|
101 | - public function identifier() |
|
102 | - { |
|
103 | - return $this->get('VNU_identifier'); |
|
104 | - } |
|
105 | - |
|
106 | - |
|
107 | - /** |
|
108 | - * Gets address |
|
109 | - * |
|
110 | - * @return string |
|
111 | - */ |
|
112 | - public function address() |
|
113 | - { |
|
114 | - return $this->get('VNU_address'); |
|
115 | - } |
|
116 | - |
|
117 | - |
|
118 | - /** |
|
119 | - * Gets address2 |
|
120 | - * |
|
121 | - * @return string |
|
122 | - */ |
|
123 | - public function address2() |
|
124 | - { |
|
125 | - return $this->get('VNU_address2'); |
|
126 | - } |
|
127 | - |
|
128 | - |
|
129 | - /** |
|
130 | - * Gets city |
|
131 | - * |
|
132 | - * @return string |
|
133 | - */ |
|
134 | - public function city() |
|
135 | - { |
|
136 | - return $this->get('VNU_city'); |
|
137 | - } |
|
138 | - |
|
139 | - /** |
|
140 | - * Gets state |
|
141 | - * |
|
142 | - * @return int |
|
143 | - */ |
|
144 | - public function state_ID() |
|
145 | - { |
|
146 | - return $this->get('STA_ID'); |
|
147 | - } |
|
148 | - |
|
149 | - |
|
150 | - /** |
|
151 | - * @return string |
|
152 | - */ |
|
153 | - public function state_abbrev() |
|
154 | - { |
|
155 | - return $this->state_obj() instanceof EE_State ? $this->state_obj()->abbrev() : ''; |
|
156 | - } |
|
157 | - |
|
158 | - |
|
159 | - /** |
|
160 | - * @return string |
|
161 | - */ |
|
162 | - public function state_name() |
|
163 | - { |
|
164 | - return $this->state_obj() instanceof EE_State ? $this->state_obj()->name() : ''; |
|
165 | - } |
|
166 | - |
|
167 | - |
|
168 | - /** |
|
169 | - * Gets the state for this venue |
|
170 | - * |
|
171 | - * @return EE_State |
|
172 | - */ |
|
173 | - public function state_obj() |
|
174 | - { |
|
175 | - return $this->get_first_related('State'); |
|
176 | - } |
|
177 | - |
|
178 | - |
|
179 | - /** |
|
180 | - * either displays the state abbreviation or the state name, as determined |
|
181 | - * by the "FHEE__EEI_Address__state__use_abbreviation" filter. |
|
182 | - * defaults to abbreviation |
|
183 | - * |
|
184 | - * @return string |
|
185 | - */ |
|
186 | - public function state() |
|
187 | - { |
|
188 | - if (apply_filters('FHEE__EEI_Address__state__use_abbreviation', true, $this->state_obj())) { |
|
189 | - return $this->state_abbrev(); |
|
190 | - } else { |
|
191 | - return $this->state_name(); |
|
192 | - } |
|
193 | - } |
|
194 | - |
|
195 | - |
|
196 | - /** |
|
197 | - * country_ID |
|
198 | - * |
|
199 | - * @return string |
|
200 | - */ |
|
201 | - public function country_ID() |
|
202 | - { |
|
203 | - return $this->get('CNT_ISO'); |
|
204 | - } |
|
205 | - |
|
206 | - |
|
207 | - /** |
|
208 | - * @return string |
|
209 | - */ |
|
210 | - public function country_name() |
|
211 | - { |
|
212 | - return $this->country_obj() instanceof EE_Country ? $this->country_obj()->name() : ''; |
|
213 | - } |
|
214 | - |
|
215 | - |
|
216 | - /** |
|
217 | - * Gets the country of this venue |
|
218 | - * |
|
219 | - * @return EE_Country |
|
220 | - */ |
|
221 | - public function country_obj() |
|
222 | - { |
|
223 | - return $this->get_first_related('Country'); |
|
224 | - } |
|
225 | - |
|
226 | - |
|
227 | - /** |
|
228 | - * either displays the country ISO2 code or the country name, as determined |
|
229 | - * by the "FHEE__EEI_Address__country__use_abbreviation" filter. |
|
230 | - * defaults to abbreviation |
|
231 | - * |
|
232 | - * @return string |
|
233 | - */ |
|
234 | - public function country() |
|
235 | - { |
|
236 | - if (apply_filters('FHEE__EEI_Address__country__use_abbreviation', true, $this->country_obj())) { |
|
237 | - return $this->country_ID(); |
|
238 | - } else { |
|
239 | - return $this->country_name(); |
|
240 | - } |
|
241 | - } |
|
242 | - |
|
243 | - |
|
244 | - /** |
|
245 | - * Gets zip |
|
246 | - * |
|
247 | - * @return string |
|
248 | - */ |
|
249 | - public function zip() |
|
250 | - { |
|
251 | - return $this->get('VNU_zip'); |
|
252 | - } |
|
253 | - |
|
254 | - |
|
255 | - /** |
|
256 | - * Gets capacity |
|
257 | - * |
|
258 | - * @return int |
|
259 | - */ |
|
260 | - public function capacity() |
|
261 | - { |
|
262 | - return $this->get_pretty('VNU_capacity', 'symbol'); |
|
263 | - } |
|
264 | - |
|
265 | - |
|
266 | - /** |
|
267 | - * Gets created |
|
268 | - * |
|
269 | - * @return string |
|
270 | - */ |
|
271 | - public function created() |
|
272 | - { |
|
273 | - return $this->get('VNU_created'); |
|
274 | - } |
|
275 | - |
|
276 | - |
|
277 | - /** |
|
278 | - * Gets modified |
|
279 | - * |
|
280 | - * @return string |
|
281 | - */ |
|
282 | - public function modified() |
|
283 | - { |
|
284 | - return $this->get('VNU_modified'); |
|
285 | - } |
|
286 | - |
|
287 | - |
|
288 | - /** |
|
289 | - * Gets order |
|
290 | - * |
|
291 | - * @return int |
|
292 | - */ |
|
293 | - public function order() |
|
294 | - { |
|
295 | - return $this->get('VNU_order'); |
|
296 | - } |
|
297 | - |
|
298 | - |
|
299 | - /** |
|
300 | - * Gets wp_user |
|
301 | - * |
|
302 | - * @return int |
|
303 | - */ |
|
304 | - public function wp_user() |
|
305 | - { |
|
306 | - return $this->get('VNU_wp_user'); |
|
307 | - } |
|
308 | - |
|
309 | - |
|
310 | - /** |
|
311 | - * @return string |
|
312 | - */ |
|
313 | - public function virtual_phone() |
|
314 | - { |
|
315 | - return $this->get('VNU_virtual_phone'); |
|
316 | - } |
|
317 | - |
|
318 | - |
|
319 | - /** |
|
320 | - * @return string |
|
321 | - */ |
|
322 | - public function virtual_url() |
|
323 | - { |
|
324 | - return $this->get('VNU_virtual_url'); |
|
325 | - } |
|
326 | - |
|
327 | - |
|
328 | - /** |
|
329 | - * @return bool |
|
330 | - */ |
|
331 | - public function enable_for_gmap() |
|
332 | - { |
|
333 | - return $this->get('VNU_enable_for_gmap'); |
|
334 | - } |
|
335 | - |
|
336 | - |
|
337 | - /** |
|
338 | - * @return string |
|
339 | - */ |
|
340 | - public function google_map_link() |
|
341 | - { |
|
342 | - return $this->get('VNU_google_map_link'); |
|
343 | - } |
|
344 | - |
|
345 | - |
|
346 | - /** |
|
347 | - * Gets all events happening at this venue. Query parameters can be added to |
|
348 | - * fetch a subset of those events. |
|
349 | - * |
|
350 | - * @param array $query_params @see https://github.com/eventespresso/event-espresso-core/tree/master/docs/G--Model-System/model-query-params.md |
|
351 | - * @param bool $upcoming |
|
352 | - * @return EE_Event[] |
|
353 | - */ |
|
354 | - public function events($query_params = array(), $upcoming = false) |
|
355 | - { |
|
356 | - if ($upcoming) { |
|
357 | - $query_params = array( |
|
358 | - array( |
|
359 | - 'status' => 'publish', |
|
360 | - 'Datetime.DTT_EVT_start' => array( |
|
361 | - '>', |
|
362 | - EEM_Datetime::instance()->current_time_for_query('DTT_EVT_start'), |
|
363 | - ), |
|
364 | - ), |
|
365 | - ); |
|
366 | - } |
|
367 | - return $this->get_many_related('Event', $query_params); |
|
368 | - } |
|
369 | - |
|
370 | - |
|
371 | - /** |
|
372 | - * Sets address |
|
373 | - */ |
|
374 | - public function set_address($address = '') |
|
375 | - { |
|
376 | - $this->set('VNU_address', $address); |
|
377 | - } |
|
378 | - |
|
379 | - |
|
380 | - /** |
|
381 | - * @param string $address2 |
|
382 | - */ |
|
383 | - public function set_address2($address2 = '') |
|
384 | - { |
|
385 | - $this->set('VNU_address2', $address2); |
|
386 | - } |
|
387 | - |
|
388 | - |
|
389 | - /** |
|
390 | - * @param string $city |
|
391 | - */ |
|
392 | - public function set_city($city = '') |
|
393 | - { |
|
394 | - $this->set('VNU_city', $city); |
|
395 | - } |
|
396 | - |
|
397 | - |
|
398 | - /** |
|
399 | - * @param int $state |
|
400 | - */ |
|
401 | - public function set_state_ID($state = 0) |
|
402 | - { |
|
403 | - $this->set('STA_ID', $state); |
|
404 | - } |
|
405 | - |
|
406 | - |
|
407 | - /** |
|
408 | - * Sets the state, given either a state id or state object |
|
409 | - * |
|
410 | - * @param EE_State /int $state_id_or_obj |
|
411 | - * @return EE_State |
|
412 | - */ |
|
413 | - public function set_state_obj($state_id_or_obj) |
|
414 | - { |
|
415 | - return $this->_add_relation_to($state_id_or_obj, 'State'); |
|
416 | - } |
|
417 | - |
|
418 | - |
|
419 | - /** |
|
420 | - * @param int $country_ID |
|
421 | - */ |
|
422 | - public function set_country_ID($country_ID = 0) |
|
423 | - { |
|
424 | - $this->set('CNT_ISO', $country_ID); |
|
425 | - } |
|
426 | - |
|
427 | - |
|
428 | - /** |
|
429 | - * Sets the country on the venue |
|
430 | - * |
|
431 | - * @param EE_Country /string $country_id_or_obj |
|
432 | - * @return EE_Country |
|
433 | - */ |
|
434 | - public function set_country_obj($country_id_or_obj) |
|
435 | - { |
|
436 | - return $this->_add_relation_to($country_id_or_obj, 'Country'); |
|
437 | - } |
|
438 | - |
|
439 | - |
|
440 | - /** |
|
441 | - * @param string $zip |
|
442 | - */ |
|
443 | - public function set_zip($zip = '') |
|
444 | - { |
|
445 | - $this->set('VNU_zip', $zip); |
|
446 | - } |
|
447 | - |
|
448 | - |
|
449 | - /** |
|
450 | - * @param int $capacity |
|
451 | - */ |
|
452 | - public function set_capacity($capacity = 0) |
|
453 | - { |
|
454 | - $this->set('VNU_capacity', $capacity); |
|
455 | - } |
|
456 | - |
|
457 | - |
|
458 | - /** |
|
459 | - * @param string $created |
|
460 | - */ |
|
461 | - public function set_created($created = '') |
|
462 | - { |
|
463 | - $this->set('VNU_created', $created); |
|
464 | - } |
|
465 | - |
|
466 | - |
|
467 | - /** |
|
468 | - * @param string $desc |
|
469 | - */ |
|
470 | - public function set_description($desc = '') |
|
471 | - { |
|
472 | - $this->set('VNU_desc', $desc); |
|
473 | - } |
|
474 | - |
|
475 | - |
|
476 | - /** |
|
477 | - * @param string $identifier |
|
478 | - */ |
|
479 | - public function set_identifier($identifier = '') |
|
480 | - { |
|
481 | - $this->set('VNU_identifier', $identifier); |
|
482 | - } |
|
483 | - |
|
484 | - |
|
485 | - /** |
|
486 | - * @param string $modified |
|
487 | - */ |
|
488 | - public function set_modified($modified = '') |
|
489 | - { |
|
490 | - $this->set('VNU_modified', $modified); |
|
491 | - } |
|
492 | - |
|
493 | - |
|
494 | - /** |
|
495 | - * @param string $name |
|
496 | - */ |
|
497 | - public function set_name($name = '') |
|
498 | - { |
|
499 | - $this->set('VNU_name', $name); |
|
500 | - } |
|
501 | - |
|
502 | - |
|
503 | - /** |
|
504 | - * @param int $order |
|
505 | - */ |
|
506 | - public function set_order($order = 0) |
|
507 | - { |
|
508 | - $this->set('VNU_order', $order); |
|
509 | - } |
|
510 | - |
|
511 | - |
|
512 | - /** |
|
513 | - * @param string $phone |
|
514 | - */ |
|
515 | - public function set_phone($phone = '') |
|
516 | - { |
|
517 | - $this->set('VNU_phone', $phone); |
|
518 | - } |
|
519 | - |
|
520 | - |
|
521 | - /** |
|
522 | - * @param int $wp_user |
|
523 | - */ |
|
524 | - public function set_wp_user($wp_user = 1) |
|
525 | - { |
|
526 | - $this->set('VNU_wp_user', $wp_user); |
|
527 | - } |
|
528 | - |
|
529 | - |
|
530 | - /** |
|
531 | - * @param string $url |
|
532 | - */ |
|
533 | - public function set_venue_url($url = '') |
|
534 | - { |
|
535 | - $this->set('VNU_url', $url); |
|
536 | - } |
|
537 | - |
|
538 | - |
|
539 | - /** |
|
540 | - * @param string $phone |
|
541 | - */ |
|
542 | - public function set_virtual_phone($phone = '') |
|
543 | - { |
|
544 | - $this->set('VNU_virtual_phone', $phone); |
|
545 | - } |
|
546 | - |
|
547 | - |
|
548 | - /** |
|
549 | - * @param string $url |
|
550 | - */ |
|
551 | - public function set_virtual_url($url = '') |
|
552 | - { |
|
553 | - $this->set('VNU_virtual_url', $url); |
|
554 | - } |
|
555 | - |
|
556 | - |
|
557 | - /** |
|
558 | - * @param string $enable |
|
559 | - */ |
|
560 | - public function set_enable_for_gmap($enable = '') |
|
561 | - { |
|
562 | - $this->set('VNU_enable_for_gmap', $enable); |
|
563 | - } |
|
564 | - |
|
565 | - |
|
566 | - /** |
|
567 | - * @param string $google_map_link |
|
568 | - */ |
|
569 | - public function set_google_map_link($google_map_link = '') |
|
570 | - { |
|
571 | - $this->set('VNU_google_map_link', $google_map_link); |
|
572 | - } |
|
13 | + /** |
|
14 | + * |
|
15 | + * @param array $props_n_values incoming values |
|
16 | + * @param string $timezone incoming timezone (if not set the timezone set for the website will be |
|
17 | + * used.) |
|
18 | + * @param array $date_formats incoming date_formats in an array where the first value is the |
|
19 | + * date_format and the second value is the time format |
|
20 | + * @return EE_Attendee |
|
21 | + */ |
|
22 | + public static function new_instance($props_n_values = array(), $timezone = null, $date_formats = array()) |
|
23 | + { |
|
24 | + $has_object = parent::_check_for_object($props_n_values, __CLASS__, $timezone, $date_formats); |
|
25 | + return $has_object ? $has_object : new self($props_n_values, false, $timezone, $date_formats); |
|
26 | + } |
|
27 | + |
|
28 | + |
|
29 | + /** |
|
30 | + * @param array $props_n_values incoming values from the database |
|
31 | + * @param string $timezone incoming timezone as set by the model. If not set the timezone for |
|
32 | + * the website will be used. |
|
33 | + * @return EE_Attendee |
|
34 | + */ |
|
35 | + public static function new_instance_from_db($props_n_values = array(), $timezone = null) |
|
36 | + { |
|
37 | + return new self($props_n_values, true, $timezone); |
|
38 | + } |
|
39 | + |
|
40 | + |
|
41 | + /** |
|
42 | + * Gets name |
|
43 | + * |
|
44 | + * @return string |
|
45 | + */ |
|
46 | + public function name() |
|
47 | + { |
|
48 | + return $this->get('VNU_name'); |
|
49 | + } |
|
50 | + |
|
51 | + |
|
52 | + /** |
|
53 | + * Gets phone |
|
54 | + * |
|
55 | + * @return string |
|
56 | + */ |
|
57 | + public function phone() |
|
58 | + { |
|
59 | + return $this->get('VNU_phone'); |
|
60 | + } |
|
61 | + |
|
62 | + |
|
63 | + /** |
|
64 | + * venue_url |
|
65 | + * |
|
66 | + * @return string |
|
67 | + */ |
|
68 | + public function venue_url() |
|
69 | + { |
|
70 | + return $this->get('VNU_url'); |
|
71 | + } |
|
72 | + |
|
73 | + |
|
74 | + /** |
|
75 | + * Gets desc |
|
76 | + * |
|
77 | + * @return string |
|
78 | + */ |
|
79 | + public function description() |
|
80 | + { |
|
81 | + return $this->get('VNU_desc'); |
|
82 | + } |
|
83 | + |
|
84 | + |
|
85 | + /** |
|
86 | + * Gets short description (AKA: the excerpt) |
|
87 | + * |
|
88 | + * @return string |
|
89 | + */ |
|
90 | + public function excerpt() |
|
91 | + { |
|
92 | + return $this->get('VNU_short_desc'); |
|
93 | + } |
|
94 | + |
|
95 | + |
|
96 | + /** |
|
97 | + * Gets identifier |
|
98 | + * |
|
99 | + * @return string |
|
100 | + */ |
|
101 | + public function identifier() |
|
102 | + { |
|
103 | + return $this->get('VNU_identifier'); |
|
104 | + } |
|
105 | + |
|
106 | + |
|
107 | + /** |
|
108 | + * Gets address |
|
109 | + * |
|
110 | + * @return string |
|
111 | + */ |
|
112 | + public function address() |
|
113 | + { |
|
114 | + return $this->get('VNU_address'); |
|
115 | + } |
|
116 | + |
|
117 | + |
|
118 | + /** |
|
119 | + * Gets address2 |
|
120 | + * |
|
121 | + * @return string |
|
122 | + */ |
|
123 | + public function address2() |
|
124 | + { |
|
125 | + return $this->get('VNU_address2'); |
|
126 | + } |
|
127 | + |
|
128 | + |
|
129 | + /** |
|
130 | + * Gets city |
|
131 | + * |
|
132 | + * @return string |
|
133 | + */ |
|
134 | + public function city() |
|
135 | + { |
|
136 | + return $this->get('VNU_city'); |
|
137 | + } |
|
138 | + |
|
139 | + /** |
|
140 | + * Gets state |
|
141 | + * |
|
142 | + * @return int |
|
143 | + */ |
|
144 | + public function state_ID() |
|
145 | + { |
|
146 | + return $this->get('STA_ID'); |
|
147 | + } |
|
148 | + |
|
149 | + |
|
150 | + /** |
|
151 | + * @return string |
|
152 | + */ |
|
153 | + public function state_abbrev() |
|
154 | + { |
|
155 | + return $this->state_obj() instanceof EE_State ? $this->state_obj()->abbrev() : ''; |
|
156 | + } |
|
157 | + |
|
158 | + |
|
159 | + /** |
|
160 | + * @return string |
|
161 | + */ |
|
162 | + public function state_name() |
|
163 | + { |
|
164 | + return $this->state_obj() instanceof EE_State ? $this->state_obj()->name() : ''; |
|
165 | + } |
|
166 | + |
|
167 | + |
|
168 | + /** |
|
169 | + * Gets the state for this venue |
|
170 | + * |
|
171 | + * @return EE_State |
|
172 | + */ |
|
173 | + public function state_obj() |
|
174 | + { |
|
175 | + return $this->get_first_related('State'); |
|
176 | + } |
|
177 | + |
|
178 | + |
|
179 | + /** |
|
180 | + * either displays the state abbreviation or the state name, as determined |
|
181 | + * by the "FHEE__EEI_Address__state__use_abbreviation" filter. |
|
182 | + * defaults to abbreviation |
|
183 | + * |
|
184 | + * @return string |
|
185 | + */ |
|
186 | + public function state() |
|
187 | + { |
|
188 | + if (apply_filters('FHEE__EEI_Address__state__use_abbreviation', true, $this->state_obj())) { |
|
189 | + return $this->state_abbrev(); |
|
190 | + } else { |
|
191 | + return $this->state_name(); |
|
192 | + } |
|
193 | + } |
|
194 | + |
|
195 | + |
|
196 | + /** |
|
197 | + * country_ID |
|
198 | + * |
|
199 | + * @return string |
|
200 | + */ |
|
201 | + public function country_ID() |
|
202 | + { |
|
203 | + return $this->get('CNT_ISO'); |
|
204 | + } |
|
205 | + |
|
206 | + |
|
207 | + /** |
|
208 | + * @return string |
|
209 | + */ |
|
210 | + public function country_name() |
|
211 | + { |
|
212 | + return $this->country_obj() instanceof EE_Country ? $this->country_obj()->name() : ''; |
|
213 | + } |
|
214 | + |
|
215 | + |
|
216 | + /** |
|
217 | + * Gets the country of this venue |
|
218 | + * |
|
219 | + * @return EE_Country |
|
220 | + */ |
|
221 | + public function country_obj() |
|
222 | + { |
|
223 | + return $this->get_first_related('Country'); |
|
224 | + } |
|
225 | + |
|
226 | + |
|
227 | + /** |
|
228 | + * either displays the country ISO2 code or the country name, as determined |
|
229 | + * by the "FHEE__EEI_Address__country__use_abbreviation" filter. |
|
230 | + * defaults to abbreviation |
|
231 | + * |
|
232 | + * @return string |
|
233 | + */ |
|
234 | + public function country() |
|
235 | + { |
|
236 | + if (apply_filters('FHEE__EEI_Address__country__use_abbreviation', true, $this->country_obj())) { |
|
237 | + return $this->country_ID(); |
|
238 | + } else { |
|
239 | + return $this->country_name(); |
|
240 | + } |
|
241 | + } |
|
242 | + |
|
243 | + |
|
244 | + /** |
|
245 | + * Gets zip |
|
246 | + * |
|
247 | + * @return string |
|
248 | + */ |
|
249 | + public function zip() |
|
250 | + { |
|
251 | + return $this->get('VNU_zip'); |
|
252 | + } |
|
253 | + |
|
254 | + |
|
255 | + /** |
|
256 | + * Gets capacity |
|
257 | + * |
|
258 | + * @return int |
|
259 | + */ |
|
260 | + public function capacity() |
|
261 | + { |
|
262 | + return $this->get_pretty('VNU_capacity', 'symbol'); |
|
263 | + } |
|
264 | + |
|
265 | + |
|
266 | + /** |
|
267 | + * Gets created |
|
268 | + * |
|
269 | + * @return string |
|
270 | + */ |
|
271 | + public function created() |
|
272 | + { |
|
273 | + return $this->get('VNU_created'); |
|
274 | + } |
|
275 | + |
|
276 | + |
|
277 | + /** |
|
278 | + * Gets modified |
|
279 | + * |
|
280 | + * @return string |
|
281 | + */ |
|
282 | + public function modified() |
|
283 | + { |
|
284 | + return $this->get('VNU_modified'); |
|
285 | + } |
|
286 | + |
|
287 | + |
|
288 | + /** |
|
289 | + * Gets order |
|
290 | + * |
|
291 | + * @return int |
|
292 | + */ |
|
293 | + public function order() |
|
294 | + { |
|
295 | + return $this->get('VNU_order'); |
|
296 | + } |
|
297 | + |
|
298 | + |
|
299 | + /** |
|
300 | + * Gets wp_user |
|
301 | + * |
|
302 | + * @return int |
|
303 | + */ |
|
304 | + public function wp_user() |
|
305 | + { |
|
306 | + return $this->get('VNU_wp_user'); |
|
307 | + } |
|
308 | + |
|
309 | + |
|
310 | + /** |
|
311 | + * @return string |
|
312 | + */ |
|
313 | + public function virtual_phone() |
|
314 | + { |
|
315 | + return $this->get('VNU_virtual_phone'); |
|
316 | + } |
|
317 | + |
|
318 | + |
|
319 | + /** |
|
320 | + * @return string |
|
321 | + */ |
|
322 | + public function virtual_url() |
|
323 | + { |
|
324 | + return $this->get('VNU_virtual_url'); |
|
325 | + } |
|
326 | + |
|
327 | + |
|
328 | + /** |
|
329 | + * @return bool |
|
330 | + */ |
|
331 | + public function enable_for_gmap() |
|
332 | + { |
|
333 | + return $this->get('VNU_enable_for_gmap'); |
|
334 | + } |
|
335 | + |
|
336 | + |
|
337 | + /** |
|
338 | + * @return string |
|
339 | + */ |
|
340 | + public function google_map_link() |
|
341 | + { |
|
342 | + return $this->get('VNU_google_map_link'); |
|
343 | + } |
|
344 | + |
|
345 | + |
|
346 | + /** |
|
347 | + * Gets all events happening at this venue. Query parameters can be added to |
|
348 | + * fetch a subset of those events. |
|
349 | + * |
|
350 | + * @param array $query_params @see https://github.com/eventespresso/event-espresso-core/tree/master/docs/G--Model-System/model-query-params.md |
|
351 | + * @param bool $upcoming |
|
352 | + * @return EE_Event[] |
|
353 | + */ |
|
354 | + public function events($query_params = array(), $upcoming = false) |
|
355 | + { |
|
356 | + if ($upcoming) { |
|
357 | + $query_params = array( |
|
358 | + array( |
|
359 | + 'status' => 'publish', |
|
360 | + 'Datetime.DTT_EVT_start' => array( |
|
361 | + '>', |
|
362 | + EEM_Datetime::instance()->current_time_for_query('DTT_EVT_start'), |
|
363 | + ), |
|
364 | + ), |
|
365 | + ); |
|
366 | + } |
|
367 | + return $this->get_many_related('Event', $query_params); |
|
368 | + } |
|
369 | + |
|
370 | + |
|
371 | + /** |
|
372 | + * Sets address |
|
373 | + */ |
|
374 | + public function set_address($address = '') |
|
375 | + { |
|
376 | + $this->set('VNU_address', $address); |
|
377 | + } |
|
378 | + |
|
379 | + |
|
380 | + /** |
|
381 | + * @param string $address2 |
|
382 | + */ |
|
383 | + public function set_address2($address2 = '') |
|
384 | + { |
|
385 | + $this->set('VNU_address2', $address2); |
|
386 | + } |
|
387 | + |
|
388 | + |
|
389 | + /** |
|
390 | + * @param string $city |
|
391 | + */ |
|
392 | + public function set_city($city = '') |
|
393 | + { |
|
394 | + $this->set('VNU_city', $city); |
|
395 | + } |
|
396 | + |
|
397 | + |
|
398 | + /** |
|
399 | + * @param int $state |
|
400 | + */ |
|
401 | + public function set_state_ID($state = 0) |
|
402 | + { |
|
403 | + $this->set('STA_ID', $state); |
|
404 | + } |
|
405 | + |
|
406 | + |
|
407 | + /** |
|
408 | + * Sets the state, given either a state id or state object |
|
409 | + * |
|
410 | + * @param EE_State /int $state_id_or_obj |
|
411 | + * @return EE_State |
|
412 | + */ |
|
413 | + public function set_state_obj($state_id_or_obj) |
|
414 | + { |
|
415 | + return $this->_add_relation_to($state_id_or_obj, 'State'); |
|
416 | + } |
|
417 | + |
|
418 | + |
|
419 | + /** |
|
420 | + * @param int $country_ID |
|
421 | + */ |
|
422 | + public function set_country_ID($country_ID = 0) |
|
423 | + { |
|
424 | + $this->set('CNT_ISO', $country_ID); |
|
425 | + } |
|
426 | + |
|
427 | + |
|
428 | + /** |
|
429 | + * Sets the country on the venue |
|
430 | + * |
|
431 | + * @param EE_Country /string $country_id_or_obj |
|
432 | + * @return EE_Country |
|
433 | + */ |
|
434 | + public function set_country_obj($country_id_or_obj) |
|
435 | + { |
|
436 | + return $this->_add_relation_to($country_id_or_obj, 'Country'); |
|
437 | + } |
|
438 | + |
|
439 | + |
|
440 | + /** |
|
441 | + * @param string $zip |
|
442 | + */ |
|
443 | + public function set_zip($zip = '') |
|
444 | + { |
|
445 | + $this->set('VNU_zip', $zip); |
|
446 | + } |
|
447 | + |
|
448 | + |
|
449 | + /** |
|
450 | + * @param int $capacity |
|
451 | + */ |
|
452 | + public function set_capacity($capacity = 0) |
|
453 | + { |
|
454 | + $this->set('VNU_capacity', $capacity); |
|
455 | + } |
|
456 | + |
|
457 | + |
|
458 | + /** |
|
459 | + * @param string $created |
|
460 | + */ |
|
461 | + public function set_created($created = '') |
|
462 | + { |
|
463 | + $this->set('VNU_created', $created); |
|
464 | + } |
|
465 | + |
|
466 | + |
|
467 | + /** |
|
468 | + * @param string $desc |
|
469 | + */ |
|
470 | + public function set_description($desc = '') |
|
471 | + { |
|
472 | + $this->set('VNU_desc', $desc); |
|
473 | + } |
|
474 | + |
|
475 | + |
|
476 | + /** |
|
477 | + * @param string $identifier |
|
478 | + */ |
|
479 | + public function set_identifier($identifier = '') |
|
480 | + { |
|
481 | + $this->set('VNU_identifier', $identifier); |
|
482 | + } |
|
483 | + |
|
484 | + |
|
485 | + /** |
|
486 | + * @param string $modified |
|
487 | + */ |
|
488 | + public function set_modified($modified = '') |
|
489 | + { |
|
490 | + $this->set('VNU_modified', $modified); |
|
491 | + } |
|
492 | + |
|
493 | + |
|
494 | + /** |
|
495 | + * @param string $name |
|
496 | + */ |
|
497 | + public function set_name($name = '') |
|
498 | + { |
|
499 | + $this->set('VNU_name', $name); |
|
500 | + } |
|
501 | + |
|
502 | + |
|
503 | + /** |
|
504 | + * @param int $order |
|
505 | + */ |
|
506 | + public function set_order($order = 0) |
|
507 | + { |
|
508 | + $this->set('VNU_order', $order); |
|
509 | + } |
|
510 | + |
|
511 | + |
|
512 | + /** |
|
513 | + * @param string $phone |
|
514 | + */ |
|
515 | + public function set_phone($phone = '') |
|
516 | + { |
|
517 | + $this->set('VNU_phone', $phone); |
|
518 | + } |
|
519 | + |
|
520 | + |
|
521 | + /** |
|
522 | + * @param int $wp_user |
|
523 | + */ |
|
524 | + public function set_wp_user($wp_user = 1) |
|
525 | + { |
|
526 | + $this->set('VNU_wp_user', $wp_user); |
|
527 | + } |
|
528 | + |
|
529 | + |
|
530 | + /** |
|
531 | + * @param string $url |
|
532 | + */ |
|
533 | + public function set_venue_url($url = '') |
|
534 | + { |
|
535 | + $this->set('VNU_url', $url); |
|
536 | + } |
|
537 | + |
|
538 | + |
|
539 | + /** |
|
540 | + * @param string $phone |
|
541 | + */ |
|
542 | + public function set_virtual_phone($phone = '') |
|
543 | + { |
|
544 | + $this->set('VNU_virtual_phone', $phone); |
|
545 | + } |
|
546 | + |
|
547 | + |
|
548 | + /** |
|
549 | + * @param string $url |
|
550 | + */ |
|
551 | + public function set_virtual_url($url = '') |
|
552 | + { |
|
553 | + $this->set('VNU_virtual_url', $url); |
|
554 | + } |
|
555 | + |
|
556 | + |
|
557 | + /** |
|
558 | + * @param string $enable |
|
559 | + */ |
|
560 | + public function set_enable_for_gmap($enable = '') |
|
561 | + { |
|
562 | + $this->set('VNU_enable_for_gmap', $enable); |
|
563 | + } |
|
564 | + |
|
565 | + |
|
566 | + /** |
|
567 | + * @param string $google_map_link |
|
568 | + */ |
|
569 | + public function set_google_map_link($google_map_link = '') |
|
570 | + { |
|
571 | + $this->set('VNU_google_map_link', $google_map_link); |
|
572 | + } |
|
573 | 573 | } |
@@ -18,17 +18,17 @@ |
||
18 | 18 | */ |
19 | 19 | class RestPasswordRequiredException extends RestException |
20 | 20 | { |
21 | - public function __construct($previous = null) |
|
22 | - { |
|
23 | - parent::__construct( |
|
24 | - 'rest_post_password_required', |
|
25 | - esc_html__('A password is required to access this content.', 'event_espresso'), |
|
26 | - array( |
|
27 | - 'status' => 403, |
|
28 | - ), |
|
29 | - $previous |
|
30 | - ); |
|
31 | - } |
|
21 | + public function __construct($previous = null) |
|
22 | + { |
|
23 | + parent::__construct( |
|
24 | + 'rest_post_password_required', |
|
25 | + esc_html__('A password is required to access this content.', 'event_espresso'), |
|
26 | + array( |
|
27 | + 'status' => 403, |
|
28 | + ), |
|
29 | + $previous |
|
30 | + ); |
|
31 | + } |
|
32 | 32 | } |
33 | 33 | // End of file RestPasswordRequired.php |
34 | 34 | // Location: EventEspresso\core\exceptions/RestPasswordRequired.php |
@@ -18,27 +18,27 @@ |
||
18 | 18 | */ |
19 | 19 | class ModelConfigurationException extends DomainException |
20 | 20 | { |
21 | - /** |
|
22 | - * ModelConfigurationException constructor. |
|
23 | - * |
|
24 | - * @param EEM_Base $model |
|
25 | - * @param string $message Describe what's misconfigured about this model (don't bother mentioning which model, |
|
26 | - * that will be automatically added to the message based on the $model provided in the previous parameter). |
|
27 | - * @param int $code |
|
28 | - * @param Exception $previous |
|
29 | - */ |
|
30 | - public function __construct(EEM_Base $model, $message, $code = 0, Exception $previous = null) |
|
31 | - { |
|
32 | - $message_part_1 = sprintf( |
|
33 | - /* |
|
21 | + /** |
|
22 | + * ModelConfigurationException constructor. |
|
23 | + * |
|
24 | + * @param EEM_Base $model |
|
25 | + * @param string $message Describe what's misconfigured about this model (don't bother mentioning which model, |
|
26 | + * that will be automatically added to the message based on the $model provided in the previous parameter). |
|
27 | + * @param int $code |
|
28 | + * @param Exception $previous |
|
29 | + */ |
|
30 | + public function __construct(EEM_Base $model, $message, $code = 0, Exception $previous = null) |
|
31 | + { |
|
32 | + $message_part_1 = sprintf( |
|
33 | + /* |
|
34 | 34 | * translators: 1: the model name |
35 | 35 | */ |
36 | - esc_html__('The model "%1$s" appears to be misconfigured.', 'event_espresso'), |
|
37 | - $model->get_this_model_name() |
|
38 | - ); |
|
39 | - $message = $message_part_1 . ' ' . $message; |
|
40 | - parent::__construct($message, $code, $previous); |
|
41 | - } |
|
36 | + esc_html__('The model "%1$s" appears to be misconfigured.', 'event_espresso'), |
|
37 | + $model->get_this_model_name() |
|
38 | + ); |
|
39 | + $message = $message_part_1 . ' ' . $message; |
|
40 | + parent::__construct($message, $code, $previous); |
|
41 | + } |
|
42 | 42 | } |
43 | 43 | // End of file ModelConfigurationException.php |
44 | 44 | // Location: EventEspresso\core\exceptions/ModelConfigurationException.php |
@@ -36,7 +36,7 @@ |
||
36 | 36 | esc_html__('The model "%1$s" appears to be misconfigured.', 'event_espresso'), |
37 | 37 | $model->get_this_model_name() |
38 | 38 | ); |
39 | - $message = $message_part_1 . ' ' . $message; |
|
39 | + $message = $message_part_1.' '.$message; |
|
40 | 40 | parent::__construct($message, $code, $previous); |
41 | 41 | } |
42 | 42 | } |
@@ -16,17 +16,17 @@ |
||
16 | 16 | */ |
17 | 17 | class RestPasswordIncorrectException extends RestException |
18 | 18 | { |
19 | - public function __construct($previous = null) |
|
20 | - { |
|
21 | - parent::__construct( |
|
22 | - 'rest_post_incorrect_password', |
|
23 | - esc_html__('Incorrect password.', 'event_espresso'), |
|
24 | - array( |
|
25 | - 'status' => 403, |
|
26 | - ), |
|
27 | - $previous |
|
28 | - ); |
|
29 | - } |
|
19 | + public function __construct($previous = null) |
|
20 | + { |
|
21 | + parent::__construct( |
|
22 | + 'rest_post_incorrect_password', |
|
23 | + esc_html__('Incorrect password.', 'event_espresso'), |
|
24 | + array( |
|
25 | + 'status' => 403, |
|
26 | + ), |
|
27 | + $previous |
|
28 | + ); |
|
29 | + } |
|
30 | 30 | } |
31 | 31 | // End of file RestPasswordIncorrectException.php |
32 | 32 | // Location: EventEspresso\core\exceptions/RestPasswordIncorrectException.php |
@@ -42,10 +42,10 @@ |
||
42 | 42 | ); |
43 | 43 | // this model is generally available for reading |
44 | 44 | $path_to_event = 'Datetime.Event'; |
45 | - $this->_cap_restriction_generators[ EEM_Base::caps_read ] = new EE_Restriction_Generator_Event_Related_Public($path_to_event); |
|
46 | - $this->_cap_restriction_generators[ EEM_Base::caps_read_admin ] = new EE_Restriction_Generator_Event_Related_Protected($path_to_event); |
|
47 | - $this->_cap_restriction_generators[ EEM_Base::caps_edit ] = new EE_Restriction_Generator_Event_Related_Protected($path_to_event); |
|
48 | - $this->_cap_restriction_generators[ EEM_Base::caps_delete ] = new EE_Restriction_Generator_Event_Related_Protected($path_to_event, EEM_Base::caps_edit); |
|
45 | + $this->_cap_restriction_generators[EEM_Base::caps_read] = new EE_Restriction_Generator_Event_Related_Public($path_to_event); |
|
46 | + $this->_cap_restriction_generators[EEM_Base::caps_read_admin] = new EE_Restriction_Generator_Event_Related_Protected($path_to_event); |
|
47 | + $this->_cap_restriction_generators[EEM_Base::caps_edit] = new EE_Restriction_Generator_Event_Related_Protected($path_to_event); |
|
48 | + $this->_cap_restriction_generators[EEM_Base::caps_delete] = new EE_Restriction_Generator_Event_Related_Protected($path_to_event, EEM_Base::caps_edit); |
|
49 | 49 | $this->model_chain_to_password = $path_to_event; |
50 | 50 | parent::__construct($timezone); |
51 | 51 | } |
@@ -13,41 +13,41 @@ |
||
13 | 13 | { |
14 | 14 | |
15 | 15 | |
16 | - // private instance of the EEM_Datetime_Ticket object |
|
17 | - protected static $_instance = null; |
|
16 | + // private instance of the EEM_Datetime_Ticket object |
|
17 | + protected static $_instance = null; |
|
18 | 18 | |
19 | - /** |
|
20 | - * private constructor to prevent direct creation |
|
21 | - * @Constructor |
|
22 | - * @access private |
|
23 | - * @param string $timezone string representing the timezone we want to set for returned Date Time Strings (and any incoming timezone data that gets saved). Note this just sends the timezone info to the date time model field objects. Default is NULL (and will be assumed using the set timezone in the 'timezone_string' wp option) |
|
24 | - * @return void |
|
25 | - */ |
|
26 | - protected function __construct($timezone) |
|
27 | - { |
|
28 | - $this->singular_item = esc_html__('Datetime Ticket', 'event_espresso'); |
|
29 | - $this->plural_item = esc_html__('Datetime Tickets', 'event_espresso'); |
|
19 | + /** |
|
20 | + * private constructor to prevent direct creation |
|
21 | + * @Constructor |
|
22 | + * @access private |
|
23 | + * @param string $timezone string representing the timezone we want to set for returned Date Time Strings (and any incoming timezone data that gets saved). Note this just sends the timezone info to the date time model field objects. Default is NULL (and will be assumed using the set timezone in the 'timezone_string' wp option) |
|
24 | + * @return void |
|
25 | + */ |
|
26 | + protected function __construct($timezone) |
|
27 | + { |
|
28 | + $this->singular_item = esc_html__('Datetime Ticket', 'event_espresso'); |
|
29 | + $this->plural_item = esc_html__('Datetime Tickets', 'event_espresso'); |
|
30 | 30 | |
31 | - $this->_tables = array( |
|
32 | - 'Datetime_Ticket' => new EE_Primary_Table('esp_datetime_ticket', 'DTK_ID') |
|
33 | - ); |
|
34 | - $this->_fields = array( |
|
35 | - 'Datetime_Ticket' => array( |
|
36 | - 'DTK_ID' => new EE_Primary_Key_Int_Field('DTK_ID', esc_html__('Datetime Ticket ID', 'event_espresso')), |
|
37 | - 'DTT_ID' => new EE_Foreign_Key_Int_Field('DTT_ID', esc_html__('The ID to the Datetime', 'event_espresso'), false, 0, 'Datetime'), |
|
38 | - 'TKT_ID' => new EE_Foreign_Key_Int_Field('TKT_ID', esc_html__('The ID to the Ticket', 'event_espresso'), false, 0, 'Ticket') |
|
39 | - )); |
|
40 | - $this->_model_relations = array( |
|
41 | - 'Ticket' => new EE_Belongs_To_Relation(), |
|
42 | - 'Datetime' => new EE_Belongs_To_Relation() |
|
43 | - ); |
|
44 | - // this model is generally available for reading |
|
45 | - $path_to_event = 'Datetime.Event'; |
|
46 | - $this->_cap_restriction_generators[ EEM_Base::caps_read ] = new EE_Restriction_Generator_Event_Related_Public($path_to_event); |
|
47 | - $this->_cap_restriction_generators[ EEM_Base::caps_read_admin ] = new EE_Restriction_Generator_Event_Related_Protected($path_to_event); |
|
48 | - $this->_cap_restriction_generators[ EEM_Base::caps_edit ] = new EE_Restriction_Generator_Event_Related_Protected($path_to_event); |
|
49 | - $this->_cap_restriction_generators[ EEM_Base::caps_delete ] = new EE_Restriction_Generator_Event_Related_Protected($path_to_event, EEM_Base::caps_edit); |
|
50 | - $this->model_chain_to_password = $path_to_event; |
|
51 | - parent::__construct($timezone); |
|
52 | - } |
|
31 | + $this->_tables = array( |
|
32 | + 'Datetime_Ticket' => new EE_Primary_Table('esp_datetime_ticket', 'DTK_ID') |
|
33 | + ); |
|
34 | + $this->_fields = array( |
|
35 | + 'Datetime_Ticket' => array( |
|
36 | + 'DTK_ID' => new EE_Primary_Key_Int_Field('DTK_ID', esc_html__('Datetime Ticket ID', 'event_espresso')), |
|
37 | + 'DTT_ID' => new EE_Foreign_Key_Int_Field('DTT_ID', esc_html__('The ID to the Datetime', 'event_espresso'), false, 0, 'Datetime'), |
|
38 | + 'TKT_ID' => new EE_Foreign_Key_Int_Field('TKT_ID', esc_html__('The ID to the Ticket', 'event_espresso'), false, 0, 'Ticket') |
|
39 | + )); |
|
40 | + $this->_model_relations = array( |
|
41 | + 'Ticket' => new EE_Belongs_To_Relation(), |
|
42 | + 'Datetime' => new EE_Belongs_To_Relation() |
|
43 | + ); |
|
44 | + // this model is generally available for reading |
|
45 | + $path_to_event = 'Datetime.Event'; |
|
46 | + $this->_cap_restriction_generators[ EEM_Base::caps_read ] = new EE_Restriction_Generator_Event_Related_Public($path_to_event); |
|
47 | + $this->_cap_restriction_generators[ EEM_Base::caps_read_admin ] = new EE_Restriction_Generator_Event_Related_Protected($path_to_event); |
|
48 | + $this->_cap_restriction_generators[ EEM_Base::caps_edit ] = new EE_Restriction_Generator_Event_Related_Protected($path_to_event); |
|
49 | + $this->_cap_restriction_generators[ EEM_Base::caps_delete ] = new EE_Restriction_Generator_Event_Related_Protected($path_to_event, EEM_Base::caps_edit); |
|
50 | + $this->model_chain_to_password = $path_to_event; |
|
51 | + parent::__construct($timezone); |
|
52 | + } |
|
53 | 53 | } |