Code Duplication    Length = 49-49 lines in 2 locations

lib/stores/modules/mysql_compiler.php 1 location

@@ 78-126 (lines=49) @@
75
				$this->used_tables[$table]=$table;
76
				$result=" $table.$field ";
77
			break;
78
			case 'custom':
79
				$table = $this->tbl_prefix."prop_custom";
80
				$field = $node["field"];
81
				$nls = $node["nls"];
82
				$record_id = $node["record_id"];
83
				/*
84
					when we are compiling orderby properties we always want
85
					to assign it to a new table alias
86
				*/
87
				if ($this->in_orderby) {
88
					$this->custom_id++;
89
				}
90
				$this->custom_ref++;
91
				if (!$record_id) {
92
					$this->used_tables[$table." as $table".$this->custom_id] = $table.$this->custom_id;
93
					$this->select_tables[$table." as $table".$this->custom_id] = 1;
94
95
					$this->used_custom_fields[$field] = true;
96
					$result = " $table".$this->custom_id.".AR_name = '$field' ";
97
					if ($nls) {
98
						$result = " $result and $table".$this->custom_id.".AR_nls = '$nls' ";
99
					}
100
101
					if (!$this->in_orderby) {
102
						$result = " $result and $table".$this->custom_id.".AR_value ";
103
					} else {
104
						$this->where_s_ext = $result;
105
						$result = " $table".$this->custom_id.".AR_value ";
106
					}
107
				} else {
108
					$this->used_tables["$table as $table$record_id"] = $table.$record_id;
109
					//$this->select_tables[$table." as $table$record_id"] = 1;
110
111
					$result = " $table$record_id.AR_name = '$field' ";
112
					if (!$this->in_orderby && !$no_context_join) {
113
						if ($this->join_target_properties["prop_my"][":$record_id"]) {
114
							$result=" $result and $table$record_id.object = target.object and $table$record_id.AR_value ";
115
						} else {
116
							$result=" $table$record_id.object = ".$this->tbl_prefix."objects.id and $table$record_id.AR_value ";
117
						}
118
					} else {
119
						if ($this->join_target_properties[$node["table"]]) {
120
							$this->join_target_properties["$table as $table$record_id"] = $table.$record_id;
121
						}
122
						$this->select_tables["$table as $table$record_id"] = $table.$record_id;
123
						$result=" $table$record_id.AR_value ";
124
					}
125
				}
126
			break;
127
			case 'string':
128
				$result = "'".addSlashes($node["value"])."'";
129
				if ($escape_chars) {

lib/stores/modules/postgresql_compiler.php 1 location

@@ 87-135 (lines=49) @@
84
				$this->used_tables[$table]=$table;
85
				$result=" $table.$field ";
86
			break;
87
			case 'custom':
88
				$table = $this->tbl_prefix."prop_custom";
89
				$field = $node["field"];
90
				$nls = $node["nls"];
91
				$record_id = $node["record_id"];
92
				/*
93
					when we are compiling orderby properties we always want
94
					to assign it to a new table alias
95
				*/
96
				if ($this->in_orderby) {
97
					$this->custom_id++;
98
				}
99
				$this->custom_ref++;
100
				if (!$record_id) {
101
					$this->used_tables[$table." as $table".$this->custom_id] = $table.$this->custom_id;
102
					$this->select_tables[$table." as $table".$this->custom_id] = 1;
103
104
					$this->used_custom_fields[$field] = true;
105
					$result = " $table".$this->custom_id.".AR_name = '$field' ";
106
					if ($nls) {
107
						$result = " $result and $table".$this->custom_id.".AR_nls = '$nls' ";
108
					}
109
110
					if (!$this->in_orderby) {
111
						$result = " $result and $table".$this->custom_id.".AR_value ";
112
					} else {
113
						$this->where_s_ext = $result;
114
						$result = " $table".$this->custom_id.".AR_value ";
115
					}
116
				} else {
117
					$this->used_tables["$table as $table$record_id"] = $table.$record_id;
118
			//		$this->select_tables[$table." as $table$record_id"] = 1;
119
120
					$result = " $table$record_id.AR_name = '$field' ";
121
					if (!$this->in_orderby ) {
122
						if ($this->join_target_properties["prop_my"][":$record_id"]) {
123
							$result=" $result and $table$record_id.object = target.object and $table$record_id.AR_value ";
124
						} else {
125
							$result=" $table$record_id.object = ".$this->tbl_prefix."objects.id and $table$record_id.AR_value ";
126
						}
127
					} else {
128
						if ($this->join_target_properties[$node["table"]]) {
129
							$this->join_target_properties["$table as $table$record_id"] = $table.$record_id;
130
						}
131
						$this->select_tables["$table as $table$record_id"] = $table.$record_id;
132
						$result=" $table$record_id.AR_value ";
133
					}
134
				}
135
			break;
136
			case 'string':
137
				$result=" '".pg_escape_string($node["value"])."' ";
138
			break;