@@ -29,9 +29,9 @@ discard block |
||
29 | 29 | protected $_model_name; |
30 | 30 | |
31 | 31 | /** |
32 | - * @param $table_column |
|
32 | + * @param string $table_column |
|
33 | 33 | * @param $nicename |
34 | - * @param $nullable |
|
34 | + * @param boolean $nullable |
|
35 | 35 | * @param null $default_value |
36 | 36 | */ |
37 | 37 | function __construct($table_column, $nicename, $nullable, $default_value = null){ |
@@ -117,7 +117,7 @@ discard block |
||
117 | 117 | * the field's type. Eg, we may want ot serialize it, strip tags, etc. By default, |
118 | 118 | * we simply return it. |
119 | 119 | * @param mixed $value_of_field_on_model_object |
120 | - * @return mixed |
|
120 | + * @return double |
|
121 | 121 | */ |
122 | 122 | function prepare_for_get($value_of_field_on_model_object){ |
123 | 123 | return $value_of_field_on_model_object; |
@@ -1,5 +1,5 @@ discard block |
||
1 | -<?php if ( ! defined( 'EVENT_ESPRESSO_VERSION' ) ) { |
|
2 | - exit( 'No direct script access allowed' ); |
|
1 | +<?php if ( ! defined('EVENT_ESPRESSO_VERSION')) { |
|
2 | + exit('No direct script access allowed'); |
|
3 | 3 | } |
4 | 4 | /** |
5 | 5 | * |
@@ -18,7 +18,7 @@ discard block |
||
18 | 18 | * @subpackage /core/db_models/fields/EE_Model_Field_Base.php |
19 | 19 | * @author Michael Nelson |
20 | 20 | */ |
21 | -abstract class EE_Model_Field_Base{ |
|
21 | +abstract class EE_Model_Field_Base { |
|
22 | 22 | var $_table_alias; |
23 | 23 | var $_table_column; |
24 | 24 | var $_name; |
@@ -34,7 +34,7 @@ discard block |
||
34 | 34 | * @param $nullable |
35 | 35 | * @param null $default_value |
36 | 36 | */ |
37 | - function __construct($table_column, $nicename, $nullable, $default_value = null){ |
|
37 | + function __construct($table_column, $nicename, $nullable, $default_value = null) { |
|
38 | 38 | $this->_table_column = $table_column; |
39 | 39 | $this->_nicename = $nicename; |
40 | 40 | $this->_nullable = $nullable; |
@@ -48,22 +48,22 @@ discard block |
||
48 | 48 | * @param $name |
49 | 49 | * @param $model_name |
50 | 50 | */ |
51 | - function _construct_finalize($table_alias, $name, $model_name){ |
|
51 | + function _construct_finalize($table_alias, $name, $model_name) { |
|
52 | 52 | $this->_table_alias = $table_alias; |
53 | 53 | $this->_name = $name; |
54 | 54 | $this->_model_name = $model_name; |
55 | 55 | } |
56 | - function get_table_alias(){ |
|
56 | + function get_table_alias() { |
|
57 | 57 | return $this->_table_alias; |
58 | 58 | } |
59 | - function get_table_column(){ |
|
59 | + function get_table_column() { |
|
60 | 60 | return $this->_table_column; |
61 | 61 | } |
62 | 62 | /** |
63 | 63 | * Returns the name of the model this field is on. Eg 'Event' or 'Ticket_Datetime' |
64 | 64 | * @return string |
65 | 65 | */ |
66 | - function get_model_name(){ |
|
66 | + function get_model_name() { |
|
67 | 67 | return $this->_model_name; |
68 | 68 | } |
69 | 69 | |
@@ -71,17 +71,17 @@ discard block |
||
71 | 71 | * @throws \EE_Error |
72 | 72 | * @return string |
73 | 73 | */ |
74 | - function get_name(){ |
|
75 | - if($this->_name){ |
|
74 | + function get_name() { |
|
75 | + if ($this->_name) { |
|
76 | 76 | return $this->_name; |
77 | - }else{ |
|
78 | - throw new EE_Error(sprintf(__("Model field '%s' has no name set. Did you make a model and forget to call the parent model constructor?", "event_espresso"),get_class($this))); |
|
77 | + } else { |
|
78 | + throw new EE_Error(sprintf(__("Model field '%s' has no name set. Did you make a model and forget to call the parent model constructor?", "event_espresso"), get_class($this))); |
|
79 | 79 | } |
80 | 80 | } |
81 | - function get_nicename(){ |
|
81 | + function get_nicename() { |
|
82 | 82 | return $this->_nicename; |
83 | 83 | } |
84 | - function is_nullable(){ |
|
84 | + function is_nullable() { |
|
85 | 85 | return $this->_nullable; |
86 | 86 | } |
87 | 87 | /** |
@@ -89,7 +89,7 @@ discard block |
||
89 | 89 | * on insertion it can be null. However, on updates it must be present. |
90 | 90 | * @return boolean |
91 | 91 | */ |
92 | - function is_auto_increment(){ |
|
92 | + function is_auto_increment() { |
|
93 | 93 | return false; |
94 | 94 | } |
95 | 95 | /** |
@@ -97,7 +97,7 @@ discard block |
||
97 | 97 | * value domains at the top of EEM_Base |
98 | 98 | * @return mixed |
99 | 99 | */ |
100 | - function get_default_value(){ |
|
100 | + function get_default_value() { |
|
101 | 101 | return $this->_default_value; |
102 | 102 | } |
103 | 103 | |
@@ -108,7 +108,7 @@ discard block |
||
108 | 108 | * in the current query |
109 | 109 | * @return string |
110 | 110 | */ |
111 | - function get_qualified_column(){ |
|
111 | + function get_qualified_column() { |
|
112 | 112 | return $this->get_table_alias().".".$this->get_table_column(); |
113 | 113 | } |
114 | 114 | /** |
@@ -119,7 +119,7 @@ discard block |
||
119 | 119 | * @param mixed $value_of_field_on_model_object |
120 | 120 | * @return mixed |
121 | 121 | */ |
122 | - function prepare_for_get($value_of_field_on_model_object){ |
|
122 | + function prepare_for_get($value_of_field_on_model_object) { |
|
123 | 123 | return $value_of_field_on_model_object; |
124 | 124 | } |
125 | 125 | /** |
@@ -129,7 +129,7 @@ discard block |
||
129 | 129 | * @param mixed $value_of_field_on_model_object |
130 | 130 | * @return mixed |
131 | 131 | */ |
132 | - function prepare_for_use_in_db($value_of_field_on_model_object){ |
|
132 | + function prepare_for_use_in_db($value_of_field_on_model_object) { |
|
133 | 133 | return $value_of_field_on_model_object; |
134 | 134 | } |
135 | 135 | |
@@ -140,7 +140,7 @@ discard block |
||
140 | 140 | * @param mixed $value_inputted_for_field_on_model_object |
141 | 141 | * @return mixed |
142 | 142 | */ |
143 | - function prepare_for_set($value_inputted_for_field_on_model_object){ |
|
143 | + function prepare_for_set($value_inputted_for_field_on_model_object) { |
|
144 | 144 | return $value_inputted_for_field_on_model_object; |
145 | 145 | } |
146 | 146 | |
@@ -151,7 +151,7 @@ discard block |
||
151 | 151 | * @param mixed $value_found_in_db_for_model_object |
152 | 152 | * @return mixed |
153 | 153 | */ |
154 | - function prepare_for_set_from_db($value_found_in_db_for_model_object){ |
|
154 | + function prepare_for_set_from_db($value_found_in_db_for_model_object) { |
|
155 | 155 | return $this->prepare_for_set($value_found_in_db_for_model_object); |
156 | 156 | } |
157 | 157 | |
@@ -162,7 +162,7 @@ discard block |
||
162 | 162 | * @param mixed $value_on_field_to_be_outputted |
163 | 163 | * @return mixed |
164 | 164 | */ |
165 | - function prepare_for_pretty_echoing( $value_on_field_to_be_outputted ){ |
|
165 | + function prepare_for_pretty_echoing($value_on_field_to_be_outputted) { |
|
166 | 166 | return $value_on_field_to_be_outputted; |
167 | 167 | } |
168 | 168 | |
@@ -177,7 +177,7 @@ discard block |
||
177 | 177 | * By default, all fields aren't db-only. |
178 | 178 | * @return boolean |
179 | 179 | */ |
180 | - function is_db_only_field(){ |
|
180 | + function is_db_only_field() { |
|
181 | 181 | return false; |
182 | 182 | } |
183 | 183 | } |
184 | 184 | \ No newline at end of file |
@@ -74,7 +74,7 @@ |
||
74 | 74 | function get_name(){ |
75 | 75 | if($this->_name){ |
76 | 76 | return $this->_name; |
77 | - }else{ |
|
77 | + } else{ |
|
78 | 78 | throw new EE_Error(sprintf(__("Model field '%s' has no name set. Did you make a model and forget to call the parent model constructor?", "event_espresso"),get_class($this))); |
79 | 79 | } |
80 | 80 | } |
@@ -4,6 +4,7 @@ |
||
4 | 4 | * Overrides parent so it doesn't need to provide so many non-applicable fields |
5 | 5 | * @param string $table_column |
6 | 6 | * @param string $nicename |
7 | + * @param integer|null $default |
|
7 | 8 | */ |
8 | 9 | public function __construct($table_column, $nicename,$default) { |
9 | 10 | parent::__construct($table_column, $nicename, false, $default, null); |
@@ -1,18 +1,18 @@ |
||
1 | 1 | <?php |
2 | -abstract class EE_Primary_Key_Field_Base extends EE_Field_With_Model_Name{ |
|
2 | +abstract class EE_Primary_Key_Field_Base extends EE_Field_With_Model_Name { |
|
3 | 3 | /** |
4 | 4 | * Overrides parent so it doesn't need to provide so many non-applicable fields |
5 | 5 | * @param string $table_column |
6 | 6 | * @param string $nicename |
7 | 7 | */ |
8 | - public function __construct($table_column, $nicename,$default) { |
|
8 | + public function __construct($table_column, $nicename, $default) { |
|
9 | 9 | parent::__construct($table_column, $nicename, false, $default, null); |
10 | 10 | } |
11 | 11 | /** |
12 | 12 | * @param $table_alias |
13 | 13 | * @param $name |
14 | 14 | */ |
15 | - function _construct_finalize($table_alias, $name, $model_name){ |
|
15 | + function _construct_finalize($table_alias, $name, $model_name) { |
|
16 | 16 | $this->_model_name_pointed_to = $model_name; |
17 | 17 | parent::_construct_finalize($table_alias, $name, $model_name); |
18 | 18 | } |
@@ -4,6 +4,10 @@ |
||
4 | 4 | function get_wpdb_data_type(){ |
5 | 5 | return '%d'; |
6 | 6 | } |
7 | + |
|
8 | + /** |
|
9 | + * @param string $table_column |
|
10 | + */ |
|
7 | 11 | public function __construct($table_column, $nicename) { |
8 | 12 | parent::__construct($table_column, $nicename, 0); |
9 | 13 | } |
@@ -1,14 +1,14 @@ |
||
1 | 1 | <?php |
2 | -require_once( EE_MODELS . 'fields/EE_Primary_Key_Field_Base.php'); |
|
3 | -class EE_Primary_Key_Int_Field extends EE_Primary_Key_Field_Base{ |
|
4 | - function get_wpdb_data_type(){ |
|
2 | +require_once(EE_MODELS.'fields/EE_Primary_Key_Field_Base.php'); |
|
3 | +class EE_Primary_Key_Int_Field extends EE_Primary_Key_Field_Base { |
|
4 | + function get_wpdb_data_type() { |
|
5 | 5 | return '%d'; |
6 | 6 | } |
7 | 7 | public function __construct($table_column, $nicename) { |
8 | 8 | parent::__construct($table_column, $nicename, 0); |
9 | 9 | } |
10 | 10 | function prepare_for_set($value_inputted_for_field_on_model_object) { |
11 | - if($this->is_model_obj_of_type_pointed_to($value_inputted_for_field_on_model_object)){ |
|
11 | + if ($this->is_model_obj_of_type_pointed_to($value_inputted_for_field_on_model_object)) { |
|
12 | 12 | $value_inputted_for_field_on_model_object = $value_inputted_for_field_on_model_object->ID(); |
13 | 13 | } |
14 | 14 | return absint($value_inputted_for_field_on_model_object); |
@@ -4,6 +4,10 @@ |
||
4 | 4 | function get_wpdb_data_type(){ |
5 | 5 | return '%s'; |
6 | 6 | } |
7 | + |
|
8 | + /** |
|
9 | + * @param string $table_column |
|
10 | + */ |
|
7 | 11 | public function __construct($table_column, $nicename) { |
8 | 12 | parent::__construct($table_column, $nicename, NULL); |
9 | 13 | } |
@@ -1,7 +1,7 @@ discard block |
||
1 | 1 | <?php |
2 | 2 | require_once('EE_Primary_Key_Field_Base.php'); |
3 | -class EE_Primary_Key_String_Field extends EE_Primary_Key_Field_Base{ |
|
4 | - function get_wpdb_data_type(){ |
|
3 | +class EE_Primary_Key_String_Field extends EE_Primary_Key_Field_Base { |
|
4 | + function get_wpdb_data_type() { |
|
5 | 5 | return '%s'; |
6 | 6 | } |
7 | 7 | public function __construct($table_column, $nicename) { |
@@ -13,7 +13,7 @@ discard block |
||
13 | 13 | * @return string |
14 | 14 | */ |
15 | 15 | function prepare_for_set($value_inputted_for_field_on_model_object) { |
16 | - if($this->is_model_obj_of_type_pointed_to($value_inputted_for_field_on_model_object)){ |
|
16 | + if ($this->is_model_obj_of_type_pointed_to($value_inputted_for_field_on_model_object)) { |
|
17 | 17 | $value_inputted_for_field_on_model_object = $value_inputted_for_field_on_model_object->ID(); |
18 | 18 | } |
19 | 19 | return wp_strip_all_tags($value_inputted_for_field_on_model_object); |
@@ -26,7 +26,6 @@ |
||
26 | 26 | * ) |
27 | 27 | * ) |
28 | 28 | * @link http://codex.wordpress.org/Function_Reference/register_post_status for more info |
29 | - * @param boolean $store_in_db_as_int By default, enums are stored as STRINGS in the DB. However, if this var is set to true, it will be stored as an INT |
|
30 | 29 | */ |
31 | 30 | function __construct($table_column, $nicename, $nullable, $default_value, $new_stati = array()){ |
32 | 31 | $this->_register_new_stati( $new_stati ); |
@@ -1,6 +1,6 @@ discard block |
||
1 | 1 | <?php |
2 | -require_once( EE_MODELS . 'fields/EE_Enum_Text_Field.php' ); |
|
3 | -class EE_WP_Post_Status_Field extends EE_Enum_Text_Field{ |
|
2 | +require_once(EE_MODELS.'fields/EE_Enum_Text_Field.php'); |
|
3 | +class EE_WP_Post_Status_Field extends EE_Enum_Text_Field { |
|
4 | 4 | |
5 | 5 | protected $_wp_post_stati; |
6 | 6 | |
@@ -28,8 +28,8 @@ discard block |
||
28 | 28 | * @link http://codex.wordpress.org/Function_Reference/register_post_status for more info |
29 | 29 | * @param boolean $store_in_db_as_int By default, enums are stored as STRINGS in the DB. However, if this var is set to true, it will be stored as an INT |
30 | 30 | */ |
31 | - function __construct($table_column, $nicename, $nullable, $default_value, $new_stati = array()){ |
|
32 | - $this->_register_new_stati( $new_stati ); |
|
31 | + function __construct($table_column, $nicename, $nullable, $default_value, $new_stati = array()) { |
|
32 | + $this->_register_new_stati($new_stati); |
|
33 | 33 | $this->_set_allowed_enum_values(); |
34 | 34 | parent::__construct($table_column, $nicename, $nullable, $default_value, $this->_allowed_enum_values); |
35 | 35 | } |
@@ -46,18 +46,18 @@ discard block |
||
46 | 46 | * @param array $new_stati statuses |
47 | 47 | * @return void |
48 | 48 | */ |
49 | - protected function _register_new_stati( $new_stati ) { |
|
49 | + protected function _register_new_stati($new_stati) { |
|
50 | 50 | |
51 | - foreach ( (array) $new_stati as $status_key => $status_args ) { |
|
51 | + foreach ((array) $new_stati as $status_key => $status_args) { |
|
52 | 52 | $args = array( |
53 | - 'label' => isset( $status_args['label'] ) ? $status_args['label'] : $status_key, |
|
54 | - 'public' => isset( $status_args['public'] ) && is_bool( $status_args['public'] ) ? $status_args['public'] : TRUE, |
|
55 | - 'exclude_from_search' => isset( $status_args['exclude_from_search'] ) && is_bool($status_args['exclude_from_search'] ) ? $status_args['exclude_from_search'] : FALSE, |
|
56 | - 'show_in_admin_all_list' => isset( $status_args['show_in_admin_all_list'] ) && is_bool( $status_args['show_in_admin_all_list'] ) ? $status_args['show_in_admin_all_list'] : FALSE, |
|
57 | - 'show_in_admin_status_list' => isset( $status_args['show_in_admin_status_list'] ) && is_bool( $status_args['show_in_admin_status_list'] ) ? $status_args['show_in_admin_status_list'] : TRUE, |
|
58 | - 'label_count' => isset( $status_args['label_count'] ) ? $status_args['label_count'] : '' |
|
53 | + 'label' => isset($status_args['label']) ? $status_args['label'] : $status_key, |
|
54 | + 'public' => isset($status_args['public']) && is_bool($status_args['public']) ? $status_args['public'] : TRUE, |
|
55 | + 'exclude_from_search' => isset($status_args['exclude_from_search']) && is_bool($status_args['exclude_from_search']) ? $status_args['exclude_from_search'] : FALSE, |
|
56 | + 'show_in_admin_all_list' => isset($status_args['show_in_admin_all_list']) && is_bool($status_args['show_in_admin_all_list']) ? $status_args['show_in_admin_all_list'] : FALSE, |
|
57 | + 'show_in_admin_status_list' => isset($status_args['show_in_admin_status_list']) && is_bool($status_args['show_in_admin_status_list']) ? $status_args['show_in_admin_status_list'] : TRUE, |
|
58 | + 'label_count' => isset($status_args['label_count']) ? $status_args['label_count'] : '' |
|
59 | 59 | ); |
60 | - register_post_status( $status_key, $status_args ); |
|
60 | + register_post_status($status_key, $status_args); |
|
61 | 61 | } |
62 | 62 | |
63 | 63 | } |
@@ -78,7 +78,7 @@ discard block |
||
78 | 78 | global $wp_post_statuses; |
79 | 79 | $this->_wp_post_stati = $wp_post_statuses; |
80 | 80 | |
81 | - foreach( $this->_wp_post_stati as $post_status => $args_object ) { |
|
81 | + foreach ($this->_wp_post_stati as $post_status => $args_object) { |
|
82 | 82 | $this->_allowed_enum_values[$post_status] = $args_object->label; |
83 | 83 | } |
84 | 84 | |
@@ -108,7 +108,7 @@ discard block |
||
108 | 108 | * @param string $status What status object you want |
109 | 109 | * @return std_object the status object or FALSE if it doesn't exist. |
110 | 110 | */ |
111 | - public function get_status_object( $status ) { |
|
112 | - return isset( $this->_wp_post_stati[$status] ) ? $this->_wp_post_stati[$status] : FALSE; |
|
111 | + public function get_status_object($status) { |
|
112 | + return isset($this->_wp_post_stati[$status]) ? $this->_wp_post_stati[$status] : FALSE; |
|
113 | 113 | } |
114 | 114 | } |
115 | 115 | \ No newline at end of file |
@@ -43,16 +43,30 @@ discard block |
||
43 | 43 | |
44 | 44 | private $_group_by_sql; |
45 | 45 | |
46 | + /** |
|
47 | + * @param string $limit_sql |
|
48 | + */ |
|
46 | 49 | function set_limit_sql($limit_sql){ |
47 | 50 | $this->_limit_sql = $limit_sql; |
48 | 51 | } |
49 | 52 | |
53 | + /** |
|
54 | + * @param string $order_by_sql |
|
55 | + */ |
|
50 | 56 | function set_order_by_sql($order_by_sql){ |
51 | 57 | $this->_order_by_sql = $order_by_sql; |
52 | 58 | } |
59 | + |
|
60 | + /** |
|
61 | + * @param string $group_by_sql |
|
62 | + */ |
|
53 | 63 | function set_group_by_sql($group_by_sql){ |
54 | 64 | $this->_group_by_sql = $group_by_sql; |
55 | 65 | } |
66 | + |
|
67 | + /** |
|
68 | + * @param string $having_sql |
|
69 | + */ |
|
56 | 70 | function set_having_sql($having_sql){ |
57 | 71 | $this->_having_sql = $having_sql; |
58 | 72 | } |
@@ -72,7 +86,6 @@ discard block |
||
72 | 86 | * |
73 | 87 | * @param type $model_included_name |
74 | 88 | * @param type $join_sql |
75 | - * @param type $data_types |
|
76 | 89 | */ |
77 | 90 | public function __construct($model_included_name= array(), $join_sql = ''){ |
78 | 91 | $this->_models_included = $model_included_name; |
@@ -11,8 +11,8 @@ discard block |
||
11 | 11 | */ |
12 | 12 | class EE_Model_Query_Info_Carrier extends EE_Base{ |
13 | 13 | /** |
14 | - * @var string SQL for performing joins (Eg, "INNER JOIN blah ON blah=blah INNER JOIN FOO ON foo=foo...") |
|
15 | - */ |
|
14 | + * @var string SQL for performing joins (Eg, "INNER JOIN blah ON blah=blah INNER JOIN FOO ON foo=foo...") |
|
15 | + */ |
|
16 | 16 | private $_join_sql; |
17 | 17 | /** |
18 | 18 | * |
@@ -132,7 +132,7 @@ discard block |
||
132 | 132 | * @return string |
133 | 133 | */ |
134 | 134 | public function get_main_model_join_sql() { |
135 | - return $this->_main_join_sql; |
|
135 | + return $this->_main_join_sql; |
|
136 | 136 | } |
137 | 137 | |
138 | 138 |
@@ -9,7 +9,7 @@ discard block |
||
9 | 9 | * We could have returned an array |
10 | 10 | * with two keys 'join_sql' and 'data_types', but this better-defines the data being passed around |
11 | 11 | */ |
12 | -class EE_Model_Query_Info_Carrier extends EE_Base{ |
|
12 | +class EE_Model_Query_Info_Carrier extends EE_Base { |
|
13 | 13 | /** |
14 | 14 | * @var string SQL for performing joins (Eg, "INNER JOIN blah ON blah=blah INNER JOIN FOO ON foo=foo...") |
15 | 15 | */ |
@@ -43,29 +43,29 @@ discard block |
||
43 | 43 | |
44 | 44 | private $_group_by_sql; |
45 | 45 | |
46 | - function set_limit_sql($limit_sql){ |
|
46 | + function set_limit_sql($limit_sql) { |
|
47 | 47 | $this->_limit_sql = $limit_sql; |
48 | 48 | } |
49 | 49 | |
50 | - function set_order_by_sql($order_by_sql){ |
|
50 | + function set_order_by_sql($order_by_sql) { |
|
51 | 51 | $this->_order_by_sql = $order_by_sql; |
52 | 52 | } |
53 | - function set_group_by_sql($group_by_sql){ |
|
53 | + function set_group_by_sql($group_by_sql) { |
|
54 | 54 | $this->_group_by_sql = $group_by_sql; |
55 | 55 | } |
56 | - function set_having_sql($having_sql){ |
|
56 | + function set_having_sql($having_sql) { |
|
57 | 57 | $this->_having_sql = $having_sql; |
58 | 58 | } |
59 | - function get_limit_sql(){ |
|
59 | + function get_limit_sql() { |
|
60 | 60 | return $this->_limit_sql; |
61 | 61 | } |
62 | - function get_order_by_sql(){ |
|
62 | + function get_order_by_sql() { |
|
63 | 63 | return $this->_order_by_sql; |
64 | 64 | } |
65 | - function get_group_by_sql(){ |
|
65 | + function get_group_by_sql() { |
|
66 | 66 | return $this->_group_by_sql; |
67 | 67 | } |
68 | - function get_having_sql(){ |
|
68 | + function get_having_sql() { |
|
69 | 69 | return $this->_having_sql; |
70 | 70 | } |
71 | 71 | /** |
@@ -74,7 +74,7 @@ discard block |
||
74 | 74 | * @param type $join_sql |
75 | 75 | * @param type $data_types |
76 | 76 | */ |
77 | - public function __construct($model_included_name= array(), $join_sql = ''){ |
|
77 | + public function __construct($model_included_name = array(), $join_sql = '') { |
|
78 | 78 | $this->_models_included = $model_included_name; |
79 | 79 | $this->_join_sql = $join_sql; |
80 | 80 | } |
@@ -83,10 +83,10 @@ discard block |
||
83 | 83 | * Merges info from the other EEM_Related_Model_Info_Carrier into this one. |
84 | 84 | * @param EE_Model_Query_Info_Carrier $other_model_query_info_carrier |
85 | 85 | */ |
86 | - public function merge( $other_model_query_info_carrier ){ |
|
87 | - if( $other_model_query_info_carrier && ! $this->_have_already_included_one_of_these_models($other_model_query_info_carrier->get_model_names_included())){ |
|
88 | - $model_included_on_other_join_sql_and_data_types_carrier = $other_model_query_info_carrier->get_model_names_included(); |
|
89 | - $this->_models_included = array_merge( $this->_models_included, $model_included_on_other_join_sql_and_data_types_carrier ); |
|
86 | + public function merge($other_model_query_info_carrier) { |
|
87 | + if ($other_model_query_info_carrier && ! $this->_have_already_included_one_of_these_models($other_model_query_info_carrier->get_model_names_included())) { |
|
88 | + $model_included_on_other_join_sql_and_data_types_carrier = $other_model_query_info_carrier->get_model_names_included(); |
|
89 | + $this->_models_included = array_merge($this->_models_included, $model_included_on_other_join_sql_and_data_types_carrier); |
|
90 | 90 | $this->_join_sql .= $other_model_query_info_carrier->_join_sql; |
91 | 91 | } |
92 | 92 | //otherwise don't merge our data. |
@@ -100,9 +100,9 @@ discard block |
||
100 | 100 | * @param array $model_names just like EE_MOdel_QUery_Info_Carrier::_models_included: keys are model chain paths, values are the model names only |
101 | 101 | * @return boolean |
102 | 102 | */ |
103 | - protected function _have_already_included_one_of_these_models($model_names){ |
|
104 | - foreach($this->_models_included as $model_relation_path=>$model_included){ |
|
105 | - if(array_key_exists($model_relation_path, $model_names)){ |
|
103 | + protected function _have_already_included_one_of_these_models($model_names) { |
|
104 | + foreach ($this->_models_included as $model_relation_path=>$model_included) { |
|
105 | + if (array_key_exists($model_relation_path, $model_names)) { |
|
106 | 106 | return true; |
107 | 107 | } |
108 | 108 | } |
@@ -112,17 +112,17 @@ discard block |
||
112 | 112 | * Array keys are model names, values are "model relation paths". See EE_Model_Query_Info_Carrier::_models_included for details |
113 | 113 | * @return array like EE_Model_Query_Info_Carrier::_models_included |
114 | 114 | */ |
115 | - public function get_model_names_included(){ |
|
115 | + public function get_model_names_included() { |
|
116 | 116 | return $this->_models_included; |
117 | 117 | } |
118 | 118 | /** |
119 | 119 | * sets the $where_sql for later use from client code |
120 | 120 | * @param string $where_sql |
121 | 121 | */ |
122 | - public function set_where_sql($where_sql){ |
|
122 | + public function set_where_sql($where_sql) { |
|
123 | 123 | $this->_where_sql = $where_sql; |
124 | 124 | } |
125 | - public function get_where_sql(){ |
|
125 | + public function get_where_sql() { |
|
126 | 126 | return $this->_where_sql; |
127 | 127 | } |
128 | 128 | |
@@ -143,10 +143,10 @@ discard block |
||
143 | 143 | * after the FROM and before the WHERE.) |
144 | 144 | * @param string $join_sql |
145 | 145 | */ |
146 | - public function set_main_model_join_sql($join_sql){ |
|
146 | + public function set_main_model_join_sql($join_sql) { |
|
147 | 147 | $this->_main_join_sql = $join_sql; |
148 | 148 | } |
149 | - public function get_full_join_sql(){ |
|
150 | - return $this->_main_join_sql . $this->_join_sql; |
|
149 | + public function get_full_join_sql() { |
|
150 | + return $this->_main_join_sql.$this->_join_sql; |
|
151 | 151 | } |
152 | 152 | } |
153 | 153 | \ No newline at end of file |
@@ -49,7 +49,7 @@ discard block |
||
49 | 49 | * creates join statement FROM primary table |
50 | 50 | * gets SQL like "LEFT JOIN table_name AS table_alias ON other_table_alias.pk = table_alias.fk |
51 | 51 | * |
52 | - * @param string $table allows us to set special conditions on the $table_name portion of the join query (i.e. doing a subquery) |
|
52 | + * @param string $primary_table_alias_with_model_chain_prefix |
|
53 | 53 | * @return string of SQL |
54 | 54 | */ |
55 | 55 | function get_join_sql( $primary_table_alias_with_model_chain_prefix ){ |
@@ -72,6 +72,7 @@ discard block |
||
72 | 72 | * " LEFT JOIN secondary_table_table AS Secondary ON ..." like get_join_sql, this function returns |
73 | 73 | * " LEFT JOIN primary_table AS Primary ON ...". |
74 | 74 | * This is useful if the secondary table is already included in the SQL, but the primary table is not yet. |
75 | + * @param string $secondary_table_alias_with_model_chain_prefix |
|
75 | 76 | * @return string |
76 | 77 | */ |
77 | 78 | function get_inverse_join_sql($secondary_table_alias_with_model_chain_prefix){ |
@@ -5,8 +5,8 @@ discard block |
||
5 | 5 | * table's rows. Ie, it can't have many rows in the secondary table that point to |
6 | 6 | * a single row in the primary table |
7 | 7 | */ |
8 | -require_once( EE_MODELS . 'helpers/EE_Table_Base.php'); |
|
9 | -class EE_Secondary_Table extends EE_Table_Base{ |
|
8 | +require_once(EE_MODELS.'helpers/EE_Table_Base.php'); |
|
9 | +class EE_Secondary_Table extends EE_Table_Base { |
|
10 | 10 | protected $_extra_join_conditions; |
11 | 11 | |
12 | 12 | /** |
@@ -19,15 +19,15 @@ discard block |
||
19 | 19 | * @param boolean $global whether the table is "global" as in there is only 1 table on an entire multisite install, |
20 | 20 | * or whether each site on a multisite install has a copy of this table |
21 | 21 | */ |
22 | - function __construct($table_name, $pk_column, $fk_column = null, $extra_join_conditions = null, $global = false ){ |
|
22 | + function __construct($table_name, $pk_column, $fk_column = null, $extra_join_conditions = null, $global = false) { |
|
23 | 23 | $this->_fk_on_table = $fk_column; |
24 | 24 | $this->_extra_join_conditions = $extra_join_conditions; |
25 | - parent::__construct( $table_name, $pk_column, $global ); |
|
25 | + parent::__construct($table_name, $pk_column, $global); |
|
26 | 26 | } |
27 | - function get_fk_on_table(){ |
|
27 | + function get_fk_on_table() { |
|
28 | 28 | return $this->_fk_on_table; |
29 | 29 | } |
30 | - function _construct_finalize_set_table_to_join_with(EE_Table_Base $table){ |
|
30 | + function _construct_finalize_set_table_to_join_with(EE_Table_Base $table) { |
|
31 | 31 | $this->_table_to_join_with = $table; |
32 | 32 | } |
33 | 33 | /** |
@@ -35,14 +35,14 @@ discard block |
||
35 | 35 | * @return string of sql like "Event.post_type = 'event'", which gets added to |
36 | 36 | * the end of the join statement with the primary table |
37 | 37 | */ |
38 | - function get_extra_join_conditions(){ |
|
38 | + function get_extra_join_conditions() { |
|
39 | 39 | return $this->_extra_join_conditions; |
40 | 40 | } |
41 | 41 | /** |
42 | 42 | * |
43 | 43 | * @return EE_Primary_Table |
44 | 44 | */ |
45 | - function get_table_to_join_with(){ |
|
45 | + function get_table_to_join_with() { |
|
46 | 46 | return $this->_table_to_join_with; |
47 | 47 | } |
48 | 48 | /** |
@@ -52,15 +52,15 @@ discard block |
||
52 | 52 | * @param string $table allows us to set special conditions on the $table_name portion of the join query (i.e. doing a subquery) |
53 | 53 | * @return string of SQL |
54 | 54 | */ |
55 | - function get_join_sql( $primary_table_alias_with_model_chain_prefix ){ |
|
55 | + function get_join_sql($primary_table_alias_with_model_chain_prefix) { |
|
56 | 56 | |
57 | 57 | $table_name = $this->get_table_name(); |
58 | - $secondary_table_alias = EE_Model_Parser::get_prefix_from_table_alias_with_model_relation_chain_prefix($primary_table_alias_with_model_chain_prefix) . $this->get_table_alias(); |
|
58 | + $secondary_table_alias = EE_Model_Parser::get_prefix_from_table_alias_with_model_relation_chain_prefix($primary_table_alias_with_model_chain_prefix).$this->get_table_alias(); |
|
59 | 59 | $other_table_pk = $this->get_table_to_join_with()->get_pk_column(); |
60 | 60 | $fk = $this->get_fk_on_table(); |
61 | 61 | $join_sql = " LEFT JOIN $table_name AS $secondary_table_alias ON $primary_table_alias_with_model_chain_prefix.$other_table_pk = $secondary_table_alias.$fk "; |
62 | - if($this->get_extra_join_conditions()){ |
|
63 | - $join_sql.="AND ".$this->get_extra_join_conditions(); |
|
62 | + if ($this->get_extra_join_conditions()) { |
|
63 | + $join_sql .= "AND ".$this->get_extra_join_conditions(); |
|
64 | 64 | } |
65 | 65 | return $join_sql; |
66 | 66 | } |
@@ -74,14 +74,14 @@ discard block |
||
74 | 74 | * This is useful if the secondary table is already included in the SQL, but the primary table is not yet. |
75 | 75 | * @return string |
76 | 76 | */ |
77 | - function get_inverse_join_sql($secondary_table_alias_with_model_chain_prefix){ |
|
78 | - $primary_table_name =$this->get_table_to_join_with()->get_table_name(); |
|
79 | - $primary_table_alias = EE_Model_Parser::get_prefix_from_table_alias_with_model_relation_chain_prefix($secondary_table_alias_with_model_chain_prefix) . $this->get_table_to_join_with()->get_table_alias(); |
|
80 | - $primary_table_pk = $this->get_table_to_join_with()->get_pk_column();//$this->get_pk_column(); |
|
77 | + function get_inverse_join_sql($secondary_table_alias_with_model_chain_prefix) { |
|
78 | + $primary_table_name = $this->get_table_to_join_with()->get_table_name(); |
|
79 | + $primary_table_alias = EE_Model_Parser::get_prefix_from_table_alias_with_model_relation_chain_prefix($secondary_table_alias_with_model_chain_prefix).$this->get_table_to_join_with()->get_table_alias(); |
|
80 | + $primary_table_pk = $this->get_table_to_join_with()->get_pk_column(); //$this->get_pk_column(); |
|
81 | 81 | $fk = $this->get_fk_on_table(); |
82 | 82 | $join_sql = " LEFT JOIN $primary_table_name AS $primary_table_alias ON $primary_table_alias.$primary_table_pk = $secondary_table_alias_with_model_chain_prefix.$fk "; |
83 | - if($this->get_extra_join_conditions()){ |
|
84 | - $join_sql.="AND ".$this->get_extra_join_conditions(); |
|
83 | + if ($this->get_extra_join_conditions()) { |
|
84 | + $join_sql .= "AND ".$this->get_extra_join_conditions(); |
|
85 | 85 | } |
86 | 86 | return $join_sql; |
87 | 87 | } |
@@ -94,7 +94,7 @@ discard block |
||
94 | 94 | public function get_select_join_limit_join($limit) { |
95 | 95 | //first get the select |
96 | 96 | $select = $this->get_select_join_limit($limit); |
97 | - $join_sql = $this->get_join_sql( $select ); |
|
97 | + $join_sql = $this->get_join_sql($select); |
|
98 | 98 | return $join_sql; |
99 | 99 | } |
100 | 100 | |
@@ -103,12 +103,12 @@ discard block |
||
103 | 103 | function get_fully_qualified_fk_column() { |
104 | 104 | $table_alias = $this->get_table_alias(); |
105 | 105 | $fk = $this->get_fk_on_table(); |
106 | - return $table_alias . '.' . $fk; |
|
106 | + return $table_alias.'.'.$fk; |
|
107 | 107 | } |
108 | 108 | |
109 | 109 | function get_fully_qualified_pk_on_fk_table() { |
110 | 110 | $table_alias = $this->get_table_to_join_with()->get_table_alias(); |
111 | 111 | $pk = $this->get_table_to_join_with()->get_pk_column(); |
112 | - return $table_alias . '.' . $pk; |
|
112 | + return $table_alias.'.'.$pk; |
|
113 | 113 | } |
114 | 114 | } |
115 | 115 | \ No newline at end of file |
@@ -17,6 +17,7 @@ discard block |
||
17 | 17 | * get related models across the relation, and add-and-remove the relationships. |
18 | 18 | * @param boolean $block_deletes for this type of relation, we block by default for now. if there are related models across this relation, block (prevent and add an error) the deletion of this model |
19 | 19 | * @param type $blocking_delete_error_message a customized error message on blocking deletes instead of the default |
20 | + * @param string $joining_model_name |
|
20 | 21 | */ |
21 | 22 | function __construct($joining_model_name,$block_deletes = true, $blocking_delete_error_message =''){ |
22 | 23 | $this->_joining_model_name = $joining_model_name; |
@@ -24,7 +25,7 @@ discard block |
||
24 | 25 | } |
25 | 26 | /** |
26 | 27 | * Gets the joining model's object |
27 | - * @return EEM_Base |
|
28 | + * @return boolean |
|
28 | 29 | */ |
29 | 30 | function get_join_model(){ |
30 | 31 | return $this->_get_model($this->_joining_model_name); |
@@ -1,7 +1,7 @@ discard block |
||
1 | 1 | <?php |
2 | 2 | |
3 | -require_once( EE_MODELS . 'relations/EE_Model_Relation_Base.php'); |
|
4 | -class EE_HABTM_Relation extends EE_Model_Relation_Base{ |
|
3 | +require_once(EE_MODELS.'relations/EE_Model_Relation_Base.php'); |
|
4 | +class EE_HABTM_Relation extends EE_Model_Relation_Base { |
|
5 | 5 | /** |
6 | 6 | * Model whicih defines the relation between two other models. Eg, the EE_Event_Question_Group model, |
7 | 7 | * which joins EE_Event and EE_Question_Group |
@@ -18,7 +18,7 @@ discard block |
||
18 | 18 | * @param boolean $block_deletes for this type of relation, we block by default for now. if there are related models across this relation, block (prevent and add an error) the deletion of this model |
19 | 19 | * @param type $blocking_delete_error_message a customized error message on blocking deletes instead of the default |
20 | 20 | */ |
21 | - function __construct($joining_model_name,$block_deletes = true, $blocking_delete_error_message =''){ |
|
21 | + function __construct($joining_model_name, $block_deletes = true, $blocking_delete_error_message = '') { |
|
22 | 22 | $this->_joining_model_name = $joining_model_name; |
23 | 23 | parent::__construct($block_deletes, $blocking_delete_error_message); |
24 | 24 | } |
@@ -26,7 +26,7 @@ discard block |
||
26 | 26 | * Gets the joining model's object |
27 | 27 | * @return EEM_Base |
28 | 28 | */ |
29 | - function get_join_model(){ |
|
29 | + function get_join_model() { |
|
30 | 30 | return $this->_get_model($this->_joining_model_name); |
31 | 31 | } |
32 | 32 | /** |
@@ -34,21 +34,21 @@ discard block |
||
34 | 34 | * @param string $model_relation_chain like 'Event.Event_Venue.Venue' |
35 | 35 | * @return string of SQL |
36 | 36 | */ |
37 | - function get_join_to_intermediate_model_statement($model_relation_chain){ |
|
37 | + function get_join_to_intermediate_model_statement($model_relation_chain) { |
|
38 | 38 | //create sql like |
39 | 39 | //LEFT JOIN join_table AS join_table_alias ON this_table_alias.this_table_pk = join_table_alias.join_table_fk_to_this |
40 | 40 | //LEFT JOIN other_table AS other_table_alias ON join_table_alias.join_table_fk_to_other = other_table_alias.other_table_pk |
41 | 41 | //remember the model relation chain to the JOIN model, because we'll |
42 | 42 | //need it for get_join_statement() |
43 | 43 | $this->_model_relation_chain_to_join_model = $model_relation_chain; |
44 | - $this_table_pk_field = $this->get_this_model()->get_primary_key_field();//get_foreign_key_to($this->get_other_model()->get_this_model_name()); |
|
44 | + $this_table_pk_field = $this->get_this_model()->get_primary_key_field(); //get_foreign_key_to($this->get_other_model()->get_this_model_name()); |
|
45 | 45 | $join_table_fk_field_to_this_table = $this->get_join_model()->get_foreign_key_to($this->get_this_model()->get_this_model_name()); |
46 | - $this_table_alias = EE_Model_Parser::extract_table_alias_model_relation_chain_prefix($model_relation_chain, $this->get_this_model()->get_this_model_name()) . $this_table_pk_field->get_table_alias(); |
|
46 | + $this_table_alias = EE_Model_Parser::extract_table_alias_model_relation_chain_prefix($model_relation_chain, $this->get_this_model()->get_this_model_name()).$this_table_pk_field->get_table_alias(); |
|
47 | 47 | |
48 | - $join_table_alias = EE_Model_Parser::extract_table_alias_model_relation_chain_prefix($model_relation_chain, $this->get_join_model()->get_this_model_name()) . $join_table_fk_field_to_this_table->get_table_alias(); |
|
48 | + $join_table_alias = EE_Model_Parser::extract_table_alias_model_relation_chain_prefix($model_relation_chain, $this->get_join_model()->get_this_model_name()).$join_table_fk_field_to_this_table->get_table_alias(); |
|
49 | 49 | $join_table = $this->get_join_model()->get_table_for_alias($join_table_alias); |
50 | 50 | //phew! ok, we have all the info we need, now we can create the SQL join string |
51 | - $SQL = $this->_left_join($join_table, $join_table_alias, $join_table_fk_field_to_this_table->get_table_column(), $this_table_alias, $this_table_pk_field->get_table_column()) . $this->get_join_model()->_construct_internal_join_to_table_with_alias($join_table_alias); |
|
51 | + $SQL = $this->_left_join($join_table, $join_table_alias, $join_table_fk_field_to_this_table->get_table_column(), $this_table_alias, $this_table_pk_field->get_table_column()).$this->get_join_model()->_construct_internal_join_to_table_with_alias($join_table_alias); |
|
52 | 52 | |
53 | 53 | return $SQL; |
54 | 54 | } |
@@ -60,18 +60,18 @@ discard block |
||
60 | 60 | * @param string $model_relation_chain like 'Event.Event_Venue.Venue' |
61 | 61 | * @return string of SQL |
62 | 62 | */ |
63 | - function get_join_statement($model_relation_chain){ |
|
64 | - if( $this->_model_relation_chain_to_join_model === NULL ){ |
|
65 | - throw new EE_Error( sprintf( __( 'When using EE_HABTM_Relation to create a join, you must call get_join_to_intermediate_model_statement BEFORE get_join_statement', 'event_espresso' ))); |
|
63 | + function get_join_statement($model_relation_chain) { |
|
64 | + if ($this->_model_relation_chain_to_join_model === NULL) { |
|
65 | + throw new EE_Error(sprintf(__('When using EE_HABTM_Relation to create a join, you must call get_join_to_intermediate_model_statement BEFORE get_join_statement', 'event_espresso'))); |
|
66 | 66 | } |
67 | 67 | $join_table_fk_field_to_this_table = $this->get_join_model()->get_foreign_key_to($this->get_this_model()->get_this_model_name()); |
68 | - $join_table_alias = EE_Model_Parser::extract_table_alias_model_relation_chain_prefix($this->_model_relation_chain_to_join_model, $this->get_join_model()->get_this_model_name()) . $join_table_fk_field_to_this_table->get_table_alias(); |
|
68 | + $join_table_alias = EE_Model_Parser::extract_table_alias_model_relation_chain_prefix($this->_model_relation_chain_to_join_model, $this->get_join_model()->get_this_model_name()).$join_table_fk_field_to_this_table->get_table_alias(); |
|
69 | 69 | $other_table_pk_field = $this->get_other_model()->get_primary_key_field(); |
70 | 70 | $join_table_fk_field_to_other_table = $this->get_join_model()->get_foreign_key_to($this->get_other_model()->get_this_model_name()); |
71 | - $other_table_alias = EE_Model_Parser::extract_table_alias_model_relation_chain_prefix($model_relation_chain, $this->get_other_model()->get_this_model_name()) . $other_table_pk_field->get_table_alias(); |
|
71 | + $other_table_alias = EE_Model_Parser::extract_table_alias_model_relation_chain_prefix($model_relation_chain, $this->get_other_model()->get_this_model_name()).$other_table_pk_field->get_table_alias(); |
|
72 | 72 | $other_table = $this->get_other_model()->get_table_for_alias($other_table_alias); |
73 | 73 | |
74 | - $SQL = $this->_left_join($other_table, $other_table_alias, $other_table_pk_field->get_table_column(), $join_table_alias, $join_table_fk_field_to_other_table->get_table_column()) . $this->get_other_model()->_construct_internal_join_to_table_with_alias($other_table_alias); |
|
74 | + $SQL = $this->_left_join($other_table, $other_table_alias, $other_table_pk_field->get_table_column(), $join_table_alias, $join_table_fk_field_to_other_table->get_table_column()).$this->get_other_model()->_construct_internal_join_to_table_with_alias($other_table_alias); |
|
75 | 75 | return $SQL; |
76 | 76 | } |
77 | 77 | |
@@ -84,36 +84,36 @@ discard block |
||
84 | 84 | * @param array $extra_join_model_fields_n_values col=>val pairs that are used as extra conditions for checking existing values and for setting new rows if no exact matches. |
85 | 85 | * @return EE_Base_Class |
86 | 86 | */ |
87 | - function add_relation_to($this_obj_or_id, $other_obj_or_id, $extra_join_model_fields_n_values = array() ){ |
|
87 | + function add_relation_to($this_obj_or_id, $other_obj_or_id, $extra_join_model_fields_n_values = array()) { |
|
88 | 88 | $this_model_obj = $this->get_this_model()->ensure_is_obj($this_obj_or_id, true); |
89 | 89 | $other_model_obj = $this->get_other_model()->ensure_is_obj($other_obj_or_id, true); |
90 | 90 | //check if such a relationship already exists |
91 | 91 | $join_model_fk_to_this_model = $this->get_join_model()->get_foreign_key_to($this->get_this_model()->get_this_model_name()); |
92 | 92 | $join_model_fk_to_other_model = $this->get_join_model()->get_foreign_key_to($this->get_other_model()->get_this_model_name()); |
93 | 93 | |
94 | - $cols_n_values = array( |
|
94 | + $cols_n_values = array( |
|
95 | 95 | $join_model_fk_to_this_model->get_name() => $this_model_obj->ID(), |
96 | 96 | $join_model_fk_to_other_model->get_name() => $other_model_obj->ID()); |
97 | 97 | |
98 | 98 | //if $where_query exists lets add them to the query_params. |
99 | - if ( !empty( $extra_join_model_fields_n_values ) ) { |
|
99 | + if ( ! empty($extra_join_model_fields_n_values)) { |
|
100 | 100 | //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) |
101 | 101 | //make sure we strip THIS models name from the query param |
102 | - foreach ( $extra_join_model_fields_n_values as $query_param => $val ) { |
|
103 | - $query_param = str_replace($this->get_join_model()->get_this_model_name().".","", $query_param); |
|
102 | + foreach ($extra_join_model_fields_n_values as $query_param => $val) { |
|
103 | + $query_param = str_replace($this->get_join_model()->get_this_model_name().".", "", $query_param); |
|
104 | 104 | $parsed_query[$query_param] = $val; |
105 | 105 | } |
106 | - $cols_n_values = array_merge( $cols_n_values, $parsed_query ); |
|
106 | + $cols_n_values = array_merge($cols_n_values, $parsed_query); |
|
107 | 107 | } |
108 | 108 | |
109 | - $query_params = array( $cols_n_values ); |
|
109 | + $query_params = array($cols_n_values); |
|
110 | 110 | |
111 | 111 | |
112 | 112 | $existing_entry_in_join_table = $this->get_join_model()->get_one($query_params); |
113 | 113 | //if there is already an entry in the join table, indicating a relationship, we're done |
114 | 114 | //again, if you want more sophisticated logic or insertions (handling more columns than just 2 foreign keys to |
115 | 115 | //the other tables, use the joining model directly! |
116 | - if( ! $existing_entry_in_join_table ){ |
|
116 | + if ( ! $existing_entry_in_join_table) { |
|
117 | 117 | $this->get_join_model()->insert($cols_n_values); |
118 | 118 | } |
119 | 119 | return $other_model_obj; |
@@ -125,29 +125,29 @@ discard block |
||
125 | 125 | * * @param array $where_query col=>val pairs that are used as extra conditions for checking existing values and for removing existing rows if exact matches exist. |
126 | 126 | * @return EE_Base_Class |
127 | 127 | */ |
128 | - function remove_relation_to($this_obj_or_id, $other_obj_or_id, $where_query = array() ){ |
|
128 | + function remove_relation_to($this_obj_or_id, $other_obj_or_id, $where_query = array()) { |
|
129 | 129 | $this_model_obj = $this->get_this_model()->ensure_is_obj($this_obj_or_id, true); |
130 | 130 | $other_model_obj = $this->get_other_model()->ensure_is_obj($other_obj_or_id, true); |
131 | 131 | //check if such a relationship already exists |
132 | 132 | $join_model_fk_to_this_model = $this->get_join_model()->get_foreign_key_to($this->get_this_model()->get_this_model_name()); |
133 | 133 | $join_model_fk_to_other_model = $this->get_join_model()->get_foreign_key_to($this->get_other_model()->get_this_model_name()); |
134 | 134 | |
135 | - $cols_n_values = array( |
|
135 | + $cols_n_values = array( |
|
136 | 136 | $join_model_fk_to_this_model->get_name() => $this_model_obj->ID(), |
137 | 137 | $join_model_fk_to_other_model->get_name() => $other_model_obj->ID()); |
138 | 138 | |
139 | 139 | //if $where_query exists lets add them to the query_params. |
140 | - if ( !empty( $where_query ) ) { |
|
140 | + if ( ! empty($where_query)) { |
|
141 | 141 | //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) |
142 | 142 | //make sure we strip THIS models name from the query param |
143 | - foreach ( $where_query as $query_param => $val ) { |
|
144 | - $query_param = str_replace($this->get_join_model()->get_this_model_name().".","", $query_param); |
|
143 | + foreach ($where_query as $query_param => $val) { |
|
144 | + $query_param = str_replace($this->get_join_model()->get_this_model_name().".", "", $query_param); |
|
145 | 145 | $parsed_query[$query_param] = $val; |
146 | 146 | } |
147 | - $cols_n_values = array_merge( $cols_n_values, $parsed_query ); |
|
147 | + $cols_n_values = array_merge($cols_n_values, $parsed_query); |
|
148 | 148 | } |
149 | 149 | |
150 | - $existing_entry_in_join_table = $this->get_join_model()->delete( array($cols_n_values) ); |
|
150 | + $existing_entry_in_join_table = $this->get_join_model()->delete(array($cols_n_values)); |
|
151 | 151 | return $other_model_obj; |
152 | 152 | } |
153 | 153 | } |
@@ -32,8 +32,8 @@ discard block |
||
32 | 32 | * this model. IE, there can be many other model objects related to one of this model's objects (but NOT through a JOIN table, |
33 | 33 | * which is the case for EE_HABTM_Relations). This knows how to join the models, |
34 | 34 | * get related models across the relation, and add-and-remove the relationships. |
35 | - * @param string $primary_pk_field See property description for details |
|
36 | - * @param string $parent_cpt_field This is the field that is "connected" to the $primary_cpt_field. See property desc for details. |
|
35 | + * @param string $primary_cpt_field See property description for details |
|
36 | + * @param string $primary_cpt_field This is the field that is "connected" to the $primary_cpt_field. See property desc for details. |
|
37 | 37 | * @param boolean $block_deletes For this type of relation, we block by default. If there are related models across this relation, block (prevent and add an error) the deletion of this model |
38 | 38 | * @param type $blocking_delete_error_message a customized error message on blocking deletes instead of the default |
39 | 39 | */ |
@@ -190,7 +190,7 @@ discard block |
||
190 | 190 | /** |
191 | 191 | * Basically this method gets called to verify if the incoming object needs to be manipulated somewhat because it is a revision save. If so, then we change things before sending back. We also do verifications when this IS NOT an revision because we always need to make sure that the autosave/revision has parent recorded (which is sometime delayed if the object is created/saved first by the autosave) |
192 | 192 | * |
193 | - * @param EE_Base_Class $this_model_obj |
|
193 | + * @param EE_Base_Class $this_obj |
|
194 | 194 | * @param EE_Base_Class $other_obj |
195 | 195 | * @param boolean $remove_relation Indicates whether we're doing a remove_relation or add_relation. |
196 | 196 | * @return EE_Base_Class. ($other_obj); |
@@ -188,13 +188,13 @@ |
||
188 | 188 | |
189 | 189 | |
190 | 190 | /** |
191 | - * Basically this method gets called to verify if the incoming object needs to be manipulated somewhat because it is a revision save. If so, then we change things before sending back. We also do verifications when this IS NOT an revision because we always need to make sure that the autosave/revision has parent recorded (which is sometime delayed if the object is created/saved first by the autosave) |
|
192 | - * |
|
193 | - * @param EE_Base_Class $this_model_obj |
|
194 | - * @param EE_Base_Class $other_obj |
|
195 | - * @param boolean $remove_relation Indicates whether we're doing a remove_relation or add_relation. |
|
196 | - * @return EE_Base_Class. ($other_obj); |
|
197 | - */ |
|
191 | + * Basically this method gets called to verify if the incoming object needs to be manipulated somewhat because it is a revision save. If so, then we change things before sending back. We also do verifications when this IS NOT an revision because we always need to make sure that the autosave/revision has parent recorded (which is sometime delayed if the object is created/saved first by the autosave) |
|
192 | + * |
|
193 | + * @param EE_Base_Class $this_model_obj |
|
194 | + * @param EE_Base_Class $other_obj |
|
195 | + * @param boolean $remove_relation Indicates whether we're doing a remove_relation or add_relation. |
|
196 | + * @return EE_Base_Class. ($other_obj); |
|
197 | + */ |
|
198 | 198 | protected function _check_for_revision( $this_obj, $other_obj, $remove_relation = FALSE ) { |
199 | 199 | $pk_on_related_model = $this->get_other_model()->get_primary_key_field()->get_name(); |
200 | 200 | //now we need to determine if we're in a WP revision save cause if we are we need to do some special handling |
@@ -60,8 +60,9 @@ discard block |
||
60 | 60 | $other_model_obj = $this->_check_for_revision($this_model_obj, $other_model_obj); |
61 | 61 | |
62 | 62 | //if is array, then we've already done the add_relation so let's get out |
63 | - if ( is_array( $other_model_obj ) ) |
|
64 | - return $other_model_obj[0]; |
|
63 | + if ( is_array( $other_model_obj ) ) { |
|
64 | + return $other_model_obj[0]; |
|
65 | + } |
|
65 | 66 | |
66 | 67 | //find the field on th eother model which is a foreign key to this model |
67 | 68 | $fk_field_on_other_model = $this->get_other_model()->get_foreign_key_to($this->get_this_model()->get_this_model_name()); |
@@ -88,8 +89,9 @@ discard block |
||
88 | 89 | |
89 | 90 | |
90 | 91 | //if is array, then we've already done the add_relation so let's get out |
91 | - if ( is_array( $other_model_obj ) ) |
|
92 | - return $other_model_obj[0]; |
|
92 | + if ( is_array( $other_model_obj ) ) { |
|
93 | + return $other_model_obj[0]; |
|
94 | + } |
|
93 | 95 | |
94 | 96 | |
95 | 97 | //find the field on th eother model which is a foreign key to this model |
@@ -4,8 +4,8 @@ discard block |
||
4 | 4 | /** |
5 | 5 | * In this relation, the OTHER model ahs the foreign key pointing to this model |
6 | 6 | */ |
7 | -require_once( EE_MODELS . 'relations/EE_Has_Many_Relation.php'); |
|
8 | -class EE_Has_Many_Revision_Relation extends EE_Has_Many_Relation{ |
|
7 | +require_once(EE_MODELS.'relations/EE_Has_Many_Relation.php'); |
|
8 | +class EE_Has_Many_Revision_Relation extends EE_Has_Many_Relation { |
|
9 | 9 | |
10 | 10 | |
11 | 11 | /** |
@@ -37,7 +37,7 @@ discard block |
||
37 | 37 | * @param boolean $block_deletes For this type of relation, we block by default. If there are related models across this relation, block (prevent and add an error) the deletion of this model |
38 | 38 | * @param type $blocking_delete_error_message a customized error message on blocking deletes instead of the default |
39 | 39 | */ |
40 | - function __construct($primary_cpt_field, $parent_pk_relation_field, $block_deletes = true, $blocking_delete_error_message = null){ |
|
40 | + function __construct($primary_cpt_field, $parent_pk_relation_field, $block_deletes = true, $blocking_delete_error_message = null) { |
|
41 | 41 | $this->_primary_cpt_field = $primary_cpt_field; |
42 | 42 | $this->_parent_pk_relation_field = $parent_pk_relation_field; |
43 | 43 | parent::__construct($block_deletes, $blocking_delete_error_message); |
@@ -52,7 +52,7 @@ discard block |
||
52 | 52 | * @param EE_Base_Class/int $other_obj_or_id |
53 | 53 | * @return EE_Base_Class |
54 | 54 | */ |
55 | - function add_relation_to($this_obj_or_id, $other_obj_or_id ){ |
|
55 | + function add_relation_to($this_obj_or_id, $other_obj_or_id) { |
|
56 | 56 | $this_model_obj = $this->get_this_model()->ensure_is_obj($this_obj_or_id, true); |
57 | 57 | $other_model_obj = $this->get_other_model()->ensure_is_obj($other_obj_or_id); |
58 | 58 | |
@@ -60,7 +60,7 @@ discard block |
||
60 | 60 | $other_model_obj = $this->_check_for_revision($this_model_obj, $other_model_obj); |
61 | 61 | |
62 | 62 | //if is array, then we've already done the add_relation so let's get out |
63 | - if ( is_array( $other_model_obj ) ) |
|
63 | + if (is_array($other_model_obj)) |
|
64 | 64 | return $other_model_obj[0]; |
65 | 65 | |
66 | 66 | //find the field on th eother model which is a foreign key to this model |
@@ -80,15 +80,15 @@ discard block |
||
80 | 80 | * @param EE_Base_Class/int $other_obj_or_id |
81 | 81 | * @return EE_Base_Class |
82 | 82 | */ |
83 | - function remove_relation_to($this_obj_or_id, $other_obj_or_id){ |
|
83 | + function remove_relation_to($this_obj_or_id, $other_obj_or_id) { |
|
84 | 84 | $this_model_obj = $this->get_this_model()->ensure_is_obj($this_obj_or_id); |
85 | 85 | $other_model_obj = $this->get_other_model()->ensure_is_obj($other_obj_or_id); |
86 | 86 | //handle possible revisions |
87 | - $other_model_obj = $this->_check_for_revision( $this_model_obj, $other_model_obj, TRUE ); |
|
87 | + $other_model_obj = $this->_check_for_revision($this_model_obj, $other_model_obj, TRUE); |
|
88 | 88 | |
89 | 89 | |
90 | 90 | //if is array, then we've already done the add_relation so let's get out |
91 | - if ( is_array( $other_model_obj ) ) |
|
91 | + if (is_array($other_model_obj)) |
|
92 | 92 | return $other_model_obj[0]; |
93 | 93 | |
94 | 94 | |
@@ -97,12 +97,12 @@ discard block |
||
97 | 97 | |
98 | 98 | |
99 | 99 | //set that field on the other model to this model's ID |
100 | - if ( $this->_blocking_delete ) { |
|
101 | - $other_model_obj->set($fk_field_on_other_model->get_name(),null,true); |
|
100 | + if ($this->_blocking_delete) { |
|
101 | + $other_model_obj->set($fk_field_on_other_model->get_name(), null, true); |
|
102 | 102 | $other_model_obj->save(); |
103 | 103 | } else { |
104 | 104 | $other_model_obj->delete(); |
105 | - $other_model_obj->set($fk_field_on_other_model->get_name(),null,true); |
|
105 | + $other_model_obj->set($fk_field_on_other_model->get_name(), null, true); |
|
106 | 106 | return $other_model_obj; |
107 | 107 | } |
108 | 108 | return $other_model_obj; |
@@ -118,17 +118,17 @@ discard block |
||
118 | 118 | * @param boolean $values_already_prepared_by_model_object @deprecated since 4.8.1 |
119 | 119 | * @return EE_Base_Class[] |
120 | 120 | */ |
121 | - public function get_all_related( $model_object_or_id, $query_params = array(), $values_already_prepared_by_model_object = false ) { |
|
122 | - if( $values_already_prepared_by_model_object !== false ) { |
|
123 | - EE_Error::doing_it_wrong( 'EE_Model_Relation_Base::get_all_related', __( 'The argument $values_already_prepared_by_model_object is no longer used.', 'event_espresso' ), '4.8.1' ); |
|
121 | + public function get_all_related($model_object_or_id, $query_params = array(), $values_already_prepared_by_model_object = false) { |
|
122 | + if ($values_already_prepared_by_model_object !== false) { |
|
123 | + EE_Error::doing_it_wrong('EE_Model_Relation_Base::get_all_related', __('The argument $values_already_prepared_by_model_object is no longer used.', 'event_espresso'), '4.8.1'); |
|
124 | 124 | } |
125 | 125 | |
126 | 126 | //if this is an autosave then we're going to get things differently |
127 | - if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE ) { |
|
128 | - return $this->_do_autosave_get_all($model_object_or_id, $query_params ); |
|
127 | + if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) { |
|
128 | + return $this->_do_autosave_get_all($model_object_or_id, $query_params); |
|
129 | 129 | } |
130 | 130 | |
131 | - return parent::get_all_related( $model_object_or_id, $query_params ); |
|
131 | + return parent::get_all_related($model_object_or_id, $query_params); |
|
132 | 132 | } |
133 | 133 | |
134 | 134 | |
@@ -141,22 +141,22 @@ discard block |
||
141 | 141 | * @access protected |
142 | 142 | * @return EE_Base_Class[] |
143 | 143 | */ |
144 | - protected function _do_autosave_get_all( $model_object_or_id, $query_params, $deprecated = false ) { |
|
144 | + protected function _do_autosave_get_all($model_object_or_id, $query_params, $deprecated = false) { |
|
145 | 145 | |
146 | 146 | //first we check if the post_id for the incoming query is for an autosave. If it isn't that's what we want! |
147 | - $model_object_id = $this->_get_model_object_id( $model_object_or_id ); |
|
147 | + $model_object_id = $this->_get_model_object_id($model_object_or_id); |
|
148 | 148 | |
149 | - $autosave = wp_get_post_autosave( $model_object_id ); |
|
149 | + $autosave = wp_get_post_autosave($model_object_id); |
|
150 | 150 | $id_to_use = $autosave ? $autosave->ID : $model_object_id; |
151 | 151 | |
152 | - $autosave_relations = parent::get_all_related( $id_to_use, $query_params ); |
|
152 | + $autosave_relations = parent::get_all_related($id_to_use, $query_params); |
|
153 | 153 | $parent_ids = $parents = array(); |
154 | 154 | $return_objs = array(); |
155 | 155 | |
156 | 156 | //k this is where things differ because NOW what we're going to do is get the PARENTS for the get all related (and we'll also start setting up the return_objs array containing related that DON'T have parent ids, for those that DON'T have parents to merge with our returned objects); |
157 | - foreach ( $autosave_relations as $a_r ) { |
|
157 | + foreach ($autosave_relations as $a_r) { |
|
158 | 158 | $pid = $a_r->parent(); |
159 | - if ( !empty( $pid ) ) { |
|
159 | + if ( ! empty($pid)) { |
|
160 | 160 | $parent_ids[] = $pid; |
161 | 161 | } else { |
162 | 162 | $return_objs[] = $a_r; |
@@ -164,17 +164,17 @@ discard block |
||
164 | 164 | } |
165 | 165 | |
166 | 166 | //we have to make sure we also include the ORIGINAL values |
167 | - $originals = parent::get_all_related($model_object_or_id, $query_params ); |
|
167 | + $originals = parent::get_all_related($model_object_or_id, $query_params); |
|
168 | 168 | |
169 | 169 | //merge $originals with $return_objs |
170 | - if ( $originals ) { |
|
170 | + if ($originals) { |
|
171 | 171 | $return_objs = array_merge($originals, $return_objs); |
172 | 172 | } |
173 | 173 | |
174 | 174 | //now we setup the query to get all the parents |
175 | - if ( !empty( $parent_ids ) ) { |
|
175 | + if ( ! empty($parent_ids)) { |
|
176 | 176 | $query_param_where_this_model_pk = $this->get_this_model()->get_this_model_name().".".$this->get_this_model()->get_primary_key_field()->get_name(); |
177 | - $query_param[0][$query_param_where_this_model_pk] = array('IN', $parent_ids ); |
|
177 | + $query_param[0][$query_param_where_this_model_pk] = array('IN', $parent_ids); |
|
178 | 178 | $parents = $this->get_other_model()->get_all($query_params); |
179 | 179 | } |
180 | 180 | |
@@ -182,7 +182,7 @@ discard block |
||
182 | 182 | |
183 | 183 | |
184 | 184 | //now merge parents with our current $return_objs and send back |
185 | - return array_merge( $parents, $return_objs ); |
|
185 | + return array_merge($parents, $return_objs); |
|
186 | 186 | } |
187 | 187 | |
188 | 188 | |
@@ -195,42 +195,42 @@ discard block |
||
195 | 195 | * @param boolean $remove_relation Indicates whether we're doing a remove_relation or add_relation. |
196 | 196 | * @return EE_Base_Class. ($other_obj); |
197 | 197 | */ |
198 | - protected function _check_for_revision( $this_obj, $other_obj, $remove_relation = FALSE ) { |
|
198 | + protected function _check_for_revision($this_obj, $other_obj, $remove_relation = FALSE) { |
|
199 | 199 | $pk_on_related_model = $this->get_other_model()->get_primary_key_field()->get_name(); |
200 | 200 | //now we need to determine if we're in a WP revision save cause if we are we need to do some special handling |
201 | - if ( $this_obj->post_type() == 'revision' ) { |
|
201 | + if ($this_obj->post_type() == 'revision') { |
|
202 | 202 | //first if $other_obj fk = this_obj pk then we know that this is a pk object, let's make sure there is a matching set for the autosave if there is then we save over it, if there isn't then we need to create a new one. |
203 | 203 | $parent_evt_id = $this_obj->parent(); |
204 | 204 | /*var_dump($parent_evt_id); |
205 | 205 | var_dump($this_obj); |
206 | 206 | var_dump($other_obj);/**/ |
207 | 207 | |
208 | - if ( !empty($parent_evt_id) && $parent_evt_id == $other_obj->get($this->_primary_cpt_field) ) { |
|
208 | + if ( ! empty($parent_evt_id) && $parent_evt_id == $other_obj->get($this->_primary_cpt_field)) { |
|
209 | 209 | //let's do query on this objects model to see if the incoming pk value on the obj matches any parents in this objects table. |
210 | - $has_parent_obj = $this->get_other_model()->get_one( array( array( $this->_parent_pk_relation_field => $other_obj->ID(), $this->_primary_cpt_field => $this_obj->ID() ) ) ); |
|
210 | + $has_parent_obj = $this->get_other_model()->get_one(array(array($this->_parent_pk_relation_field => $other_obj->ID(), $this->_primary_cpt_field => $this_obj->ID()))); |
|
211 | 211 | |
212 | - if ( $has_parent_obj ) { |
|
212 | + if ($has_parent_obj) { |
|
213 | 213 | //this makes sure the update on the current obj happens to the revision's row NOT the parent row. |
214 | 214 | |
215 | - $other_obj->set( $this->_parent_pk_relation_field, $other_obj->ID()); |
|
216 | - $other_obj->set($pk_on_related_model, $has_parent_obj->ID() ); |
|
215 | + $other_obj->set($this->_parent_pk_relation_field, $other_obj->ID()); |
|
216 | + $other_obj->set($pk_on_related_model, $has_parent_obj->ID()); |
|
217 | 217 | $other_obj->set($this->_primary_cpt_field, $this_obj->ID()); |
218 | 218 | |
219 | - if ( !$remove_relation ) { |
|
219 | + if ( ! $remove_relation) { |
|
220 | 220 | $other_obj->save(); |
221 | - return array( $other_obj ); |
|
222 | - } elseif ( $remove_relation && !$this->_blocking_delete) { |
|
221 | + return array($other_obj); |
|
222 | + } elseif ($remove_relation && ! $this->_blocking_delete) { |
|
223 | 223 | $other_obj->delete(); |
224 | 224 | $other_obj->set($this->_parent_pk_relation_field, NULL, true); |
225 | 225 | return array($other_obj); |
226 | 226 | } |
227 | 227 | |
228 | 228 | } else { |
229 | - $other_obj->set( $this->_parent_pk_relation_field, $other_obj->ID() ); |
|
230 | - $other_obj->set( $this->_primary_cpt_field, $this_obj->ID() ); |
|
229 | + $other_obj->set($this->_parent_pk_relation_field, $other_obj->ID()); |
|
230 | + $other_obj->set($this->_primary_cpt_field, $this_obj->ID()); |
|
231 | 231 | $other_obj->set($pk_on_related_model, NULL, true); //ensure we create a new row for the autosave with parent id the same as the incoming ID. |
232 | 232 | $other_obj->save(); //make sure we insert. |
233 | - return array( $other_obj ); |
|
233 | + return array($other_obj); |
|
234 | 234 | } |
235 | 235 | } |
236 | 236 | |
@@ -243,24 +243,24 @@ discard block |
||
243 | 243 | } else { |
244 | 244 | |
245 | 245 | //we only need to do the below IF this is not a remove relation |
246 | - if ( !$remove_relation ) { |
|
246 | + if ( ! $remove_relation) { |
|
247 | 247 | //okay this is is a normal update/save/remove so, let's make sure the other object is not a revision of the current object. |
248 | 248 | //the other object will likely NOT have the correct fk on it (which is the primary_cpt_field_mame) so we must retrieve from the db to get that first. |
249 | 249 | $existing_other_obj = $this->get_other_model()->get_one_by_ID($other_obj->ID()); |
250 | 250 | $potential_revision_id = is_object($existing_other_obj) ? $existing_other_obj->get($this->_primary_cpt_field) : NULL; |
251 | 251 | |
252 | - if ( $parent_this_obj_id = wp_is_post_revision($potential_revision_id) ) { |
|
252 | + if ($parent_this_obj_id = wp_is_post_revision($potential_revision_id)) { |
|
253 | 253 | //yes the OTHER object is linked to the revision of the parent, not the parent itself. That means we need to make the other_object an attachment of this_obj and then duplicate other_obj for the revision. |
254 | - $other_obj->set($this->_primary_cpt_field, $this_obj->ID() ); |
|
254 | + $other_obj->set($this->_primary_cpt_field, $this_obj->ID()); |
|
255 | 255 | $other_obj->save(); |
256 | 256 | |
257 | 257 | //now create a new other_obj and fill with details from existing object |
258 | 258 | $new_obj = $other_obj; |
259 | - $new_obj->set( $this->_primary_cpt_field, $potential_revision_id ); |
|
260 | - $new_obj->set( $this->_parent_pk_relation_field, $other_obj->ID() ); |
|
261 | - $new_obj->set( $pk_on_related_model, NULL ); |
|
259 | + $new_obj->set($this->_primary_cpt_field, $potential_revision_id); |
|
260 | + $new_obj->set($this->_parent_pk_relation_field, $other_obj->ID()); |
|
261 | + $new_obj->set($pk_on_related_model, NULL); |
|
262 | 262 | $new_obj->save(); |
263 | - return array( $new_obj ); |
|
263 | + return array($new_obj); |
|
264 | 264 | } |
265 | 265 | |
266 | 266 | } |