static function GetFilterOperation($key)
{
$strNegative = "N";
if (mb_substr($key, 0, 1) == "!")
{
$key = mb_substr($key, 1);
$strNegative = "Y";
}
$strOrNull = "N";
if (mb_substr($key, 0, 1) == "+")
{
$key = mb_substr($key, 1);
$strOrNull = "Y";
}
if (mb_substr($key, 0, 2) == ">=")
{
$key = mb_substr($key, 2);
$strOperation = ">=";
}
elseif (mb_substr($key, 0, 1) == ">")
{
$key = mb_substr($key, 1);
$strOperation = ">";
}
elseif (mb_substr($key, 0, 2) == "<=")
{
$key = mb_substr($key, 2);
$strOperation = "<=";
}
elseif (mb_substr($key, 0, 1) == "<")
{
$key = mb_substr($key, 1);
$strOperation = "<";
}
elseif (mb_substr($key, 0, 1) == "@")
{
$key = mb_substr($key, 1);
$strOperation = "IN";
}
elseif (mb_substr($key, 0, 2) == "=%")
{
$key = mb_substr($key, 2);
$strOperation = "RLIKE";
}
elseif (mb_substr($key, 0, 2) == "%=")
{
$key = mb_substr($key, 2);
$strOperation = "LLIKE";
}
elseif (mb_substr($key, 0, 1) == "%")
{
$key = mb_substr($key, 1);
$strOperation = "LIKE";
}
elseif (mb_substr($key, 0, 1) == "?")
{
$key = mb_substr($key, 1);
$strOperation = "QUERY";
}
elseif (mb_substr($key, 0, 2) == "*=")
{
$key = mb_substr($key, 2);
$strOperation = "FTI";
}
elseif (mb_substr($key, 0, 2) == "*%")
{
$key = mb_substr($key, 2);
$strOperation = "FTL";
}
elseif (mb_substr($key, 0, 1) == "*")
{
$key = mb_substr($key, 1);
$strOperation = "FT";
}
elseif (mb_substr($key, 0, 1) == "=")
{
$key = mb_substr($key, 1);
$strOperation = "=";
}
else
{
$strOperation = "=";
}
return array("FIELD" => $key, "NEGATIVE" => $strNegative, "OPERATION" => $strOperation, "OR_NULL" => $strOrNull);
}