function GetDropDownFilter(&$fld, $FldVal, $FldOpr) { $FldName = $fld->FldName; $FldExpression = $fld->FldExpression; $FldDataType = $fld->FldDataType; $FldDelimiter = $fld->FldDelimiter; $FldVal = strval($FldVal); $sWrk = ""; if ($FldVal == EWR_NULL_VALUE) { $sWrk = $FldExpression . " IS NULL"; } elseif ($FldVal == EWR_NOT_NULL_VALUE) { $sWrk = $FldExpression . " IS NOT NULL"; } elseif ($FldVal == EWR_EMPTY_VALUE) { $sWrk = $FldExpression . " = ''"; } elseif ($FldVal == EWR_ALL_VALUE) { $sWrk = "1 = 1"; } else { if (substr($FldVal, 0, 2) == "@@") { $sWrk = $this->GetCustomFilter($fld, $FldVal); } elseif ($FldDelimiter != "" && trim($FldVal) != "") { $sWrk = ewr_GetMultiSearchSql($FldExpression, trim($FldVal)); } else { if ($FldVal != "" && $FldVal != EWR_INIT_VALUE) { if ($FldDataType == EWR_DATATYPE_DATE && $FldOpr != "") { $sWrk = ewr_DateFilterString($FldExpression, $FldOpr, $FldVal, $FldDataType); } else { $sWrk = ewr_FilterString("=", $FldVal, $FldDataType); if ($sWrk != "") { $sWrk = $FldExpression . $sWrk; } } } } } return $sWrk; }
function ewr_GetExtendedFilter(&$fld, $Default = FALSE) { $FldName = $fld->FldName; $FldExpression = $fld->FldExpression; $FldDataType = $fld->FldDataType; $FldDateTimeFormat = $fld->FldDateTimeFormat; $FldVal1 = $Default ? $fld->DefaultSearchValue : $fld->SearchValue; if (ewr_IsFloatFormat($fld->FldType)) { $FldVal1 = ewr_StrToFloat($FldVal1); } $FldOpr1 = $Default ? $fld->DefaultSearchOperator : $fld->SearchOperator; $FldCond = $Default ? $fld->DefaultSearchCondition : $fld->SearchCondition; $FldVal2 = $Default ? $fld->DefaultSearchValue2 : $fld->SearchValue2; if (ewr_IsFloatFormat($fld->FldType)) { $FldVal2 = ewr_StrToFloat($FldVal2); } $FldOpr2 = $Default ? $fld->DefaultSearchOperator2 : $fld->SearchOperator2; $sWrk = ""; $FldOpr1 = strtoupper(trim($FldOpr1)); if ($FldOpr1 == "") { $FldOpr1 = "="; } $FldOpr2 = strtoupper(trim($FldOpr2)); if ($FldOpr2 == "") { $FldOpr2 = "="; } $wrkFldVal1 = $FldVal1; $wrkFldVal2 = $FldVal2; if ($FldDataType == EWR_DATATYPE_BOOLEAN) { if (EWR_IS_MSACCESS) { if ($wrkFldVal1 != "") { $wrkFldVal1 = $wrkFldVal1 == "1" ? "True" : "False"; } if ($wrkFldVal2 != "") { $wrkFldVal2 = $wrkFldVal2 == "1" ? "True" : "False"; } } else { //if ($wrkFldVal1 <> "") $wrkFldVal1 = ($wrkFldVal1 == "1") ? EWR_TRUE_STRING : EWR_FALSE_STRING; //if ($wrkFldVal2 <> "") $wrkFldVal2 = ($wrkFldVal2 == "1") ? EWR_TRUE_STRING : EWR_FALSE_STRING; if ($wrkFldVal1 != "") { $wrkFldVal1 = $wrkFldVal1 == "1" ? "1" : "0"; } if ($wrkFldVal2 != "") { $wrkFldVal2 = $wrkFldVal2 == "1" ? "1" : "0"; } } } elseif ($FldDataType == EWR_DATATYPE_DATE) { if ($wrkFldVal1 != "") { $wrkFldVal1 = ewr_UnFormatDateTime($wrkFldVal1, $FldDateTimeFormat); } if ($wrkFldVal2 != "") { $wrkFldVal2 = ewr_UnFormatDateTime($wrkFldVal2, $FldDateTimeFormat); } } if ($FldOpr1 == "BETWEEN") { $IsValidValue = $FldDataType != EWR_DATATYPE_NUMBER || $FldDataType == EWR_DATATYPE_NUMBER && is_numeric($wrkFldVal1) && is_numeric($wrkFldVal2); if ($wrkFldVal1 != "" && $wrkFldVal2 != "" && $IsValidValue) { $sWrk = $FldExpression . " BETWEEN " . ewr_QuotedValue($wrkFldVal1, $FldDataType) . " AND " . ewr_QuotedValue($wrkFldVal2, $FldDataType); } } else { // Handle first value if ($FldVal1 == EWR_NULL_VALUE || $FldOpr1 == "IS NULL") { $sWrk = $FldExpression . " IS NULL"; } elseif ($FldVal1 == EWR_NOT_NULL_VALUE || $FldOpr1 == "IS NOT NULL") { $sWrk = $FldExpression . " IS NOT NULL"; } else { $IsValidValue = $FldDataType != EWR_DATATYPE_NUMBER || $FldDataType == EWR_DATATYPE_NUMBER && is_numeric($wrkFldVal1); if ($wrkFldVal1 != "" && $IsValidValue && ewr_IsValidOpr($FldOpr1, $FldDataType)) { $sWrk = $FldExpression . ewr_FilterString($FldOpr1, $wrkFldVal1, $FldDataType); } } // Handle second value $sWrk2 = ""; if ($FldVal2 == EWR_NULL_VALUE || $FldOpr2 == "IS NULL") { $sWrk2 = $FldExpression . " IS NULL"; } elseif ($FldVal2 == EWR_NOT_NULL_VALUE || $FldOpr2 == "IS NOT NULL") { $sWrk2 = $FldExpression . " IS NOT NULL"; } else { $IsValidValue = $FldDataType != EWR_DATATYPE_NUMBER || $FldDataType == EWR_DATATYPE_NUMBER && is_numeric($wrkFldVal2); if ($wrkFldVal2 != "" && $IsValidValue && ewr_IsValidOpr($FldOpr2, $FldDataType)) { $sWrk2 = $FldExpression . ewr_FilterString($FldOpr2, $wrkFldVal2, $FldDataType); } } // Combine SQL if ($sWrk2 != "") { if ($sWrk != "") { $sWrk = "(" . $sWrk . " " . ($FldCond == "OR" ? "OR" : "AND") . " " . $sWrk2 . ")"; } else { $sWrk = $sWrk2; } } } return $sWrk; }