예제 #1
0
 function ShowFilterList()
 {
     global $ReportLanguage;
     // Initialize
     $sFilterList = "";
     // Field invid
     $sExtWrk = "";
     $sWrk = "";
     if (is_array($this->invid->SelectionList)) {
         $sWrk = ewr_JoinArray($this->invid->SelectionList, ", ", EWR_DATATYPE_NUMBER);
     }
     $sFilter = "";
     if ($sExtWrk != "") {
         $sFilter .= "<span class=\"ewFilterValue\">{$sExtWrk}</span>";
     } elseif ($sWrk != "") {
         $sFilter .= "<span class=\"ewFilterValue\">{$sWrk}</span>";
     }
     if ($sFilter != "") {
         $sFilterList .= "<div><span class=\"ewFilterCaption\">" . $this->invid->FldCaption() . "</span>" . $sFilter . "</div>";
     }
     $divstyle = "";
     $divdataclass = "";
     // Show Filters
     if ($sFilterList != "") {
         $sMessage = "<div class=\"ewDisplayTable\"" . $divstyle . "><div id=\"ewrFilterList\" class=\"alert alert-info\"" . $divdataclass . "><div id=\"ewrCurrentFilters\">" . $ReportLanguage->Phrase("CurrentFilters") . "</div>" . $sFilterList . "</div></div>";
         $this->Message_Showing($sMessage, "");
         echo $sMessage;
     }
 }
예제 #2
0
function ewr_FilterSQL(&$fld, $fn, $ft)
{
    $ar = $fld->SelectionList;
    $af = $fld->AdvancedFilters;
    $gt = $fld->FldGroupByType;
    $gi = $fld->FldGroupInt;
    $sql = $fld->FldGroupSql;
    $dlm = $fld->FldDelimiter;
    if (!is_array($ar)) {
        return TRUE;
    } else {
        $sqlwrk = "";
        $i = 0;
        foreach ($ar as $value) {
            if ($value == EWR_EMPTY_VALUE) {
                // Empty string
                $sqlwrk .= "{$fn} = '' OR ";
            } elseif ($value == EWR_NULL_VALUE) {
                // Null value
                $sqlwrk .= "{$fn} IS NULL OR ";
            } elseif (substr($value, 0, 2) == "@@") {
                // Advanced filter
                if (is_array($af)) {
                    $afsql = ewr_AdvancedFilterSQL($af, $fn, $value);
                    // Process popup filter
                    if (!is_null($afsql)) {
                        $sqlwrk .= $afsql . " OR ";
                    }
                }
            } elseif ($sql != "") {
                $sqlwrk .= str_replace("%s", $fn, $sql) . " = '" . $value . "' OR ";
            } elseif ($dlm != "") {
                $sql = ewr_GetMultiSearchSql($fn, trim($value));
                if ($sql != "") {
                    $sqlwrk .= $sql . " OR ";
                }
            } else {
                $sqlwrk .= "{$fn} IN (" . ewr_JoinArray($ar, ", ", $ft, $i) . ") OR ";
                break;
            }
            $i++;
        }
    }
    if ($sqlwrk != "") {
        $sqlwrk = "(" . substr($sqlwrk, 0, -4) . ")";
    }
    return $sqlwrk;
}