11define(
'LEGACY_EXPRESSION_EQ',
'=');
12define(
'LEGACY_EXPRESSION_NE',
'<>');
13define(
'LEGACY_EXPRESSION_LT',
'<');
14define(
'LEGACY_EXPRESSION_LE',
'<=');
15define(
'LEGACY_EXPRESSION_GT',
'>');
16define(
'LEGACY_EXPRESSION_GE',
'>=');
17define(
'LEGACY_EXPRESSION_LIKE',
'like');
18define(
'LEGACY_EXPRESSION_IN',
'in');
20define(
'LEGACY_EXPRESSION_AND',
'and');
21define(
'LEGACY_EXPRESSION_OR',
'or');
64 public $mTypeInfoArr = [];
71 public function __construct($typeInfoArr)
73 $this->mTypeInfoArr = $typeInfoArr;
82 public function add($column, $value =
null, $comparison = LEGACY_EXPRESSION_EQ)
84 $this->
addAnd($column, $value, $comparison);
93 public function addAnd($column, $value =
null, $comparison = LEGACY_EXPRESSION_EQ)
96 $t_arr[
'condition'] = LEGACY_EXPRESSION_AND;
98 $t_arr[
'value'] = $column;
99 $this->mChildlen[] = $t_arr;
100 } elseif (!is_object($column)) {
102 $t_arr[
'value'] = $value;
103 $t_arr[
'comparison'] = $comparison;
104 $this->mChildlen[] = $t_arr;
115 public function addOr($column, $value =
null, $comparison = LEGACY_EXPRESSION_EQ)
118 $t_arr[
'condition'] = LEGACY_EXPRESSION_OR;
120 $t_arr[
'value'] = $column;
121 $this->mChildlen[] = $t_arr;
122 } elseif (!is_object($column)) {
124 $t_arr[
'value'] = $value;
125 $t_arr[
'comparison'] = $comparison;
126 $this->mChildlen[] = $t_arr;
152 return isset($this->mTypeInfoArr[$column]);
165 if (is_array($value)) {
166 foreach ($value as $_key => $_val) {
168 $value[$_key] = $_val;
174 if (!is_object($value)) {
175 switch ($this->mTypeInfoArr[$column]) {
176 case XOBJ_DTYPE_BOOL:
177 $value = $value ? 1 : 0;
181 $value = (int)$value;
184 case XOOPS_DTYPE_FLOAT:
185 $value = (float)$value;
188 case XOOPS_DTYPE_STRING:
189 case XOOPS_DTYPE_TEXT:
addAnd($column, $value=null, $comparison=LEGACY_EXPRESSION_EQ)
addOr($column, $value=null, $comparison=LEGACY_EXPRESSION_EQ)
_castingConversion($column, &$value)
add($column, $value=null, $comparison=LEGACY_EXPRESSION_EQ)