filter; $_SESSION["sld_filter"] = $filter; } else { $first_load = 0; $sld_form_element_id = $_SESSION["sld_form_element_id"]; $sld_objects_rule_id = $_SESSION["sld_objects_rule_id"]; $filter = $_SESSION["sld_filter"]; } //Parse the Filter Expression $filterObj = parseFilter($filter); if ($filterObj == "") { //$filterObj = new Filter(); } //Function handling if (isset($_REQUEST["function"])) { $function = $_REQUEST["function"]; //Handle the requested functions if ($function == "addoperation") { if ( isset($_REQUEST["id"]) && isset($_REQUEST["operation"]) ) { $operation = $_REQUEST["operation"]; switch(strtoupper($operation)) { case "OR": $_SESSION["sld_filter_objects"][$_REQUEST["id"]]->operations[] = new BinaryLogicOp("Or"); break; case "AND": $_SESSION["sld_filter_objects"][$_REQUEST["id"]]->operations[] = new BinaryLogicOp("And"); break; case "NOT": $_SESSION["sld_filter_objects"][$_REQUEST["id"]]->operations[] = new UnaryLogicOp("Not"); break; case "PROPERTYISEQUALTO": $_SESSION["sld_filter_objects"][$_REQUEST["id"]]->operations[] = new BinaryComparisonOp("PropertyIsEqualTo"); break; case "PROPERTYISNOTEQUALTO": $_SESSION["sld_filter_objects"][$_REQUEST["id"]]->operations[] = new BinaryComparisonOp("PropertyIsNotEqualTo"); break; case "PROPERTYISGREATERTHAN": $_SESSION["sld_filter_objects"][$_REQUEST["id"]]->operations[] = new BinaryComparisonOp("PropertyIsGreaterThan"); break; case "PROPERTYISGREATERTHANOREQUALTO": $_SESSION["sld_filter_objects"][$_REQUEST["id"]]->operations[] = new BinaryComparisonOp("PropertyIsGreaterThanOrEqualTo"); break; case "PROPERTYISLESSTHAN": $_SESSION["sld_filter_objects"][$_REQUEST["id"]]->operations[] = new BinaryComparisonOp("PropertyIsLessThan"); break; case "PROPERTYISLESSTHANOREQUALTO": $_SESSION["sld_filter_objects"][$_REQUEST["id"]]->operations[] = new BinaryComparisonOp("PropertyIsLessThanOrEqualTo"); break; case "PROPERTYISLIKE": $_SESSION["sld_filter_objects"][$_REQUEST["id"]]->operations[] = new PropertyIsLike(); break; case "PROPERTYISNULL": $_SESSION["sld_filter_objects"][$_REQUEST["id"]]->operations[] = new PropertyIsNull(); break; case "PROPERTYISBETWEEN": $_SESSION["sld_filter_objects"][$_REQUEST["id"]]->operations[] = new PropertyIsBetween(); break; } $_SESSION["sld_filter"] = $_SESSION["sld_filter_objects"][0]->generateXml(); } } else if ($function == "deleteoperation") { if ( isset($_REQUEST["id"]) && isset($_REQUEST["number"]) ) { $_SESSION["sld_filter_objects"][$_REQUEST["id"]]->deleteOperation($_REQUEST["number"]); $_SESSION["sld_filter"] = $_SESSION["sld_filter_objects"][0]->generateXml(); } } else if ($function == "addfilter") { if ( isset($_REQUEST["type"]) ) { if ($_REQUEST["type"] == "filter") { $_SESSION["sld_filter_objects"][0] = new Filter(); $_SESSION["sld_filter"] = $_SESSION["sld_filter_objects"][0]->generateXml(); } else if ($_REQUEST["type"] == "elsefilter") { $_SESSION["sld_filter_objects"][0] = new ElseFilter(); $_SESSION["sld_filter"] = $_SESSION["sld_filter_objects"][0]->generateXml(); } } } else if ($function == "deletefilter") { $_SESSION["sld_filter_objects"][0] = ""; $_SESSION["sld_filter"] = ""; } else if ($function == "save") { if( isset($_REQUEST["filter"]) ) { $filter = new Filter(); $filter->generateObjectFromPost(); $_SESSION["sld_filter"] = $filter->generateXml(); } else if( isset($_REQUEST["elsefilter"]) ) { $filter = new ElseFilter(); $_SESSION["sld_filter"] = $filter->generateXml(); } else { $_SESSION["sld_filter"] = ""; } } else { echo "Die Funktion: ".$function." wird nicht unterst�tzt."; exit(); } header("Location: sld_edit_filter.php?".$urlParameters); exit(); } else { //Write the new filter expression to the sld objects if ($filterObj != "") { $sld_objects[$sld_objects_rule_id]->filter = $filterObj->generateXml(); } else { $sld_objects[$sld_objects_rule_id]->filter = ""; } //display the html form echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "Filter-Editor\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "
\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "
Filter bearbeiten
\n"; if ($filterObj != "") { echo "\n"; echo $filterObj->generateHtmlForm(); echo "\n"; echo "\n"; } else { echo "Filter oder ElseFilter?
"; echo "Filter
\n"; echo "ElseFilter
\n"; echo "\n"; } echo "
 
Vorschau
\n"; if ($filterObj != "") { echo "
\n";
		echo htmlspecialchars($filterObj->generateXml());
		print_r ($_SESSION["sld_filter_objects"]);
		echo "
\n"; echo "\n"; } else { echo " \n"; } echo "
\n"; echo "
\n"; echo "\n"; echo ""; } ?>