getLayerIdFromLayerName($_SESSION["sld_wms_id"], $_SESSION["sld_layer_name"]);
if ( $layer_id )
{
$_SESSION["sld_layer_id"] = $layer_id;
}
//Read the mb_user_id from the Session
$mb_user_id = $_SESSION["mb_user_id"];
//if layer is not found in DB
if (!$layer_id)
{
echo "layer existiert nicht in Datenbank";
exit();
}
else
{
//Try to read sld from the DB
$sql = "SELECT * FROM sld_user_layer WHERE fkey_gui_id = $1 AND fkey_layer_id = $2 AND fkey_mb_user_id = $3";
$v = array($_SESSION["sld_gui_id"], $layer_id, $mb_user_id);
$t = array('s', 'i', 'i');
$res = db_prep_query($sql,$v,$t);
if (!$res || db_numrows($res)== 0)
{
//No user specific sld found in DB -> get it from the mapserver
$file = $mapfileUrl."SERVICE=WMS&VERSION=1.1.1&REQUEST=GetStyles&LAYERS=".urlencode($layer_name);
$data = readSld($file);
$data = char_encode($data);
//write the sld to the DB
$sql = "INSERT INTO sld_user_layer(fkey_mb_user_id, fkey_layer_id, sld_xml, use_sld, fkey_gui_id) VALUES ($1, $2, $3, 0, $4);";
$v = array($mb_user_id, $layer_id, $data, $_SESSION["sld_gui_id"]);
$t = array('i', 'i', 's', 's');
$res = @db_prep_query($sql,$v,$t);
//Use the new sld
}
else
{
$data = db_result($res, 0, "sld_xml");
$use_sld = db_result($res, 0, "use_sld");
}
}
//$file = "sld.xml";
//$data = readSld($file);
$styledlayerdescriptor = parseSld($data);
$_SESSION["sld"] = $data;
/* Check for a related WFS featuretype */
$wfs_conf_id = $dbutils->getLayerWfsConfId($_SESSION["sld_gui_id"], $layer_id);
if ( $wfs_conf_id ) {
$featuretype_id = $dbutils->getWfsConfFeatureTypeId($wfs_conf_id);
$classWfsConf->getelements($featuretype_id);
$wfs_element = $classWfsConf->elements;
$fts = $styledlayerdescriptor->layers[0]->styles[0]->featuretypestyles[0];
$fts->setElementArray("element_id",$wfs_element->element_id);
$fts->setElementArray("element_name",$wfs_element->element_name);
} else {
$wfs_element = false;
}
/* create getMap-Url for preview with/without sld */
$previewMapUrl = $dbutils->getPreviewMapUrl($_SESSION["sld_gui_id"], $layer_id, $_SESSION["sld_wms_id"]);
echo "\n";
echo "\n";
echo "
\n";
echo "\n";
echo "\n";
echo "\n";
echo "Mapbender - SLD Editor\n";
echo "\n";
echo "\n";
echo "\n";
## - Fensteranfang
echo "\n";
## - 1.Zeile
echo " \n";
echo " \n";
echo " Vorschau mit SLD:\n";
echo " | \n";
echo " \n";
echo " \n";
echo " | \n";
echo " \n";
echo " Original ohne SLD:\n";
echo " | \n";
echo "
\n";
## - Build URL to SLD
$sld_url = "";
$mb_sld_url = "";
//$sld_url = "http://".$_SERVER["HTTP_HOST"]."/mapbender/sld/sld_function_handler.php?function=getusersld&layer_id=".$layer_id."&user_id=".$mb_user_id."&forcesld=1";
$sld_url = $MAPBENDER_URL."/sld_function_getusersld.php?function=getusersld&sld_gui_id=".$_SESSION["sld_gui_id"]."&sld_layer_id=".$layer_id."&user_id=".$mb_user_id."&forcesld=1";
$mb_sld_url = $MAPBENDER_URL."/sld_function_getusersld.php?function=getusersld&sld_gui_id=".$_SESSION["sld_gui_id"]."&sld_wms_id=".$_SESSION["sld_wms_id"]."&user_id=".$mb_user_id;
echo "";
echo "";
## - 2.Zeile
/*
echo " \n";
echo " \n";
echo " Karte";
echo " | \n";
echo " \n";
echo " \n";
echo " | \n";
echo " \n";
echo " \n";
echo " | \n";
echo " \n";
echo " Karte";
echo " | \n";
echo " \n";
echo " \n";
echo " | \n";
echo "
\n";
*/
## - 3.Zeile
echo " \n";
echo " \n";
## - Map with SLD
//Added rand(...) to force a reload of the image because the url should be different
echo " ";
echo " | \n";
echo " \n";
echo " \n";
echo " | \n";
echo " \n";
## - Map without SLD
echo " ";
echo " | \n";
#4.Zeile
echo "
\n";
echo " \n";
echo " Legende\n";
echo " | \n";
echo " \n";
echo " \n";
echo " | \n";
echo " \n";
echo " Legende\n";
echo " | \n";
echo "
\n";
#5.Zeile
echo " \n";
echo " \n";
echo " \n";
## - Legend with SLD
echo " \n";
echo " | \n";
echo " \n";
echo " \n";
echo " \n";
echo " | \n";
echo " \n";
echo " \n";
## - Legend without SLD
echo " ";
echo " | \n";
echo "
\n";
echo "
\n";
echo "
\n";
echo "\n";
echo " \n";
echo " \n";
echo " \n";
echo " \n";
echo " MENU | \n";
echo " \n";
echo " \n";
echo " \n";
//echo " \n";
echo " | \n";
echo " \n";
echo " \n";
echo " \n";
//echo " | \n";
echo " \n";
echo " \n";
echo " | \n";
echo " \n";
echo " ";
echo " | \n";
echo " \n";
## - Fenster Eigenschaft
echo " \n";
echo " \n";
echo " SLD Eigenschaften | \n";
echo " \n";
echo " \n";
echo " \n";
echo $styledlayerdescriptor->generateHtmlForm(""," ");
echo " | \n";
echo " \n";
echo " \n";
echo " \n";
echo " | \n";
echo "
\n";
echo "
\n";
echo "";
echo "\n";
echo "\n";
##Debug
//echo "------------------------------------------------------------------\n";
//echo $styledlayerdescriptor->generateXml();
?>