@@ -4,7 +4,7 @@ discard block |
||
4 | 4 | * Base class for defining the tables that comprise models. This is used to store information |
5 | 5 | * about the table\s alias, private key, etc. |
6 | 6 | */ |
7 | -abstract class EE_Table_Base{ |
|
7 | +abstract class EE_Table_Base { |
|
8 | 8 | var $_table_name; |
9 | 9 | var $_table_alias; |
10 | 10 | /** |
@@ -21,30 +21,30 @@ discard block |
||
21 | 21 | * @param boolean $global whether the table is "global" as in there is only 1 table on an entire multisite install, |
22 | 22 | * or whether each site on a multisite install has a copy of this table |
23 | 23 | */ |
24 | - function __construct($table_name, $pk_column, $global = false ){ |
|
24 | + function __construct($table_name, $pk_column, $global = false) { |
|
25 | 25 | global $wpdb; |
26 | - if( $global ) { |
|
26 | + if ($global) { |
|
27 | 27 | $prefix = $wpdb->base_prefix; |
28 | 28 | } else { |
29 | 29 | $prefix = $wpdb->prefix; |
30 | 30 | } |
31 | 31 | //if they didn't add the prefix, let's add it |
32 | - if( strpos( $table_name, $prefix ) !== 0 ) { |
|
33 | - $table_name = $prefix . $table_name; |
|
32 | + if (strpos($table_name, $prefix) !== 0) { |
|
33 | + $table_name = $prefix.$table_name; |
|
34 | 34 | } |
35 | 35 | $this->_table_name = $table_name; |
36 | 36 | $this->_pk_column = $pk_column; |
37 | 37 | } |
38 | 38 | |
39 | - function _construct_finalize_with_alias($table_alias){ |
|
39 | + function _construct_finalize_with_alias($table_alias) { |
|
40 | 40 | $this->_table_alias = $table_alias; |
41 | 41 | } |
42 | 42 | |
43 | - function get_table_name(){ |
|
43 | + function get_table_name() { |
|
44 | 44 | return $this->_table_name; |
45 | 45 | } |
46 | - function get_table_alias(){ |
|
47 | - if( ! $this->_table_alias){ |
|
46 | + function get_table_alias() { |
|
47 | + if ( ! $this->_table_alias) { |
|
48 | 48 | throw new EE_Error("You must call _construct_finalize_with_alias before using the EE_Table_Base. Did you forget to call parent::__construct at the end of your EEMerimental_Base child's __construct?"); |
49 | 49 | } |
50 | 50 | return $this->_table_alias; |
@@ -54,7 +54,7 @@ discard block |
||
54 | 54 | * |
55 | 55 | * @return string name of column of PK |
56 | 56 | */ |
57 | - function get_pk_column(){ |
|
57 | + function get_pk_column() { |
|
58 | 58 | return $this->_pk_column; |
59 | 59 | } |
60 | 60 | |
@@ -64,8 +64,8 @@ discard block |
||
64 | 64 | * returns a string with the table alias, a period, and the private key's column. |
65 | 65 | * @return string |
66 | 66 | */ |
67 | - function get_fully_qualified_pk_column(){ |
|
68 | - $sql = $this->get_table_alias().".".$this->get_pk_column(); |
|
67 | + function get_fully_qualified_pk_column() { |
|
68 | + $sql = $this->get_table_alias().".".$this->get_pk_column(); |
|
69 | 69 | return $sql; |
70 | 70 | } |
71 | 71 | |
@@ -74,9 +74,9 @@ discard block |
||
74 | 74 | * returns the special sql for a inner select with a limit. |
75 | 75 | * @return string SQL select |
76 | 76 | */ |
77 | - public function get_select_join_limit( $limit ) { |
|
78 | - $limit = is_array( $limit ) ? 'LIMIT ' . implode(',', array_map( 'intval', $limit ) ) : 'LIMIT ' . (int) $limit; |
|
79 | - $SQL = SP . '(SELECT * FROM ' . $this->_table_name . SP . $limit . ') AS ' . $this->_table_alias; |
|
77 | + public function get_select_join_limit($limit) { |
|
78 | + $limit = is_array($limit) ? 'LIMIT '.implode(',', array_map('intval', $limit)) : 'LIMIT '.(int) $limit; |
|
79 | + $SQL = SP.'(SELECT * FROM '.$this->_table_name.SP.$limit.') AS '.$this->_table_alias; |
|
80 | 80 | return $SQL; |
81 | 81 | } |
82 | 82 | } |
@@ -4,7 +4,7 @@ |
||
4 | 4 | * Used to indicate a UNIQUE key index - ie, a set of fields which must be unique |
5 | 5 | * for ALL the model objects of this type |
6 | 6 | */ |
7 | -class EE_Unique_Index extends EE_Index{ |
|
7 | +class EE_Unique_Index extends EE_Index { |
|
8 | 8 | //yep, actually the same as index right now |
9 | 9 | |
10 | 10 | } |
@@ -6,7 +6,7 @@ discard block |
||
6 | 6 | * in order to specify which model the foreign key points to (eg, the foreign key may have a value of 34, but is that Transaction with |
7 | 7 | * ID 34 or Registration with ID 34? The EE_Any_Foreign_Model_name_Field specifies which of the two). |
8 | 8 | */ |
9 | -require_once( EE_MODELS . 'relations/EE_Belongs_To_Relation.php'); |
|
9 | +require_once(EE_MODELS.'relations/EE_Belongs_To_Relation.php'); |
|
10 | 10 | |
11 | 11 | class EE_Belongs_To_Any_Relation extends EE_Belongs_To_Relation { |
12 | 12 | |
@@ -19,8 +19,8 @@ discard block |
||
19 | 19 | |
20 | 20 | |
21 | 21 | $other_table_pk_field = $this->get_other_model()->get_primary_key_field(); |
22 | - $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_fk_field->get_table_alias(); |
|
23 | - $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(); |
|
22 | + $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_fk_field->get_table_alias(); |
|
23 | + $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(); |
|
24 | 24 | $other_table = $this->get_other_model()->get_table_for_alias($other_table_alias); |
25 | 25 | return $this->_left_join($other_table, |
26 | 26 | $other_table_alias, |
@@ -58,12 +58,12 @@ discard block |
||
58 | 58 | */ |
59 | 59 | function remove_relation_to($this_obj_or_id, $other_obj_or_id) { |
60 | 60 | $this_model_obj = $this->get_this_model()->ensure_is_obj($this_obj_or_id, true); |
61 | - $other_model_obj = $this->get_other_model()->ensure_is_obj( $other_obj_or_id ); |
|
61 | + $other_model_obj = $this->get_other_model()->ensure_is_obj($other_obj_or_id); |
|
62 | 62 | //find the field on th eother model which is a foreign key to this model |
63 | 63 | $fk_on_this_model = $this->get_this_model()->get_foreign_key_to($this->get_other_model()->get_this_model_name()); |
64 | 64 | //set that field on the other model to this model's ID |
65 | 65 | $this_model_obj->set($fk_on_this_model->get_name(), null, true); |
66 | - $this_model_obj->set($this->get_this_model()->get_field_containing_related_model_name()->get_name(),null,true); |
|
66 | + $this_model_obj->set($this->get_this_model()->get_field_containing_related_model_name()->get_name(), null, true); |
|
67 | 67 | $this_model_obj->save(); |
68 | 68 | return $other_model_obj; |
69 | 69 | } |
@@ -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 | } |
@@ -17,6 +17,7 @@ |
||
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; |
@@ -7,16 +7,16 @@ discard block |
||
7 | 7 | * ID 34 or Registration with ID 34? The EE_Any_Foreign_Model_name_Field specifies which of the two). |
8 | 8 | * |
9 | 9 | */ |
10 | -require_once( EE_MODELS . 'relations/EE_Model_Relation_Base.php'); |
|
11 | -class EE_Has_Many_Any_Relation extends EE_Has_Many_Relation{ |
|
10 | +require_once(EE_MODELS.'relations/EE_Model_Relation_Base.php'); |
|
11 | +class EE_Has_Many_Any_Relation extends EE_Has_Many_Relation { |
|
12 | 12 | |
13 | - function get_join_statement($model_relation_chain){ |
|
13 | + function get_join_statement($model_relation_chain) { |
|
14 | 14 | //create the sql string like |
15 | 15 | // LEFT JOIN other_table AS table_alias ON this_table_alias.pk = other_table_alias.fk extra_join_conditions |
16 | 16 | $this_table_pk_field = $this->get_this_model()->get_primary_key_field(); |
17 | 17 | $other_table_fk_field = $this->get_other_model()->get_foreign_key_to($this->get_this_model()->get_this_model_name()); |
18 | - $pk_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(); |
|
19 | - $fk_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_fk_field->get_table_alias(); |
|
18 | + $pk_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(); |
|
19 | + $fk_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_fk_field->get_table_alias(); |
|
20 | 20 | $fk_table = $this->get_other_model()->get_table_for_alias($fk_table_alias); |
21 | 21 | $field_with_model_name = $this->get_other_model()->get_field_containing_related_model_name(); |
22 | 22 | |
@@ -25,7 +25,7 @@ discard block |
||
25 | 25 | $other_table_fk_field->get_table_column(), |
26 | 26 | $pk_table_alias, |
27 | 27 | $this_table_pk_field->get_table_column(), |
28 | - $fk_table_alias . '.' . $field_with_model_name->get_table_column() . "='" . $this->get_this_model()->get_this_model_name() . "'" ) |
|
28 | + $fk_table_alias.'.'.$field_with_model_name->get_table_column()."='".$this->get_this_model()->get_this_model_name()."'") |
|
29 | 29 | .$this->get_other_model()->_construct_internal_join_to_table_with_alias($fk_table_alias); |
30 | 30 | } |
31 | 31 | /** |
@@ -34,7 +34,7 @@ discard block |
||
34 | 34 | * @param EE_Base_Class/int $other_obj_or_id |
35 | 35 | * @return EE_Base_Class |
36 | 36 | */ |
37 | - function add_relation_to($this_obj_or_id, $other_obj_or_id ){ |
|
37 | + function add_relation_to($this_obj_or_id, $other_obj_or_id) { |
|
38 | 38 | $this_model_obj = $this->get_this_model()->ensure_is_obj($this_obj_or_id, true); |
39 | 39 | $other_model_obj = $this->get_other_model()->ensure_is_obj($other_obj_or_id, true); |
40 | 40 | |
@@ -53,12 +53,12 @@ discard block |
||
53 | 53 | * @param EE_Base_Class/int $other_obj_or_id |
54 | 54 | * @return EE_Base_Class |
55 | 55 | */ |
56 | - function remove_relation_to($this_obj_or_id, $other_obj_or_id){ |
|
56 | + function remove_relation_to($this_obj_or_id, $other_obj_or_id) { |
|
57 | 57 | $other_model_obj = $this->get_other_model()->ensure_is_obj($other_obj_or_id, true); |
58 | 58 | //find the field on th eother model which is a foreign key to this model |
59 | 59 | $fk_field_on_other_model = $this->get_other_model()->get_foreign_key_to($this->get_this_model()->get_this_model_name()); |
60 | 60 | //set that field on the other model to this model's ID |
61 | - $other_model_obj->set($fk_field_on_other_model->get_name(),null, true); |
|
61 | + $other_model_obj->set($fk_field_on_other_model->get_name(), null, true); |
|
62 | 62 | $other_model_obj->set($this->get_other_model()->get_field_containing_related_model_name()->get_name(), null, true); |
63 | 63 | $other_model_obj->save(); |
64 | 64 | return $other_model_obj; |
@@ -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_Model_Relation_Base.php'); |
|
8 | -class EE_Has_Many_Relation extends EE_Model_Relation_Base{ |
|
7 | +require_once(EE_MODELS.'relations/EE_Model_Relation_Base.php'); |
|
8 | +class EE_Has_Many_Relation extends EE_Model_Relation_Base { |
|
9 | 9 | |
10 | 10 | /** |
11 | 11 | * Object representing the relationship between two models. Has_Many_Relations are where the OTHER model has the foreign key |
@@ -15,16 +15,16 @@ discard block |
||
15 | 15 | * @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 |
16 | 16 | * @param type $blocking_delete_error_message a customized error message on blocking deletes instead of the default |
17 | 17 | */ |
18 | - function __construct($block_deletes = true, $blocking_delete_error_message = null){ |
|
18 | + function __construct($block_deletes = true, $blocking_delete_error_message = null) { |
|
19 | 19 | parent::__construct($block_deletes, $blocking_delete_error_message); |
20 | 20 | } |
21 | - function get_join_statement($model_relation_chain){ |
|
21 | + function get_join_statement($model_relation_chain) { |
|
22 | 22 | //create the sql string like |
23 | 23 | // LEFT JOIN other_table AS table_alias ON this_table_alias.pk = other_table_alias.fk extra_join_conditions |
24 | 24 | $this_table_pk_field = $this->get_this_model()->get_primary_key_field(); |
25 | 25 | $other_table_fk_field = $this->get_other_model()->get_foreign_key_to($this->get_this_model()->get_this_model_name()); |
26 | - $pk_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(); |
|
27 | - $fk_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_fk_field->get_table_alias(); |
|
26 | + $pk_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(); |
|
27 | + $fk_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_fk_field->get_table_alias(); |
|
28 | 28 | $fk_table = $this->get_other_model()->get_table_for_alias($fk_table_alias); |
29 | 29 | |
30 | 30 | return $this->_left_join($fk_table, $fk_table_alias, $other_table_fk_field->get_table_column(), $pk_table_alias, $this_table_pk_field->get_table_column()).$this->get_other_model()->_construct_internal_join_to_table_with_alias($fk_table_alias); |
@@ -35,13 +35,13 @@ discard block |
||
35 | 35 | * @param EE_Base_Class/int $other_obj_or_id |
36 | 36 | * @return EE_Base_Class |
37 | 37 | */ |
38 | - function add_relation_to($this_obj_or_id, $other_obj_or_id ){ |
|
38 | + function add_relation_to($this_obj_or_id, $other_obj_or_id) { |
|
39 | 39 | $this_model_obj = $this->get_this_model()->ensure_is_obj($this_obj_or_id, true); |
40 | 40 | $other_model_obj = $this->get_other_model()->ensure_is_obj($other_obj_or_id, true); |
41 | 41 | |
42 | 42 | //find the field on th eother model which is a foreign key to this model |
43 | 43 | $fk_field_on_other_model = $this->get_other_model()->get_foreign_key_to($this->get_this_model()->get_this_model_name()); |
44 | - if($other_model_obj->get($fk_field_on_other_model->get_name()) != $this_model_obj->ID()){ |
|
44 | + if ($other_model_obj->get($fk_field_on_other_model->get_name()) != $this_model_obj->ID()) { |
|
45 | 45 | //set that field on the other model to this model's ID |
46 | 46 | $other_model_obj->set($fk_field_on_other_model->get_name(), $this_model_obj->ID()); |
47 | 47 | $other_model_obj->save(); |
@@ -55,12 +55,12 @@ discard block |
||
55 | 55 | * @param EE_Base_Class/int $other_obj_or_id |
56 | 56 | * @return EE_Base_Class |
57 | 57 | */ |
58 | - function remove_relation_to($this_obj_or_id, $other_obj_or_id){ |
|
58 | + function remove_relation_to($this_obj_or_id, $other_obj_or_id) { |
|
59 | 59 | $other_model_obj = $this->get_other_model()->ensure_is_obj($other_obj_or_id, true); |
60 | 60 | //find the field on th eother model which is a foreign key to this model |
61 | 61 | $fk_field_on_other_model = $this->get_other_model()->get_foreign_key_to($this->get_this_model()->get_this_model_name()); |
62 | 62 | //set that field on the other model to this model's ID |
63 | - $other_model_obj->set($fk_field_on_other_model->get_name(),null, true); |
|
63 | + $other_model_obj->set($fk_field_on_other_model->get_name(), null, true); |
|
64 | 64 | $other_model_obj->save(); |
65 | 65 | return $other_model_obj; |
66 | 66 | } |
@@ -104,8 +104,9 @@ discard block |
||
104 | 104 | * @param string $timezone timezone to set. |
105 | 105 | */ |
106 | 106 | public function set_timezone( $timezone ) { |
107 | - if($timezone !== NULL) |
|
108 | - $this->_timezone = $timezone; |
|
107 | + if($timezone !== NULL) { |
|
108 | + $this->_timezone = $timezone; |
|
109 | + } |
|
109 | 110 | } |
110 | 111 | |
111 | 112 | |
@@ -213,12 +214,12 @@ discard block |
||
213 | 214 | $deleted_count++; |
214 | 215 | if( ! $delete_is_blocked ){ |
215 | 216 | $related_model_object->delete_permanently(); |
216 | - }else{ |
|
217 | + } else{ |
|
217 | 218 | //delete is blocked |
218 | 219 | //brent and darren, in this case, wanted to just soft delete it then |
219 | 220 | $related_model_object->delete(); |
220 | 221 | } |
221 | - }else{ |
|
222 | + } else{ |
|
222 | 223 | //its not a soft-deletable thing anyways. do the normal logic. |
223 | 224 | if( ! $delete_is_blocked ){ |
224 | 225 | $this->remove_relation_to($model_object_or_id, $related_model_object); |
@@ -241,7 +242,7 @@ discard block |
||
241 | 242 | protected function _get_model_object_id($model_object_or_id) { |
242 | 243 | if($model_object_or_id instanceof EE_Base_Class){ |
243 | 244 | $model_object_id = $model_object_or_id->ID(); |
244 | - }else{ |
|
245 | + } else{ |
|
245 | 246 | $model_object_id = $model_object_or_id; |
246 | 247 | } |
247 | 248 | if( ! $model_object_id){ |
@@ -316,7 +317,7 @@ discard block |
||
316 | 317 | public function get_deletion_error_message(){ |
317 | 318 | if($this->_blocking_delete_error_message){ |
318 | 319 | return $this->_blocking_delete_error_message; |
319 | - }else{ |
|
320 | + } else{ |
|
320 | 321 | // return sprintf(__('Cannot delete %1$s when there are related %2$s', "event_espresso"),$this->get_this_model()->item_name(2),$this->get_other_model()->item_name(2)); |
321 | 322 | return sprintf( |
322 | 323 | __( 'This %1$s is currently linked to one or more %2$s records. If this %1$s is incorrect, then please remove it from all %3$s before attempting to delete it.', "event_espresso"), |
@@ -7,7 +7,7 @@ discard block |
||
7 | 7 | * Once those two models are setup correctly, and the relation object has the names of each, it can |
8 | 8 | * magically figure out what tables must be joined on what fields during querying. |
9 | 9 | */ |
10 | -abstract class EE_Model_Relation_Base{ |
|
10 | +abstract class EE_Model_Relation_Base { |
|
11 | 11 | /** |
12 | 12 | * The model name of which this relation is a component (ie, the model that called new EE_Model_Relation_Base) |
13 | 13 | * @var string eg Event, Question_Group, Registration |
@@ -42,9 +42,9 @@ discard block |
||
42 | 42 | * @param boolean $block_deletes if there are related models across this relation, block (prevent and add an error) the deletion of this model |
43 | 43 | * @param string $blocking_delete_error_message a customized error message on blocking deletes instead of the default |
44 | 44 | */ |
45 | - function __construct($block_deletes, $blocking_delete_error_message){ |
|
45 | + function __construct($block_deletes, $blocking_delete_error_message) { |
|
46 | 46 | $this->_blocking_delete = $block_deletes; |
47 | - $this->_blocking_delete_error_message=$blocking_delete_error_message; |
|
47 | + $this->_blocking_delete_error_message = $blocking_delete_error_message; |
|
48 | 48 | } |
49 | 49 | |
50 | 50 | |
@@ -54,12 +54,12 @@ discard block |
||
54 | 54 | * @param $other_model_name |
55 | 55 | * @throws EE_Error |
56 | 56 | */ |
57 | - function _construct_finalize_set_models($this_model_name, $other_model_name){ |
|
57 | + function _construct_finalize_set_models($this_model_name, $other_model_name) { |
|
58 | 58 | $this->_this_model_name = $this_model_name; |
59 | 59 | $this->_other_model_name = $other_model_name; |
60 | - if(is_string($this->_blocking_delete)){ |
|
60 | + if (is_string($this->_blocking_delete)) { |
|
61 | 61 | throw new EE_Error(sprintf(__("When instantiating the relation of type %s from %s to %s, the \$block_deletes argument should be a boolean, not a string (%s)", "event_espresso"), |
62 | - get_class($this),$this_model_name,$other_model_name,$this->_blocking_delete)); |
|
62 | + get_class($this), $this_model_name, $other_model_name, $this->_blocking_delete)); |
|
63 | 63 | } |
64 | 64 | } |
65 | 65 | |
@@ -69,7 +69,7 @@ discard block |
||
69 | 69 | * Gets the model where this relation is defined. |
70 | 70 | * @return EEM_Base |
71 | 71 | */ |
72 | - function get_this_model(){ |
|
72 | + function get_this_model() { |
|
73 | 73 | return $this->_get_model($this->_this_model_name); |
74 | 74 | } |
75 | 75 | |
@@ -80,7 +80,7 @@ discard block |
||
80 | 80 | * this relation object was defined on get_this_model(), get_other_model() is the other one) |
81 | 81 | * @return EEM_Base |
82 | 82 | */ |
83 | - function get_other_model(){ |
|
83 | + function get_other_model() { |
|
84 | 84 | return $this->_get_model($this->_other_model_name); |
85 | 85 | } |
86 | 86 | |
@@ -91,9 +91,9 @@ discard block |
||
91 | 91 | * @param string $model_name like Event, Question_Group, etc. omit the EEM_ |
92 | 92 | * @return EEM_Base |
93 | 93 | */ |
94 | - protected function _get_model($model_name){ |
|
95 | - $modelInstance = EE_Registry::instance()->load_model( $model_name ); |
|
96 | - $modelInstance->set_timezone( $this->_timezone ); |
|
94 | + protected function _get_model($model_name) { |
|
95 | + $modelInstance = EE_Registry::instance()->load_model($model_name); |
|
96 | + $modelInstance->set_timezone($this->_timezone); |
|
97 | 97 | return $modelInstance; |
98 | 98 | } |
99 | 99 | |
@@ -103,8 +103,8 @@ discard block |
||
103 | 103 | * entirely possible that relations may be called from a model and we need to make sure those relations have their timezone set correctly. |
104 | 104 | * @param string $timezone timezone to set. |
105 | 105 | */ |
106 | - public function set_timezone( $timezone ) { |
|
107 | - if($timezone !== NULL) |
|
106 | + public function set_timezone($timezone) { |
|
107 | + if ($timezone !== NULL) |
|
108 | 108 | $this->_timezone = $timezone; |
109 | 109 | } |
110 | 110 | |
@@ -119,8 +119,8 @@ discard block |
||
119 | 119 | * @param string $extra_join_sql |
120 | 120 | * @return string |
121 | 121 | */ |
122 | - protected function _left_join($other_table,$other_table_alias,$other_table_column,$this_table_alias,$this_table_join_column, $extra_join_sql = ''){ |
|
123 | - return " LEFT JOIN ".$other_table." AS ".$other_table_alias. " ON ".$other_table_alias.".".$other_table_column."=".$this_table_alias.".".$this_table_join_column. ($extra_join_sql ? " AND $extra_join_sql" : ''); |
|
122 | + protected function _left_join($other_table, $other_table_alias, $other_table_column, $this_table_alias, $this_table_join_column, $extra_join_sql = '') { |
|
123 | + return " LEFT JOIN ".$other_table." AS ".$other_table_alias." ON ".$other_table_alias.".".$other_table_column."=".$this_table_alias.".".$this_table_join_column.($extra_join_sql ? " AND $extra_join_sql" : ''); |
|
124 | 124 | } |
125 | 125 | |
126 | 126 | |
@@ -136,13 +136,13 @@ discard block |
||
136 | 136 | * @param boolean $values_already_prepared_by_model_object @deprecated since 4.8.1 |
137 | 137 | * @return EE_Base_Class[] |
138 | 138 | */ |
139 | - public function get_all_related($model_object_or_id, $query_params = array(), $values_already_prepared_by_model_object = false){ |
|
140 | - if( $values_already_prepared_by_model_object !== false ) { |
|
141 | - 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' ); |
|
139 | + public function get_all_related($model_object_or_id, $query_params = array(), $values_already_prepared_by_model_object = false) { |
|
140 | + if ($values_already_prepared_by_model_object !== false) { |
|
141 | + 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'); |
|
142 | 142 | } |
143 | 143 | $query_params = $this->_disable_default_where_conditions_on_query_param($query_params); |
144 | 144 | $query_param_where_this_model_pk = $this->get_this_model()->get_this_model_name().".".$this->get_this_model()->get_primary_key_field()->get_name(); |
145 | - $model_object_id = $this->_get_model_object_id( $model_object_or_id ); |
|
145 | + $model_object_id = $this->_get_model_object_id($model_object_or_id); |
|
146 | 146 | $query_params[0][$query_param_where_this_model_pk] = $model_object_id; |
147 | 147 | return $this->get_other_model()->get_all($query_params); |
148 | 148 | } |
@@ -154,9 +154,9 @@ discard block |
||
154 | 154 | * @param string $query_params |
155 | 155 | * @return string |
156 | 156 | */ |
157 | - protected function _disable_default_where_conditions_on_query_param($query_params){ |
|
158 | - if( ! isset($query_params['default_where_conditions'])){ |
|
159 | - $query_params['default_where_conditions']='none'; |
|
157 | + protected function _disable_default_where_conditions_on_query_param($query_params) { |
|
158 | + if ( ! isset($query_params['default_where_conditions'])) { |
|
159 | + $query_params['default_where_conditions'] = 'none'; |
|
160 | 160 | } |
161 | 161 | return $query_params; |
162 | 162 | } |
@@ -172,15 +172,15 @@ discard block |
||
172 | 172 | * @param array $query_params |
173 | 173 | * @return int of how many related models got deleted |
174 | 174 | */ |
175 | - public function delete_all_related($model_object_or_id,$query_params = array()){ |
|
175 | + public function delete_all_related($model_object_or_id, $query_params = array()) { |
|
176 | 176 | //for each thing we would delete, |
177 | - $related_model_objects = $this->get_all_related($model_object_or_id,$query_params); |
|
177 | + $related_model_objects = $this->get_all_related($model_object_or_id, $query_params); |
|
178 | 178 | //determine if it's blocked by anything else before it can be deletedx |
179 | 179 | $deleted_count = 0; |
180 | - foreach($related_model_objects as $related_model_object){ |
|
180 | + foreach ($related_model_objects as $related_model_object) { |
|
181 | 181 | $delete_is_blocked = $this->get_other_model()->delete_is_blocked_by_related_models($related_model_object, $model_object_or_id); |
182 | 182 | /* @var $model_object_or_id EE_Base_Class */ |
183 | - if( ! $delete_is_blocked ){ |
|
183 | + if ( ! $delete_is_blocked) { |
|
184 | 184 | $this->remove_relation_to($model_object_or_id, $related_model_object); |
185 | 185 | $related_model_object->delete(); |
186 | 186 | $deleted_count++; |
@@ -200,27 +200,27 @@ discard block |
||
200 | 200 | * @param array $query_params |
201 | 201 | * @return int of how many related models got deleted |
202 | 202 | */ |
203 | - public function delete_related_permanently($model_object_or_id,$query_params = array()){ |
|
203 | + public function delete_related_permanently($model_object_or_id, $query_params = array()) { |
|
204 | 204 | //for each thing we would delete, |
205 | - $related_model_objects = $this->get_all_related($model_object_or_id,$query_params); |
|
205 | + $related_model_objects = $this->get_all_related($model_object_or_id, $query_params); |
|
206 | 206 | //determine if it's blocked by anything else before it can be deletedx |
207 | 207 | $deleted_count = 0; |
208 | - foreach($related_model_objects as $related_model_object){ |
|
208 | + foreach ($related_model_objects as $related_model_object) { |
|
209 | 209 | $delete_is_blocked = $this->get_other_model()->delete_is_blocked_by_related_models($related_model_object, $model_object_or_id); |
210 | 210 | /* @var $model_object_or_id EE_Base_Class */ |
211 | - if( $related_model_object instanceof EE_Soft_Delete_Base_Class ){ |
|
211 | + if ($related_model_object instanceof EE_Soft_Delete_Base_Class) { |
|
212 | 212 | $this->remove_relation_to($model_object_or_id, $related_model_object); |
213 | 213 | $deleted_count++; |
214 | - if( ! $delete_is_blocked ){ |
|
214 | + if ( ! $delete_is_blocked) { |
|
215 | 215 | $related_model_object->delete_permanently(); |
216 | - }else{ |
|
216 | + } else { |
|
217 | 217 | //delete is blocked |
218 | 218 | //brent and darren, in this case, wanted to just soft delete it then |
219 | 219 | $related_model_object->delete(); |
220 | 220 | } |
221 | - }else{ |
|
221 | + } else { |
|
222 | 222 | //its not a soft-deletable thing anyways. do the normal logic. |
223 | - if( ! $delete_is_blocked ){ |
|
223 | + if ( ! $delete_is_blocked) { |
|
224 | 224 | $this->remove_relation_to($model_object_or_id, $related_model_object); |
225 | 225 | $related_model_object->delete(); |
226 | 226 | $deleted_count++; |
@@ -239,13 +239,13 @@ discard block |
||
239 | 239 | * @return int |
240 | 240 | */ |
241 | 241 | protected function _get_model_object_id($model_object_or_id) { |
242 | - if($model_object_or_id instanceof EE_Base_Class){ |
|
242 | + if ($model_object_or_id instanceof EE_Base_Class) { |
|
243 | 243 | $model_object_id = $model_object_or_id->ID(); |
244 | - }else{ |
|
244 | + } else { |
|
245 | 245 | $model_object_id = $model_object_or_id; |
246 | 246 | } |
247 | - if( ! $model_object_id){ |
|
248 | - throw new EE_Error(sprintf(__("Sorry, we cant get the related %s model objects to %s model object before it has an ID. You can solve that by just saving it before trying to get its related model objects", "event_espresso"),$this->get_other_model()->get_this_model_name(),$this->get_this_model()->get_this_model_name())); |
|
247 | + if ( ! $model_object_id) { |
|
248 | + throw new EE_Error(sprintf(__("Sorry, we cant get the related %s model objects to %s model object before it has an ID. You can solve that by just saving it before trying to get its related model objects", "event_espresso"), $this->get_other_model()->get_this_model_name(), $this->get_this_model()->get_this_model_name())); |
|
249 | 249 | } |
250 | 250 | return $model_object_id; |
251 | 251 | } |
@@ -288,10 +288,10 @@ discard block |
||
288 | 288 | * @param array $where_query_param like EEM_Base::get_all's $query_params[0] (where conditions) |
289 | 289 | * @return EE_Base_Class[] |
290 | 290 | */ |
291 | - public function remove_relations($this_obj_or_id,$where_query_param = array()){ |
|
292 | - $related_things = $this->get_all_related($this_obj_or_id,array($where_query_param)); |
|
291 | + public function remove_relations($this_obj_or_id, $where_query_param = array()) { |
|
292 | + $related_things = $this->get_all_related($this_obj_or_id, array($where_query_param)); |
|
293 | 293 | $objs_removed = array(); |
294 | - foreach($related_things as $related_thing){ |
|
294 | + foreach ($related_things as $related_thing) { |
|
295 | 295 | $objs_removed[] = $this->remove_relation_to($this_obj_or_id, $related_thing); |
296 | 296 | } |
297 | 297 | return $objs_removed; |
@@ -304,7 +304,7 @@ discard block |
||
304 | 304 | * related objects exist, returns false. |
305 | 305 | * @return boolean |
306 | 306 | */ |
307 | - public function block_delete_if_related_models_exist(){ |
|
307 | + public function block_delete_if_related_models_exist() { |
|
308 | 308 | return $this->_blocking_delete; |
309 | 309 | } |
310 | 310 | |
@@ -313,13 +313,13 @@ discard block |
||
313 | 313 | * Gets the error message to show |
314 | 314 | * @return string |
315 | 315 | */ |
316 | - public function get_deletion_error_message(){ |
|
317 | - if($this->_blocking_delete_error_message){ |
|
316 | + public function get_deletion_error_message() { |
|
317 | + if ($this->_blocking_delete_error_message) { |
|
318 | 318 | return $this->_blocking_delete_error_message; |
319 | - }else{ |
|
319 | + } else { |
|
320 | 320 | // return sprintf(__('Cannot delete %1$s when there are related %2$s', "event_espresso"),$this->get_this_model()->item_name(2),$this->get_other_model()->item_name(2)); |
321 | 321 | return sprintf( |
322 | - __( 'This %1$s is currently linked to one or more %2$s records. If this %1$s is incorrect, then please remove it from all %3$s before attempting to delete it.', "event_espresso"), |
|
322 | + __('This %1$s is currently linked to one or more %2$s records. If this %1$s is incorrect, then please remove it from all %3$s before attempting to delete it.', "event_espresso"), |
|
323 | 323 | $this->get_this_model()->item_name(1), |
324 | 324 | $this->get_other_model()->item_name(1), |
325 | 325 | $this->get_other_model()->item_name(2) |
@@ -112,9 +112,9 @@ discard block |
||
112 | 112 | |
113 | 113 | /** |
114 | 114 | * @param $other_table |
115 | - * @param $other_table_alias |
|
115 | + * @param string $other_table_alias |
|
116 | 116 | * @param $other_table_column |
117 | - * @param $this_table_alias |
|
117 | + * @param string $this_table_alias |
|
118 | 118 | * @param $this_table_join_column |
119 | 119 | * @param string $extra_join_sql |
120 | 120 | * @return string |
@@ -168,7 +168,7 @@ discard block |
||
168 | 168 | * parameters are specified, then all related model objects will be deleted. |
169 | 169 | * Note: If the related model is extends EEM_Soft_Delete_Base, then the related |
170 | 170 | * model objects will only be soft-deleted. |
171 | - * @param EE_Base_Class|int|string $model_object_or_id |
|
171 | + * @param EE_Base_Class $model_object_or_id |
|
172 | 172 | * @param array $query_params |
173 | 173 | * @return int of how many related models got deleted |
174 | 174 | */ |
@@ -196,7 +196,7 @@ discard block |
||
196 | 196 | * parameters are specified, then all related model objects will be deleted. |
197 | 197 | * Note: If the related model is extends EEM_Soft_Delete_Base, then the related |
198 | 198 | * model objects will only be soft-deleted. |
199 | - * @param EE_Base_Class|int|string $model_object_or_id |
|
199 | + * @param EE_Base_Class $model_object_or_id |
|
200 | 200 | * @param array $query_params |
201 | 201 | * @return int of how many related models got deleted |
202 | 202 | */ |
@@ -1,6 +1,6 @@ discard block |
||
1 | 1 | <?php |
2 | -if ( !defined( 'EVENT_ESPRESSO_VERSION' ) ) { |
|
3 | - exit( 'No direct script access allowed' ); |
|
2 | +if ( ! defined('EVENT_ESPRESSO_VERSION')) { |
|
3 | + exit('No direct script access allowed'); |
|
4 | 4 | } |
5 | 5 | |
6 | 6 | /** |
@@ -53,7 +53,7 @@ discard block |
||
53 | 53 | * @param EEM_Base $model |
54 | 54 | * @param string $action |
55 | 55 | */ |
56 | - public function _construct_finalize( EEM_Base $model, $action ){ |
|
56 | + public function _construct_finalize(EEM_Base $model, $action) { |
|
57 | 57 | $this->_model = $model; |
58 | 58 | $this->_action = $action; |
59 | 59 | } |
@@ -65,8 +65,8 @@ discard block |
||
65 | 65 | * @return EEM_Base | EEM_Soft_Delete_Base |
66 | 66 | */ |
67 | 67 | public function model() { |
68 | - if( ! $this->_model instanceof EEM_Base ) { |
|
69 | - throw new EE_Error( sprintf( __( 'Cannot generate capability restrictions because model has not yet been set on the %s. Please ensure _construct_finalize() was called', 'event_espresso' ), get_class( $this ) ) ); |
|
68 | + if ( ! $this->_model instanceof EEM_Base) { |
|
69 | + throw new EE_Error(sprintf(__('Cannot generate capability restrictions because model has not yet been set on the %s. Please ensure _construct_finalize() was called', 'event_espresso'), get_class($this))); |
|
70 | 70 | } |
71 | 71 | return $this->_model; |
72 | 72 | } |
@@ -79,8 +79,8 @@ discard block |
||
79 | 79 | * @return string |
80 | 80 | */ |
81 | 81 | public function action() { |
82 | - if( ! $this->_action ) { |
|
83 | - throw new EE_Error( sprintf( __( 'Cannot generate capability restrictions because model has not yet been set on the %s. Please ensure _construct_finalize() was called', 'event_espresso' ), get_class( $this ) ) ); |
|
82 | + if ( ! $this->_action) { |
|
83 | + throw new EE_Error(sprintf(__('Cannot generate capability restrictions because model has not yet been set on the %s. Please ensure _construct_finalize() was called', 'event_espresso'), get_class($this))); |
|
84 | 84 | } |
85 | 85 | return $this->_action; |
86 | 86 | } |
@@ -89,10 +89,10 @@ discard block |
||
89 | 89 | * Returns whether or not _construct_finalize() has been called on this restriction generator object |
90 | 90 | * @return boolean |
91 | 91 | */ |
92 | - public function construction_finalized(){ |
|
93 | - if( $this->_model instanceof EEM_Base && $this->_action ){ |
|
92 | + public function construction_finalized() { |
|
93 | + if ($this->_model instanceof EEM_Base && $this->_action) { |
|
94 | 94 | return true; |
95 | - }else{ |
|
95 | + } else { |
|
96 | 96 | return false; |
97 | 97 | } |
98 | 98 | } |
@@ -103,10 +103,10 @@ discard block |
||
103 | 103 | * @return array @see EEM_Base::_cap_restrictions |
104 | 104 | */ |
105 | 105 | public function generate_restrictions() { |
106 | - if( $this->_cap_restrictions_generated === false ) { |
|
107 | - $this->_cap_restrictions_generated = apply_filters( 'FHEE__EE_Restriction_Generator_Base__generate_restrictions__first_time', $this->_generate_restrictions(), $this ); |
|
106 | + if ($this->_cap_restrictions_generated === false) { |
|
107 | + $this->_cap_restrictions_generated = apply_filters('FHEE__EE_Restriction_Generator_Base__generate_restrictions__first_time', $this->_generate_restrictions(), $this); |
|
108 | 108 | } |
109 | - return apply_filters( 'FHEE__EE_Restriction_Generator_Base__generate_restrictions__every_time', $this->_cap_restrictions_generated, $this ); |
|
109 | + return apply_filters('FHEE__EE_Restriction_Generator_Base__generate_restrictions__every_time', $this->_cap_restrictions_generated, $this); |
|
110 | 110 | } |
111 | 111 | |
112 | 112 | /** |
@@ -122,10 +122,10 @@ discard block |
||
122 | 122 | * making restrictions and caching them on itself in case its asked later |
123 | 123 | * @return boolean |
124 | 124 | */ |
125 | - public function has_generated_cap_restrictions(){ |
|
126 | - if( $this->_cap_restrictions_generated === false ){ |
|
125 | + public function has_generated_cap_restrictions() { |
|
126 | + if ($this->_cap_restrictions_generated === false) { |
|
127 | 127 | return false; |
128 | - }else{ |
|
128 | + } else { |
|
129 | 129 | return true; |
130 | 130 | } |
131 | 131 | } |
@@ -139,8 +139,8 @@ discard block |
||
139 | 139 | * @param string $action |
140 | 140 | * @return string |
141 | 141 | */ |
142 | - public static function get_cap_name( $model, $action ) { |
|
143 | - return apply_filters( 'FHEE__EE_Restriction_Generator__get_cap_name', ( $model->is_wp_core_model() ? '' : 'ee_' ) . $action . '_' . $model->cap_slug(), $model, $action ); |
|
142 | + public static function get_cap_name($model, $action) { |
|
143 | + return apply_filters('FHEE__EE_Restriction_Generator__get_cap_name', ($model->is_wp_core_model() ? '' : 'ee_').$action.'_'.$model->cap_slug(), $model, $action); |
|
144 | 144 | } |
145 | 145 | |
146 | 146 | /** |
@@ -149,11 +149,11 @@ discard block |
||
149 | 149 | * @param string $action |
150 | 150 | * @return boolean |
151 | 151 | */ |
152 | - public static function is_cap( $model, $action ) { |
|
153 | - $caps_for_admin = EE_Registry::instance()->CAP->get_ee_capabilities( 'administrator' ); |
|
154 | - if( in_array( self::get_cap_name( $model, $action ), $caps_for_admin ) ) { |
|
152 | + public static function is_cap($model, $action) { |
|
153 | + $caps_for_admin = EE_Registry::instance()->CAP->get_ee_capabilities('administrator'); |
|
154 | + if (in_array(self::get_cap_name($model, $action), $caps_for_admin)) { |
|
155 | 155 | return true; |
156 | - }else{ |
|
156 | + } else { |
|
157 | 157 | return false; |
158 | 158 | } |
159 | 159 | } |
@@ -164,7 +164,7 @@ discard block |
||
164 | 164 | * @return string |
165 | 165 | */ |
166 | 166 | public static function get_default_restrictions_cap() { |
167 | - return apply_filters( 'FHEE__EE_Restriction_Generator_Base__default_restrictions_cap', 'manage_options' ); |
|
167 | + return apply_filters('FHEE__EE_Restriction_Generator_Base__default_restrictions_cap', 'manage_options'); |
|
168 | 168 | } |
169 | 169 | } |
170 | 170 |
@@ -92,7 +92,7 @@ discard block |
||
92 | 92 | public function construction_finalized(){ |
93 | 93 | if( $this->_model instanceof EEM_Base && $this->_action ){ |
94 | 94 | return true; |
95 | - }else{ |
|
95 | + } else{ |
|
96 | 96 | return false; |
97 | 97 | } |
98 | 98 | } |
@@ -125,7 +125,7 @@ discard block |
||
125 | 125 | public function has_generated_cap_restrictions(){ |
126 | 126 | if( $this->_cap_restrictions_generated === false ){ |
127 | 127 | return false; |
128 | - }else{ |
|
128 | + } else{ |
|
129 | 129 | return true; |
130 | 130 | } |
131 | 131 | } |
@@ -153,7 +153,7 @@ discard block |
||
153 | 153 | $caps_for_admin = EE_Registry::instance()->CAP->get_ee_capabilities( 'administrator' ); |
154 | 154 | if( in_array( self::get_cap_name( $model, $action ), $caps_for_admin ) ) { |
155 | 155 | return true; |
156 | - }else{ |
|
156 | + } else{ |
|
157 | 157 | return false; |
158 | 158 | } |
159 | 159 | } |
@@ -1,7 +1,7 @@ discard block |
||
1 | 1 | <?php |
2 | 2 | |
3 | -if ( !defined( 'EVENT_ESPRESSO_VERSION' ) ) { |
|
4 | - exit( 'No direct script access allowed' ); |
|
3 | +if ( ! defined('EVENT_ESPRESSO_VERSION')) { |
|
4 | + exit('No direct script access allowed'); |
|
5 | 5 | } |
6 | 6 | |
7 | 7 | /** |
@@ -40,9 +40,9 @@ discard block |
||
40 | 40 | * @param string $path_to_event_model The model chain to follow to get to the event model, including the event model itself. |
41 | 41 | * Eg 'Ticket.Datetime.Event' |
42 | 42 | */ |
43 | - public function __construct( $default_field_name, $path_to_event_model ) { |
|
43 | + public function __construct($default_field_name, $path_to_event_model) { |
|
44 | 44 | $this->_default_field_name = $default_field_name; |
45 | - if( substr( $path_to_event_model, -1, 1 ) != '.' ) { |
|
45 | + if (substr($path_to_event_model, -1, 1) != '.') { |
|
46 | 46 | $path_to_event_model .= '.'; |
47 | 47 | } |
48 | 48 | $this->_path_to_event_model = $path_to_event_model; |
@@ -57,7 +57,7 @@ discard block |
||
57 | 57 | protected function _generate_restrictions( ) { |
58 | 58 | //if there are no standard caps for this model, then for now all we know is |
59 | 59 | //if they need the default cap to access this |
60 | - if ( ! $this->model()->cap_slug() ) { |
|
60 | + if ( ! $this->model()->cap_slug()) { |
|
61 | 61 | return array( |
62 | 62 | self::get_default_restrictions_cap() => new EE_Return_None_Where_Conditions() |
63 | 63 | ); |
@@ -65,37 +65,37 @@ discard block |
||
65 | 65 | |
66 | 66 | $event_model = EEM_Event::instance(); |
67 | 67 | |
68 | - $restrictions = array( |
|
68 | + $restrictions = array( |
|
69 | 69 | //first: basically access to non-defaults is essentially controlled by which events are accessible |
70 | 70 | //if they don't have the basic event cap, they can't access ANY non-default items |
71 | - EE_Restriction_Generator_Base::get_cap_name($event_model, $this->action()) => new EE_Default_Where_Conditions( array( $this->_default_field_name => true ) ), |
|
71 | + EE_Restriction_Generator_Base::get_cap_name($event_model, $this->action()) => new EE_Default_Where_Conditions(array($this->_default_field_name => true)), |
|
72 | 72 | //if they don't have the others event cap, they can't access others' non-default items |
73 | - EE_Restriction_Generator_Base::get_cap_name($event_model, $this->action() . '_others' ) => new EE_Default_Where_Conditions( array( |
|
74 | - 'OR*no_' . EE_Restriction_Generator_Base::get_cap_name($event_model, $this->action() . '_others' ) => array( |
|
75 | - $this->_path_to_event_model . 'EVT_wp_user' => EE_Default_Where_Conditions::current_user_placeholder ), |
|
76 | - $this->_default_field_name => true ) ), |
|
73 | + EE_Restriction_Generator_Base::get_cap_name($event_model, $this->action().'_others') => new EE_Default_Where_Conditions(array( |
|
74 | + 'OR*no_'.EE_Restriction_Generator_Base::get_cap_name($event_model, $this->action().'_others') => array( |
|
75 | + $this->_path_to_event_model.'EVT_wp_user' => EE_Default_Where_Conditions::current_user_placeholder ), |
|
76 | + $this->_default_field_name => true )), |
|
77 | 77 | //if they have basic and others, but not private, they can't access others' private non-default items |
78 | - EE_Restriction_Generator_Base::get_cap_name($event_model, $this->action() . '_private' ) => new EE_Default_Where_Conditions(array( |
|
79 | - 'OR*no_' .EE_Restriction_Generator_Base::get_cap_name($event_model, $this->action() . '_private' ) => array( |
|
80 | - $this->_path_to_event_model . 'EVT_wp_user' => EE_Default_Where_Conditions::current_user_placeholder, |
|
81 | - $this->_path_to_event_model . 'status' => array( '!=', 'private' ), |
|
82 | - $this->_default_field_name => true ) ) ), |
|
78 | + EE_Restriction_Generator_Base::get_cap_name($event_model, $this->action().'_private') => new EE_Default_Where_Conditions(array( |
|
79 | + 'OR*no_'.EE_Restriction_Generator_Base::get_cap_name($event_model, $this->action().'_private') => array( |
|
80 | + $this->_path_to_event_model.'EVT_wp_user' => EE_Default_Where_Conditions::current_user_placeholder, |
|
81 | + $this->_path_to_event_model.'status' => array('!=', 'private'), |
|
82 | + $this->_default_field_name => true ) )), |
|
83 | 83 | //second: access to defaults is controlled by the defaulty capabilities |
84 | 84 | //if they don't have the default capability, restrict access to only non-default items |
85 | - EE_Restriction_Generator_Base::get_cap_name( $this->model(), $this->action() . '_default' ) => new EE_Default_Where_Conditions( array( $this->_default_field_name => false ) ), |
|
85 | + EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action().'_default') => new EE_Default_Where_Conditions(array($this->_default_field_name => false)), |
|
86 | 86 | //if they don't have the "others" default capability, restrict access to only their default ones, and non-default ones |
87 | 87 | ); |
88 | - if( EE_Restriction_Generator_Base::is_cap( $this->model(), $this->action() . '_others_default' ) ) { |
|
89 | - $restrictions[ EE_Restriction_Generator_Base::get_cap_name( $this->model(), $this->action() . '_others_default' ) ] = new EE_Default_Where_Conditions( array( |
|
88 | + if (EE_Restriction_Generator_Base::is_cap($this->model(), $this->action().'_others_default')) { |
|
89 | + $restrictions[EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action().'_others_default')] = new EE_Default_Where_Conditions(array( |
|
90 | 90 | //if they don't have the others default cap, they can't access others default items (but they can access |
91 | 91 | //their own default items, and non-default items) |
92 | - 'OR*no_' . EE_Restriction_Generator_Base::get_cap_name( $this->model(), $this->action() . '_others_default' ) => array( |
|
92 | + 'OR*no_'.EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action().'_others_default') => array( |
|
93 | 93 | 'AND' => array( |
94 | - $this->_path_to_event_model . 'EVT_wp_user' => EE_Default_Where_Conditions::current_user_placeholder, |
|
94 | + $this->_path_to_event_model.'EVT_wp_user' => EE_Default_Where_Conditions::current_user_placeholder, |
|
95 | 95 | $this->_default_field_name => true |
96 | 96 | ), |
97 | 97 | $this->_default_field_name => false |
98 | - ) ) ); |
|
98 | + ) )); |
|
99 | 99 | } |
100 | 100 | return $restrictions; |
101 | 101 |