"") {
$update_wms_sql .= ", wms_timestamp = $16 ";
array_push($v, guessTimestamp($_REQUEST['wms_timestamp_box']));
array_push($t, "s");
$update_wms_sql .= "WHERE wms_id = $17";
}
else {
$update_wms_sql .= "WHERE wms_id = $16";
}
array_push($v, $_REQUEST['wms_id']);
array_push($t, "s");
$res_update_wms_sql = db_prep_query($update_wms_sql, $v, $t);
while(list($key,$val) = each($_REQUEST)) {
if(preg_match("/___/", $key)) {
$myKey = explode("___", $key);
$layer_id = preg_replace("/L_/","",$myKey[0]);
if($myKey[1]=="layer_abstract") {
$layer_sql = "UPDATE layer SET layer_abstract = $1 ";
$layer_sql .= "WHERE layer_id = $2 AND fkey_wms_id = $3";
$v = array($val, $layer_id, $_REQUEST['wms_id']);
$t = array("s", "i", "s");
$res_keyword_sql = db_prep_query($layer_sql, $v, $t);
}
if($myKey[1]=="layer_keywords") {
#Get all keywords depending on the given layer after user modification
$keywords = explode(",",$val);
#delete all blanks from the keywords list
for ($j = 0; $j < count($keywords); $j++) {
$word = $keywords[$j];
$word = trim($word);
$keywords[$j] = $word;
}
#echo "1: Keywords eines Layers: id des Layers: ", $layer_id, ", �bergebener String: ", $val, ";
";
#Get all keywords depending on this layer from database
$keyword_sql = "SELECT keyword_id, keyword FROM keyword, layer_keyword, layer " .
"WHERE keyword.keyword_id = layer_keyword.fkey_keyword_id " .
"AND layer_keyword.fkey_layer_id = layer.layer_id " .
"AND layer.fkey_wms_id = $1 " .
"AND layer.layer_id = $2";
$v = array($_REQUEST['wms_id'], $layer_id);
$t = array("s", "i");
$res_keyword_sql = db_prep_query($keyword_sql, $v, $t);
while($keyword_row = db_fetch_array($res_keyword_sql))
{
$keyword = $keyword_row['keyword'];
$keyword_id = $keyword_row['keyword_id'];
#keyword has been deleted or has been modified
#keyword exists in database but not in user data
$index = -1;
#echo "1a: Abfrage ob DB Keywords in User Liste: Keyword: ", $keyword, ";
";
if(in_array($keyword, $keywords) == false)
{
#echo "1c: Keyword nicht in User Liste: Keyword: ", $keyword, ";
";
#Deleting reference to the keyword from the layer_keyword table.
$keyword_sql = "DELETE FROM layer_keyword " .
"WHERE fkey_layer_id = $1 " .
"AND fkey_keyword_id = $2";
$v = array($layer_id, $keyword_id);
$t = array("i", "i");
db_prep_query($keyword_sql, $v, $t);
#Checking, if the keyword is in use by any layer
$layer_sql = "SELECT * FROM layer_keyword " .
"WHERE fkey_keyword_id = $1";
$v = array($keyword_id);
$t = array("i");
$res_layer_sql = db_prep_query($layer_sql, $v, $t);
if(!($row = db_fetch_array($res_layer_sql)))
{
#If keyword will not longer be in use, delete it from keyword table
$keyword_sql = "DELETE FROM keyword " .
"WHERE keyword_id = $1";
$v = array($keyword_id);
$t = array("i");
db_prep_query($keyword_sql, $v, $t);
}
}
#Keyword exists in the database and in the user data
else
{
#echo "1d: Keyword ist in User Liste: Keyword: ", $keyword, ";
";
for($i = 0; $i < count($keywords); $i++)
{
#Delete keyword from the user data list, because the data
#have not to be updated within the database
if($keywords[$i] == $keyword)
{
$keywords[$i] = null;
}
}
}
}
#Inserting keyword, that are not existing in the database
for($i = 0; $i < count($keywords); $i++)
{
#echo "2: Alle Eintr�ge des Keyword arrays: Keyword: ", $keywords[$i], "; Index: ", $i, ";
";
if($keywords[$i] != null)
{
#echo "3: Eintr�ge ungleich null: Keyword: ", $keywords[$i], "; Index: ", $i, ";";
$keyword = trim($keywords[$i]);
#Check, if the keyword is exsiting in the database
$keyword_sql = "SELECT keyword_id FROM keyword " .
"WHERE UPPER(keyword) = UPPER($1)";
$v = array($keyword);
$t = array("s");
$res_keyword_sql = db_prep_query($keyword_sql, $v, $t);
$keyword_row = db_fetch_array($res_keyword_sql);
#Keyword exists in the database
if($keyword_row != null)
{
$keyword_id = $keyword_row[0];
#echo "4: Keyword in Datenbank vorhanden: id des Keywords: ", $keyword_id, ";
";
}
#Keyword does not exist in the database
else
{
$keyword_sql = "INSERT INTO keyword (keyword) VALUES ($1)";
$v = array($keyword);
$t = array("s");
$res_keyword_sql = db_prep_query($keyword_sql, $v, $t);
$keyword_sql = "SELECT keyword_id FROM keyword WHERE keyword = $1";
$v = array($keyword);
$t = array("s");
$res_keyword_sql = db_prep_query($keyword_sql, $v, $t);
$keyword_row = db_fetch_array($res_keyword_sql);
if($keyword_row != null)
{
$keyword_id = $keyword_row[0];
#echo "4: Keyword in der Datenbank nicht vorhanden: id des Keywords: ", $keyword_id, ";
";
}
}
#Inserting the reference between layer and keyword in the layer_keyword table
$keyword_sql = "INSERT INTO layer_keyword (fkey_layer_id, fkey_keyword_id) " .
"VALUES ($1, $2)";
$v = array($layer_id, $keyword_id);
$t = array("s", "s");
$res_keyword_sql = db_prep_query($keyword_sql, $v, $t);
}
}
#Delete all elements from array
unset($keywords);
}
}
}
}
unset($update_content);
#delete preview
if(isset($_REQUEST['delete_preview']) && $_REQUEST['delete_preview']=='1'
&& isset($_REQUEST['layer_id']))
{
$preview_sql = "DELETE FROM layer_preview WHERE fkey_layer_id = $1";
$v = array($_REQUEST['layer_id']);
$t = array("s");
$res_preview_sql = db_prep_query($preview_sql, $v, $t);
die("Preview has been deleted!