From 3baf7669ca541e47b848da8f6cef0ebab093411b Mon Sep 17 00:00:00 2001
From: warmels <sdos@astron.nl>
Date: Thu, 30 Aug 2007 08:54:58 +0000
Subject: [PATCH] BugID: 1079

aantal bugs gefixt
---
 .../CRAFT/admin_component_types/toevoegen.php |   2 +-
 .../comp_beschrijving.php                     |   8 +-
 .../comp_bewerken.php                         |  82 +++++++++++----
 .../comp_bewerken_parent.php                  |  83 +++++++++++++++
 .../comp_toevoegen.php                        |  85 +++++++++++----
 .../comp_toevoegen_functies.php               |  19 +++-
 .../comp_toevoegen_naam.php                   |  10 +-
 .../comp_toevoegen_parent.php                 |  98 +++++++++++++++++-
 .../component_bewerken_extra_velden.php       |   6 ++
 .../component_extra_velden.php                |   6 ++
 .../melding_toevoegen.php                     |  13 +--
 support/tool/CRAFT/documentatie/changes.doc   | Bin 30720 -> 30720 bytes
 .../tool/CRAFT/documentatie/db_structuur.sql  |  10 +-
 .../tool/CRAFT/main_componenten/zoeken.php    |  64 +++++++++---
 14 files changed, 400 insertions(+), 86 deletions(-)
 create mode 100644 support/tool/CRAFT/algemene_functionaliteit/comp_bewerken_parent.php

diff --git a/support/tool/CRAFT/admin_component_types/toevoegen.php b/support/tool/CRAFT/admin_component_types/toevoegen.php
index 231dbb04966..ab22a83e850 100644
--- a/support/tool/CRAFT/admin_component_types/toevoegen.php
+++ b/support/tool/CRAFT/admin_component_types/toevoegen.php
@@ -84,7 +84,7 @@
 		    				$query = "SELECT Comp_Type_ID FROM gebruikersgroeprechten WHERE Groep_ID = '".$_SESSION['groep_id']."'";
 		    			  $resultaat = mysql_query($query);
 								$data = mysql_fetch_array($resultaat);
-		    				
+
 					  		if (isset($_POST['parent'])) $Geselecteerd_Type = $_POST['parent'];
 					  		else if(isset($_GET['c'])) $Geselecteerd_Type = $_GET['c'];
 					  		else $Geselecteerd_Type = 'SELECTED';
diff --git a/support/tool/CRAFT/algemene_functionaliteit/comp_beschrijving.php b/support/tool/CRAFT/algemene_functionaliteit/comp_beschrijving.php
index a62ff544392..0a973ce0060 100644
--- a/support/tool/CRAFT/algemene_functionaliteit/comp_beschrijving.php
+++ b/support/tool/CRAFT/algemene_functionaliteit/comp_beschrijving.php
@@ -15,7 +15,13 @@
 				echo("<h3>". $data['Comp_Naam']."</h3>");
 
 				echo("<table border=\"0\">");
-				
+				echo("<tr><td>Status component:</td><td>");
+				$query = "SELECT Status FROM status WHERE Status_ID IN (SELECT Huidige_Status FROM melding_lijst WHERE Meld_Lijst_ID = '".$data['Laatste_Melding']."')";
+			  $res = mysql_query($query);
+				$row = mysql_fetch_array($res);
+
+				echo($row[0]."</td></tr>");
+
 				echo("<tr><td>Type component:</td><td>");
 				$query = "SELECT Type_Naam FROM Comp_Type WHERE Comp_Type ='".$data['Comp_Type_ID']."'";
 			  $res = mysql_query($query);
diff --git a/support/tool/CRAFT/algemene_functionaliteit/comp_bewerken.php b/support/tool/CRAFT/algemene_functionaliteit/comp_bewerken.php
index 9a4d3b20a50..9f6c517958a 100644
--- a/support/tool/CRAFT/algemene_functionaliteit/comp_bewerken.php
+++ b/support/tool/CRAFT/algemene_functionaliteit/comp_bewerken.php
@@ -33,8 +33,8 @@
 			//verplichte velden ingevuld??
 			if ($_POST['av' . $i] == '1') {
 				//bestanden
-				if ($_POST['t' . $i] == '5') {
-					if ($_SESSION['bestand' . $i] == '-1') return false;
+				if ($_POST['at' . $i] == '5') {				
+					if ($_SESSION['abestand' . $i] == '-1') return false;
 				}
 				//overige
 				else {
@@ -95,7 +95,53 @@
 				return false;
 		} else return false;
 
-		if (!Type_Controle()) return false;					
+		//controleren of er wel een PARENT voor dit component geselecteerd is
+		if (isset($_POST['hidden_parent']) && $_POST['hidden_parent'] =='') 
+			return false;
+		//er is een PARENT ingevoerd, dus kijken of het maximum aantal niet overschreden wordt...
+		else {
+			//kijken of deze PARENT een schaduwtype is
+			$query = "SELECT Schaduw_Vlag FROM comp_lijst WHERE Comp_Lijst_ID = '".$_POST['hidden_parent']."'";
+		  $resultaat = mysql_query($query);
+	  	$data = mysql_fetch_array($resultaat);
+	  	
+	  	//Parent is een schaduwtype, dus maximumaantal geldt niet. 
+	  	//wel controleren of dit niet zelf een parent is, in dit geval mag dit type maar 1 x voorkomen
+	  	if ($data['Schaduw_Vlag'] == 1) {
+	  		$query = "SELECT * FROM comp_type WHERE Type_Parent = '".$_POST['comp_type']."'";
+				$num_rows = mysql_num_rows(mysql_query($query));
+				if($num_rows > 0 && isset($_POST['hidden_schaduw']) && $_POST['hidden_schaduw'] == '0')
+					return false;
+	  	}
+	  	//geen schaduw_vlag, dus controleren of het maximum aantal niet overschreden wordt
+	  	else {
+				//kijken wat het maximum aantal voor dit type is
+				$query = "SELECT Max_Aantal FROM comp_type WHERE Comp_Type = '". $_POST['comp_type'] ."'";
+			  $resultaat = mysql_query($query);
+		  	$data = mysql_fetch_array($resultaat);
+			  $maximum = $data['Max_Aantal'];
+				
+				//kijken welke parent dit is en hoeveel comps hier al van zijn aangemaakt +1
+				$query = "SELECT Count(Comp_Lijst_ID) FROM comp_lijst WHERE Comp_Parent = '".$_POST['hidden_parent']."' AND Comp_Type_ID = '".$_POST['comp_type']."'";
+			  $resultaat = mysql_query($query);
+		  	$data = mysql_fetch_array($resultaat);
+			  $aantal = $data[0];
+				
+				//alleen bij wijzigen van een parent, 
+				//moet er gecontroleerd worden of het maximum aantal overschreden wordt
+				$query = "SELECT Comp_Parent FROM comp_lijst WHERE Comp_Lijst_ID = '".$_GET['c']."'";
+			  $resultaat = mysql_query($query);
+		  	$data = mysql_fetch_array($resultaat);
+				if ($data['Comp_Parent'] != $_POST['hidden_parent'])  {
+				
+					//met elkaar vergelijken			  
+				  if(($aantal + 1) > $maximum) 
+				  	return false;
+		  	}
+			}
+		}
+
+		if (!Type_Controle()) return false;
 		if (!Parent_Controle()) return false;
 
 		//de statusdatum controleren
@@ -157,8 +203,8 @@
 	if(Validatie_Opslaan()) {
 
 		//Een nieuwe melding van het component toevoegen, dit is zeer waarschijnlijk een bewerkenmelding oid
-		$query_melding = "INSERT INTO melding_lijst (Meld_Type_ID, Comp_Lijst_ID, Meld_Datum, Huidige_Status, Voorgaande_Melding, Prob_Beschrijving, Behandeld_Door, Gemeld_Door, Melding_Locatie)";
-		$query_melding = $query_melding . "VALUES ('". $_POST['type_melding'] ."', '".$_GET['c']."'";
+		$query_melding = "INSERT INTO melding_lijst (Meld_Type_ID, Comp_Lijst_ID, Comp_Parent, Meld_Datum, Huidige_Status, Voorgaande_Melding, Prob_Beschrijving, Behandeld_Door, Gemeld_Door, Melding_Locatie)";
+		$query_melding = $query_melding . "VALUES ('". $_POST['type_melding'] ."', '".$_GET['c']."', '". $_POST['hidden_parent'] ."'";
 
 		//het toevoegen van een statusdatum: eerst kijken of er 1 ingevuld is, anders de huidige datum gebruiken...
 		if (isset($_POST['statusdatum']) && $_POST['statusdatum'] != '')
@@ -171,7 +217,7 @@
 		$melding_id = mysql_insert_id();
 
 		//opslaan van het component
-		$query = "UPDATE comp_lijst SET Comp_Naam = '". htmlentities($_POST['comp_naam'], ENT_QUOTES) . "', Comp_Parent = '". $_POST['comp_nieuwe_parent'] . "', Laatste_Melding ='". $melding_id;
+		$query = "UPDATE comp_lijst SET Comp_Naam = '". htmlentities($_POST['comp_naam'], ENT_QUOTES) . "', Comp_Parent = '". $_POST['hidden_parent'] . "', Laatste_Melding ='". $melding_id;
 		$query = $query . "', Comp_Locatie = '". $_POST['comp_locatie'] ."', Comp_Verantwoordelijke = '". $_POST['hidden_verantwoordelijke'] . "'";
 		
 		//de waarde voor de leverdatum aan de query toevoegen
@@ -311,26 +357,19 @@
 							$query = "SELECT Type_Naam FROM comp_type WHERE Comp_Type = " . $row['Comp_Type_ID'];
 							$result = mysql_query($query);
 							$data = mysql_fetch_array($result);
-							echo($data[0]);
+							echo($data[0] .  "<input type=\"hidden\" name=\"comp_type\" id=\"comp_type\" value=\"".$row['Comp_Type_ID']."\">");
 					 ?></td>
 				</tr>
 				<tr>
 					<td>Parent component:</td>
-					<td><input type="hidden" name="comp_huidige_parent" value="<?php echo($row['Comp_Parent']); ?>"><select name="comp_nieuwe_parent">
-						<?php
-						  $query2 = "SELECT Comp_Lijst_ID, Comp_Naam FROM comp_lijst WHERE Comp_Type_ID in (SELECT Type_Parent FROM comp_type WHERE Comp_Type = '".$row['Comp_Type_ID']."')";
-							$resultaat2 = mysql_query($query2);
-							while ($data = mysql_fetch_array($resultaat2)) {
-								echo("<option value=\"". $data['Comp_Lijst_ID'] ."\"");
-								if (isset($_POST['comp_nieuwe_parent']) && isset($_POST['comp_huidige_parent']) && $_POST['comp_nieuwe_parent'] != $_POST['comp_huidige_parent']) {
-									if ($_POST['comp_nieuwe_parent'] == $data['Comp_Lijst_ID']) echo(" SELECTED"); }
-								else {if ($data['Comp_Lijst_ID'] == $row['Comp_Parent']) echo(" SELECTED");}
-								echo(">". $data['Comp_Naam'] ."</option>\r\n");
-							}
-						?></select>
-	    		<?php if(!Parent_Controle()) echo('<b>* Parent kan niet veranderen vanwege onderliggende componenten!</b>');?>
-					</td>
+					<?php
+						$selected = $row['Comp_Lijst_ID']; //is het geselecteerde component welke bewerkt gaat worden
+						$selectie = "&n=" .$row['Comp_Parent']; //parent component
+					?>
+					
+					<td><iframe id="frame_parent" name="frame_parent" align="middle" marginwidth="0" marginheight="0" src="<?php echo($_SESSION['pagina']); ?>algemene_functionaliteit/comp_bewerken_parent.php?c=<?php echo($selected . $selectie); ?>" width="550" height="26" ALLOWTRANSPARENCY frameborder="0" scrolling="auto"></iframe></td>
 				</tr>
+
   			<tr>
   				<td>Reden bewerking:</td>
   				<td><select name="type_melding" onchange="switchMelding();">
@@ -538,6 +577,7 @@
 							}
 							
 					 ?>
+  					<input id="hidden_parent" name="hidden_parent" type="hidden" value="">
   					<input id="hidden_melding" name="hidden_melding" type="hidden" value="">
   					<input id="hidden_status" name="hidden_status" type="hidden" value="">
     				<input id="opslaan" name="opslaan" type="hidden" value="1">
diff --git a/support/tool/CRAFT/algemene_functionaliteit/comp_bewerken_parent.php b/support/tool/CRAFT/algemene_functionaliteit/comp_bewerken_parent.php
new file mode 100644
index 00000000000..0f252963c78
--- /dev/null
+++ b/support/tool/CRAFT/algemene_functionaliteit/comp_bewerken_parent.php
@@ -0,0 +1,83 @@
+<html>
+	<head>
+	</head>
+	<body bgcolor="#B3CCE6">
+		<?php
+			include_once("../includes/vars.php");
+
+			if (isset($_GET['c']) && $_GET['c'] != 0) {		
+				$query = "SELECT Schaduw_Vlag FROM comp_lijst WHERE Comp_Lijst_ID = '".$_GET['c']."'";
+			  $resultaat = mysql_query($query);
+		  	$data = mysql_fetch_array($resultaat);
+		  	$Comp_Schaduw = $data['Schaduw_Vlag'];
+
+			  $query = "SELECT Comp_Lijst_ID, Comp_Naam FROM comp_lijst WHERE Comp_Type_ID in (SELECT Type_Parent FROM comp_type WHERE Comp_Type IN (SELECT Comp_Type_ID FROM comp_lijst WHERE Comp_Lijst_ID = '".$_GET['c']."' ))";
+		  	$num_rows = mysql_num_rows(mysql_query($query));		
+
+		  	if ($num_rows == 0)
+					echo("No parent components available");
+		  	else {
+					$resultaat = mysql_query($query);
+
+					echo("<form name=\"fTest\" method=\"post\">\r\n");
+					if(isset($_POST['sComp_Parent'])) 
+						$selectie = $_POST['sComp_Parent'];
+					else if (isset($_GET['n']) && $_GET['n'] > 0)
+						$selectie = $_GET['n'];
+					else 
+						$selectie = 'SELECTED';
+			  	
+			  	//het geselecteerde component is geen schaduw component, dus kan deze verplaatst worden
+			  	if($Comp_Schaduw == 0) {
+
+						echo("<select id=\"sComp_Parent\" name=\"sComp_Parent\" onchange=\"	document.fTest.submit();\">\r\n");
+						while ($data = mysql_fetch_array($resultaat)) {
+							echo("<option value=\"". $data['Comp_Lijst_ID'] ."\"");
+							if ($data['Comp_Lijst_ID'] == $selectie || $selectie == 'SELECTED') {
+								echo(' SELECTED');
+								$selectie = $data['Comp_Lijst_ID'];
+							}
+							echo(">". $data['Comp_Naam'] ."</option>\r\n");
+						}
+						echo("</select>");
+
+						//het aantal aangemaakte componenten per geselecteerde type, gedeelte
+						if ($selectie != -1) {
+							//kijken of $selectie een schaduw ding is: dit is de parent waarnaar verplaatst wordt
+							$query = "SELECT Schaduw_Vlag FROM comp_lijst WHERE Comp_Lijst_ID = '". $selectie ."'";
+	    			  $resultaat = mysql_query($query);
+					  	$data = mysql_fetch_array($resultaat);
+					  	if ($data['Schaduw_Vlag'] == '0') {
+
+								//maximum aantal ophalen 
+								$query = "SELECT Max_Aantal FROM comp_type WHERE Comp_Type IN (SELECT Comp_Type_ID FROM comp_lijst WHERE Comp_Lijst_ID = '".$_GET['c']."')";
+		    			  $resultaat = mysql_query($query);
+						  	$data = mysql_fetch_array($resultaat);
+		    			  $maximum = $data['Max_Aantal'];
+		
+								//aantal aangemaakte componten van dit type ophalen
+								$query = "SELECT Count(Comp_Lijst_ID) FROM comp_lijst WHERE Comp_Parent = '".$selectie."' AND Comp_Type_ID IN (SELECT Comp_Type_ID FROM comp_lijst WHERE Comp_Lijst_ID = '".$_GET['c']."')";
+		    			  $resultaat = mysql_query($query);
+						  	$data = mysql_fetch_array($resultaat);
+		    			  $aantal = $data[0];
+		
+								echo("&nbspAangemaakt: ". $aantal ." van ". $maximum);
+								if ($aantal == $maximum)
+									echo("<font color=\"#FF0000\"><b>&nbsp*Maximum componenten bereikt!</b></font>");
+							}
+						}
+					}
+					//het geselecteerde component kan niet verplaatst worden, omdat dit een schaduw component is
+					else {
+						$query = "SELECT Comp_Naam FROM comp_lijst WHERE Comp_Lijst_ID = '".$selectie."'";
+					  $resultaat = mysql_query($query);
+				  	$data = mysql_fetch_array($resultaat);
+						
+						echo($data['Comp_Naam'] . "<input type=\"hidden\" name=\"sComp_Parent\" id=\"sComp_Parent\" value=\"".$selectie."\">");
+					}
+					echo("</form>");
+				}
+			}
+		?>
+	</body>
+</html>
\ No newline at end of file
diff --git a/support/tool/CRAFT/algemene_functionaliteit/comp_toevoegen.php b/support/tool/CRAFT/algemene_functionaliteit/comp_toevoegen.php
index 32ece4c0aff..a7f2024d037 100644
--- a/support/tool/CRAFT/algemene_functionaliteit/comp_toevoegen.php
+++ b/support/tool/CRAFT/algemene_functionaliteit/comp_toevoegen.php
@@ -32,12 +32,51 @@
 
 			//het valideren van de invoer, dus controleren of de ingevoerde gegevens opgeslagen mogen worden
 			function Valideer_Invoer() {
+				if (!isset($_POST['opslaan']))
+					return false; 
+					
 				if (isset($_POST['opslaan']) && $_POST['opslaan'] != 1)
 					return false;
-				
-				//controleren of het component niet het maximum aantal instanties van dit component overtreedt
-				if (isset($_POST['hidden_aantal']) && isset($_POST['hidden_maximum']) && $_POST['hidden_aantal'] > $_POST['hidden_maximum'])
+
+
+				//controleren of er wel een PARENT voor dit component geselecteerd is
+				if (isset($_POST['hidden_parent']) && $_POST['hidden_parent'] =='') 
 					return false;
+				//er is een PARENT ingevoerd, dus kijken of het maximum aantal niet overschreden wordt...
+				else {
+					
+					//kijken of deze PARENT een schaduwtype is
+					$query = "SELECT Schaduw_Vlag FROM comp_lijst WHERE Comp_Lijst_ID = '".$_POST['hidden_parent']."'";
+  			  $resultaat = mysql_query($query);
+			  	$data = mysql_fetch_array($resultaat);
+			  	
+			  	//Parent is een schaduwtype, dus maximumaantal geldt niet. 
+			  	//wel controleren of dit niet zelf een parent is, in dit geval mag dit type maar 1 x voorkomen
+			  	if ($data['Schaduw_Vlag'] == 1) {
+			  		$query = "SELECT * FROM comp_type WHERE Type_Parent = '".$_POST['comp_type']."'";
+						$num_rows = mysql_num_rows(mysql_query($query));
+						if($num_rows > 0 && isset($_POST['hidden_schaduw']) && $_POST['hidden_schaduw'] == '0')
+							return false;
+			  	}
+			  	//geen schaduw_vlag, dus controleren of het maximum aantal niet overschreden wordt
+			  	else {
+						//kijken wat het maximum aantal voor dit type is
+						$query = "SELECT Max_Aantal FROM comp_type WHERE Comp_Type = '". $_POST['comp_type'] ."'";
+	  			  $resultaat = mysql_query($query);
+				  	$data = mysql_fetch_array($resultaat);
+	  			  $maximum = $data['Max_Aantal'];
+						
+						//kijken welke parent dit is en hoeveel comps hier al van zijn aangemaakt +1
+						$query = "SELECT Count(Comp_Lijst_ID) FROM comp_lijst WHERE Comp_Parent = '".$_POST['hidden_parent']."' AND Comp_Type_ID = '".$_POST['comp_type']."'";
+	  			  $resultaat = mysql_query($query);
+				  	$data = mysql_fetch_array($resultaat);
+	  			  $aantal = $data[0];
+						
+						//met elkaar vergelijken			  
+	  			  if(($aantal + 1) > $maximum) 
+	  			  	return false;
+	  			 }
+				}
 					
 				//controleren of er wel een naam voor dit component ingevoerd is
 				if (isset($_POST['hidden_naam'])) {
@@ -45,10 +84,6 @@
 						return false;
 				} else return false;
 
-				//controleren of er wel een type voor dit component geselecteerd is
-				if (isset($_POST['hidden_type']) && $_POST['hidden_type'] =='') 
-					return false;
-
 				//de statusdatum controleren
 				if (isset($_POST['statusdatum'])) {
 					//wanneer de statusdatum gevuld is, dan...
@@ -117,8 +152,12 @@
 				if (isset($_POST['hidden_fabricagedatum']) && $_POST['hidden_fabricagedatum'] != '')
 					$query = $query . ", Fabricatie_Datum";
 				
+				//als dit het admingedeelte is, dan is het schaduw_vlag checkbox aanwezig
+				if(isset($_SESSION['admin_deel']) && 	$_SESSION['admin_deel'] > 0)
+					$query = $query . ", Schaduw_Vlag";
+				
 				//de waardes, welke opgeslagen moeten worden in de database
-				$query = $query . ") VALUES ('". htmlentities($_POST['hidden_naam'], ENT_QUOTES) ."', '". $_POST['comp_type'] ."', '". $_POST['hidden_type'] ."', '";
+				$query = $query . ") VALUES ('". htmlentities($_POST['hidden_naam'], ENT_QUOTES) ."', '". $_POST['comp_type'] ."', '". $_POST['hidden_parent'] ."', '";
 				$query = $query .  $_POST['comp_locatie'] ."', '".  $_POST['hidden_verantwoordelijke']."', '".$_POST['hidden_fabricant']."', '".$_POST['hidden_leverancier']."'";
 				    				
 				//de waarde voor de leverdatum aan de query toevoegen
@@ -131,6 +170,13 @@
   				$query = $query . ", '". Datum_Tijd_Naar_DB_Conversie($_POST['hidden_fabricagedatum'], $_POST['hidden_fabricagetijd']) . "'";
 				}
 				
+				//waarde voor schaduw_vlag aan de query toevoegen
+				if(isset($_SESSION['admin_deel']) && 	$_SESSION['admin_deel'] > 0) {
+					if (isset($_POST['hidden_schaduw']) && ($_POST['hidden_schaduw'] == '1' || $_POST['hidden_schaduw'] == 'on')) 
+						$query = $query . ", '1'";
+					else $query = $query . ",'0'";
+				}				
+				
 				//de query afsluiten met een haakje
 				$query = $query . ')';
 				
@@ -146,8 +192,8 @@
 					$Comp_ID = mysql_insert_id();
 
 					//De eerste melding van het component toevoegen, dit is zeer waarschijnlijk het plaatsen van het component oid
-					$query = "INSERT INTO melding_lijst (Melding_Locatie, Meld_Type_ID, Comp_Lijst_ID, Meld_Datum, Huidige_Status, Voorgaande_Melding, Prob_Beschrijving, Behandeld_Door, Gemeld_Door)";
-					$query = $query . "VALUES ('". $_POST['comp_locatie'] ."', '". $_POST['type_melding'] ."', '". $Comp_ID ."'";
+					$query = "INSERT INTO melding_lijst (Melding_Locatie, Meld_Type_ID, Comp_Lijst_ID, Comp_Parent, Meld_Datum, Huidige_Status, Voorgaande_Melding, Prob_Beschrijving, Behandeld_Door, Gemeld_Door)";
+					$query = $query . "VALUES ('". $_POST['comp_locatie'] ."', '". $_POST['type_melding'] ."', '". $Comp_ID ."', '". $_POST['hidden_parent'] ."'";
 
   				//het toevoegen van een statusdatum: eerst kijken of er 1 ingevuld is, anders de huidige datum gebruiken...
   				if (isset($_POST['statusdatum']) && $_POST['statusdatum'] != '') {
@@ -269,17 +315,21 @@
   			</tr>
   			<tr>
   				<td>Naam component:</td>
-  				<td><iframe id="frame_naam" name="frame_naam" align="middle" marginwidth="0" marginheight="0" src="<?php echo($_SESSION['pagina']); ?>algemene_functionaliteit/comp_toevoegen_naam.php?c=<?php echo($selected); if(isset($_POST['hidden_naam'])){ echo("&n=".$_POST['hidden_naam']); } ?>" width="400" height="44" ALLOWTRANSPARENCY frameborder="0" scrolling="auto"></iframe>
+  				<td><iframe id="frame_naam" name="frame_naam" align="middle" marginwidth="0" marginheight="0" src="<?php echo($_SESSION['pagina']); ?>algemene_functionaliteit/comp_toevoegen_naam.php?c=<?php echo($selected); if(isset($_POST['hidden_naam'])){ echo("&n=".$_POST['hidden_naam']); } ?>" width="150" height="26" ALLOWTRANSPARENCY frameborder="0" scrolling="auto"></iframe>
   					<?php if (isset($_POST['opslaan']) && ($_POST['opslaan'] == 1) && isset($_POST['hidden_naam']) && $_POST['hidden_naam'] == '') echo("<b>* Er is geen naam voor deze instantie ingevuld!</b>");?></td>
   			</tr>
   			<tr>
   				<td>Parent component:</td>
 					<?php 
-						if(isset($_POST['hidden_type']) && isset($_POST['opslaan']) && $_POST['opslaan'] == 1) 
-  						$selectie = "&n=" . $_POST['hidden_type']; 
+						if(isset($_POST['hidden_parent']))// && isset($_POST['opslaan']) && $_POST['opslaan'] == 1) 
+  						$selectie = "&n=" . $_POST['hidden_parent']; 
   					else $selectie = "&n=-1";
+ 						//bepalen hoogte van het scherm
+						if(isset($_SESSION['admin_deel']) && 	$_SESSION['admin_deel'] > 0)
+							$hoogte = 42;
+						else $hoogte = 22;
  					?>
-  				<td><iframe id="frame_parent" name="frame_parent" align="middle" marginwidth="0" marginheight="0" src="<?php echo($_SESSION['pagina']); ?>algemene_functionaliteit/comp_toevoegen_parent.php?c=<?php echo($selected . $selectie); ?>" width="450" height="26" ALLOWTRANSPARENCY frameborder="0" scrolling="auto"></iframe></td>
+  				<td><iframe id="frame_parent" name="frame_parent" align="middle" marginwidth="0" marginheight="0" src="<?php echo($_SESSION['pagina']); ?>algemene_functionaliteit/comp_toevoegen_parent.php?c=<?php echo($selected . $selectie); ?>" width="550" height="<?php echo($hoogte); ?>" ALLOWTRANSPARENCY frameborder="0" scrolling="auto"></iframe></td>
   			</tr>
   			<tr>
   				<td>Type melding:</td>
@@ -396,7 +446,7 @@
   			</tr>
   			<tr>
   				<td>Extra velden:<br>(* = verplicht)</td>
-  				<td><iframe id="frame_extra_velden" name="frame_extra_velden" align="middle" marginwidth="0" marginheight="0" src="<?php echo($_SESSION['pagina']); ?>algemene_functionaliteit/component_extra_velden.php?c=<?php echo($selected); ?>" width="400" height="110" ALLOWTRANSPARENCY frameborder="0" scrolling="auto"></iframe>
+  				<td><iframe id="frame_extra_velden" name="frame_extra_velden" align="middle" marginwidth="0" marginheight="0" src="<?php echo($_SESSION['pagina']); ?>algemene_functionaliteit/component_extra_velden.php?c=<?php echo($selected); ?>" width="400" height="100" ALLOWTRANSPARENCY frameborder="0" scrolling="auto"></iframe>
   					<?php
   					  if (isset($_POST['opslaan']) && $_POST['opslaan'] == 1 && !Extra_Velden_Controle()) echo("<b>* Foutieve waardes!</b>");
   					?>
@@ -453,10 +503,9 @@
   					<input id="hidden_fabricagetijd" name="hidden_fabricagetijd" type="hidden" value="<?php echo($fabricagetijd); ?>">
 						<input id="hidden_leverdatum" name="hidden_leverdatum" type="hidden" value="<?php echo($leverdatum); ?>">
 						<input id="hidden_levertijd" name="hidden_levertijd" type="hidden" value="<?php echo($levertijd); ?>">
-						<input id="hidden_type" name="hidden_type" type="hidden" value="">
+						<input id="hidden_parent" name="hidden_parent" type="hidden" value="">
+						<input id="hidden_schaduw" name="hidden_schaduw" type="hidden" value="">
 						<input id="hidden_naam" name="hidden_naam" type="hidden" value="">
-						<input id="hidden_aantal" name="hidden_aantal" type="hidden" value="">
-						<input id="hidden_maximum" name="hidden_maximum" type="hidden" value="">
 						<input id="hidden_fabricant" name="hidden_fabricant" type="hidden" value="">
 						<input id="hidden_leverancier" name="hidden_leverancier" type="hidden" value="">
   					<input id="hidden_melding" name="hidden_melding" type="hidden" value="">
diff --git a/support/tool/CRAFT/algemene_functionaliteit/comp_toevoegen_functies.php b/support/tool/CRAFT/algemene_functionaliteit/comp_toevoegen_functies.php
index c477c14d9e8..aa449e09682 100644
--- a/support/tool/CRAFT/algemene_functionaliteit/comp_toevoegen_functies.php
+++ b/support/tool/CRAFT/algemene_functionaliteit/comp_toevoegen_functies.php
@@ -71,10 +71,12 @@ function SubmitComponentBewerken()
 	var s = document.frames['frame_melding'].document.getElementById('sStatus').value;
 	var m = document.frames['frame_melding'].document.getElementById('sMelding').value;
 	var n = document.frames['frame_contact'].document.getElementById('sVerantwoordelijke').value;
+	var p = document.frames['frame_parent'].document.getElementById('sComp_Parent').value;
 
 	document.getElementById('hidden_melding').value = m;
 	document.getElementById('hidden_status').value = s;
 	document.getElementById('hidden_verantwoordelijke').value = n;
+	document.getElementById('hidden_parent').value = p;
 
 	document.theForm.submit();
 }
@@ -119,11 +121,20 @@ function submitComponentToevoegen()
 	var leverdatum = document.frames['frame_leverancier'].document.getElementById('sLeverdatum').value;
 	var fabricagetijd  = document.frames['frame_fabricant'].document.getElementById('sFabricagetijd').value;
 	var fabricagedatum = document.frames['frame_fabricant'].document.getElementById('sFabricagedatum').value;
+
+	<?php
+
+		if(isset($_SESSION['admin_deel']) && 	$_SESSION['admin_deel'] > 0) {
+			
+			echo("if (document.frames['frame_parent'].document.getElementById('schaduw')) { \n");
+			echo("var q = document.frames['frame_parent'].document.getElementById('schaduw').value;\n");
+			echo("document.getElementById('hidden_schaduw').value = q; \n }");
+		}
+
+	?>
 	
-	var aantal  = document.frames['frame_naam'].document.getElementById('sComp_Aantal').value;
-	var maximum = document.frames['frame_naam'].document.getElementById('sComp_Max').value;
 	document.getElementById('hidden_verantwoordelijke').value = n;
-	document.getElementById('hidden_type').value = w;
+	document.getElementById('hidden_parent').value = w;
 	document.getElementById('hidden_naam').value = x;
 	document.getElementById('hidden_fabricant').value = y;
 	document.getElementById('hidden_leverancier').value = z;
@@ -134,7 +145,5 @@ function submitComponentToevoegen()
 	document.getElementById('hidden_melding').value = m;
 	document.getElementById('hidden_status').value = s;
 
-	document.getElementById('hidden_aantal').value = aantal;
-	document.getElementById('hidden_maximum').value = maximum;
 	document.theForm.submit();
 }
\ No newline at end of file
diff --git a/support/tool/CRAFT/algemene_functionaliteit/comp_toevoegen_naam.php b/support/tool/CRAFT/algemene_functionaliteit/comp_toevoegen_naam.php
index 90e92e9f92c..f7b154be4a1 100644
--- a/support/tool/CRAFT/algemene_functionaliteit/comp_toevoegen_naam.php
+++ b/support/tool/CRAFT/algemene_functionaliteit/comp_toevoegen_naam.php
@@ -8,11 +8,9 @@
 			include_once("../includes/vars.php");
 
 			if (isset($_GET['c']) && $_GET['c'] != 0) {
-				$query = "SELECT Type_Naam, Min_Aantal, Max_Aantal FROM comp_type WHERE Comp_Type = '".$_GET['c']."'";
+				$query = "SELECT Type_Naam FROM comp_type WHERE Comp_Type = '".$_GET['c']."'";
 				$resultaat = mysql_query($query);
 				$data = mysql_fetch_array($resultaat);
-				$minimum = $data[1];
-				$maximum = $data[2];
 				
 				$naam = $data[0];
 				if(isset($_GET['n']))
@@ -32,11 +30,7 @@
 						$inputveld = $inputveld . " nr. ".($aantal + 1);
 				$inputveld = $inputveld . "\">";
 
-				echo("<input id=\"sComp_Aantal\" name=\"sComp_Aantal\" type=\"hidden\" value=\"". ($aantal + 1)."\">\n");
-				echo("<input id=\"sComp_Max\" name=\"sComp_Max\" type=\"hidden\" value=\"". $maximum ."\">\n");
-				echo("Aangemaakt: ". $aantal . " van ". $maximum);
-				if ($aantal + 1 > $maximum) echo("<font color=\"#FF0000\"><b> * Maximum componenten bereikt!</b></font>");
-				echo("<br>\n" .$inputveld);
+				echo($inputveld);
 			}
 		?>
 	</body>
diff --git a/support/tool/CRAFT/algemene_functionaliteit/comp_toevoegen_parent.php b/support/tool/CRAFT/algemene_functionaliteit/comp_toevoegen_parent.php
index 5024a6bc871..75f4ef32c0b 100644
--- a/support/tool/CRAFT/algemene_functionaliteit/comp_toevoegen_parent.php
+++ b/support/tool/CRAFT/algemene_functionaliteit/comp_toevoegen_parent.php
@@ -1,3 +1,9 @@
+<?php
+
+	session_start();
+	
+?>
+
 <html>
 	<head>
 	</head>
@@ -14,22 +20,104 @@
 		  	else {
 					$resultaat = mysql_query($query);
 
-					echo("<form name=\"fTest\">\r\n");
-					if (isset($_GET['n']) && $_GET['n'] > 0)
+					echo("<form name=\"fTest\" method=\"post\">\r\n");
+					if(isset($_POST['sComp_Parent'])) 
+						$selectie = $_POST['sComp_Parent'];
+					else if (isset($_GET['n']) && $_GET['n'] > 0)
 						$selectie = $_GET['n'];
 					else 
 						$selectie = 'SELECTED';
 
-					echo("<select id=\"sComp_Parent\" name=\"sComp_Parent\">\r\n");
+					echo("<select id=\"sComp_Parent\" name=\"sComp_Parent\" onchange=\"	document.fTest.submit();\">\r\n");
 					while ($data = mysql_fetch_array($resultaat)) {
 						echo("<option value=\"". $data['Comp_Lijst_ID'] ."\"");
 						if ($data['Comp_Lijst_ID'] == $selectie || $selectie == 'SELECTED') {
 							echo(' SELECTED');
-							$selectie = -1;
+							$selectie = $data['Comp_Lijst_ID'];
 						}
 						echo(">". $data['Comp_Naam'] ."</option>\r\n");
 					}
-					echo("</select></form>");
+					echo("</select>");
+
+					//als de gekozen parent een schaduw component is, dan geld onderstaande niet meer
+					$query = "SELECT Schaduw_Vlag FROM comp_lijst WHERE Comp_Lijst_ID = '".$selectie."'";
+  			  $resultaat = mysql_query($query);
+			  	$data = mysql_fetch_array($resultaat);
+					
+					//de meldingen voor het aantal aan te maken componenten maken 
+					if ($data['Schaduw_Vlag'] == 0) {
+						//het aantal aangemaakte componenten per geselecteerde type, gedeelte
+						if ($selectie != -1) {
+							//maximum aantal ophalen 
+							$query = "SELECT Max_Aantal FROM comp_type WHERE Comp_Type = '".$_GET['c']."'";
+		  			  $resultaat = mysql_query($query);
+					  	$data = mysql_fetch_array($resultaat);
+		  			  $maximum = $data['Max_Aantal'];
+		
+							//aantal aangemaakte componten van dit type ophalen
+							$query = "SELECT Count(Comp_Lijst_ID) FROM comp_lijst WHERE Comp_Parent = '".$selectie."' AND Comp_Type_ID = '".$_GET['c']."'";
+		  			  $resultaat = mysql_query($query);
+					  	$data = mysql_fetch_array($resultaat);
+		  			  $aantal = $data[0];
+		
+							echo("&nbspAangemaakt: ". $aantal ." van ". $maximum);
+							if ($aantal == $maximum)
+								echo("<font color=\"#FF0000\"><b>&nbsp*Maximum componenten bereikt!</b></font>");
+						}
+					}
+					
+					//het schaduwcomponentengedeelte
+					if(isset($_SESSION['admin_deel']) && 	$_SESSION['admin_deel'] > 0) {
+
+						//als er al 1 schaduw component van dit type bestaat, dan deze niet weergeven
+						$query = "SELECT Comp_Lijst_ID FROM comp_lijst WHERE Comp_Type_ID = '".$_GET['c']."' AND Schaduw_Vlag='1'";
+						$num_rows = mysql_num_rows(mysql_query($query));
+						//echo($num_rows . " asdad  ");
+						
+						//er is nog geen schaduwcomponent, dus aanmaken kan
+						if($num_rows == 0){
+
+							//Parent Component = 1 -> dan weergeven
+							if ($selectie == 1) {
+								echo("<br><input id=\"schaduw\" name=\"schaduw\" type=\"checkbox\">Schaduw component");
+							}
+							else {
+								//geselecteerde parent is een schaduw
+								$query = "SELECT * FROM comp_lijst WHERE Comp_Lijst_ID = '".$selectie."' AND Schaduw_Vlag = '1'";
+								$num_rows = mysql_num_rows(mysql_query($query));
+								//parent is een schaduw
+								if($num_rows == 1){
+									$query = "SELECT * FROM comp_type WHERE Type_Parent = '".$_GET['c']."'";
+									$num_rows = mysql_num_rows(mysql_query($query));		
+		
+									//Geen parents
+							  	if ($num_rows == 0)
+										echo("<br>Dit is een instantie. Dit wordt geen schaduw component.<input id=\"schaduw\" name=\"schaduw\" type=\"hidden\" value=\"0\">");
+									//mappen worden ook schaduw, and zelf parent dan schaduw
+				  				else 
+										echo("<br>Dit component wordt een schaduwcomponent.<input id=\"schaduw\" name=\"schaduw\" type=\"hidden\" value=\"1\">");
+								}
+								//parent is geen schaduw, dus dan dit ook geen schaduw laten worden
+								else								
+									echo("<br>Dit component kan geen schaduw component worden.<input id=\"schaduw\" name=\"schaduw\" type=\"hidden\" value=\"0\">");
+							}
+						}
+						else {
+							//er is een schaduwcomponent... 
+							//dus onderscheid maken of t schaduwcomponent geselecteerd is.
+							$query = "SELECT Comp_Lijst_ID FROM comp_lijst WHERE Comp_Type_ID IN (SELECT Type_Parent FROM comp_type WHERE Comp_Type = '".$_GET['c']."') AND Schaduw_Vlag='1'";
+		  			  $resultaat = mysql_query($query);
+					  	$data = mysql_fetch_array($resultaat);
+							
+							if ($data['Comp_Lijst_ID'] == $selectie)
+								echo("<br>Dit is het schaduwcomponent voor dit type.<input id=\"schaduw\" name=\"schaduw\" type=\"hidden\" value=\"0\">");
+							else echo("<br>Een schaduwcomponent bestaat voor dit type.<input id=\"schaduw\" name=\"schaduw\" type=\"hidden\" value=\"0\">");
+						}
+						//als parent een schaduw is, en huidige type is een map -> schaduw voor deze wordt 1 
+						//als parent een schaduw is, en huidige type is geen map -> schaduw wordt 0
+					}
+
+					echo("</form>");
 				}
 			}
 		?>
diff --git a/support/tool/CRAFT/algemene_functionaliteit/component_bewerken_extra_velden.php b/support/tool/CRAFT/algemene_functionaliteit/component_bewerken_extra_velden.php
index 1aa5ecfc636..749ea79b5c3 100644
--- a/support/tool/CRAFT/algemene_functionaliteit/component_bewerken_extra_velden.php
+++ b/support/tool/CRAFT/algemene_functionaliteit/component_bewerken_extra_velden.php
@@ -1,3 +1,9 @@
+<?php
+
+	session_start();
+
+?>
+
 <html>
 	<head>
 	</head>
diff --git a/support/tool/CRAFT/algemene_functionaliteit/component_extra_velden.php b/support/tool/CRAFT/algemene_functionaliteit/component_extra_velden.php
index 7db93eb94c0..40bba9ddd4f 100644
--- a/support/tool/CRAFT/algemene_functionaliteit/component_extra_velden.php
+++ b/support/tool/CRAFT/algemene_functionaliteit/component_extra_velden.php
@@ -1,3 +1,9 @@
+<?php
+	
+	session_start();
+
+?>
+
 <html>
 	<head>
 	</head>
diff --git a/support/tool/CRAFT/algemene_functionaliteit/melding_toevoegen.php b/support/tool/CRAFT/algemene_functionaliteit/melding_toevoegen.php
index 5968e356343..8f03e8b78db 100644
--- a/support/tool/CRAFT/algemene_functionaliteit/melding_toevoegen.php
+++ b/support/tool/CRAFT/algemene_functionaliteit/melding_toevoegen.php
@@ -100,13 +100,13 @@
 		
 		//uit de componenten lijst halen welke melding hier als laatste bij opgeslagen is
 		//deze waarde is nodig om een keten van meldingen te kunnen vormen
-		$query = "SELECT Laatste_Melding FROM comp_lijst WHERE Comp_Lijst_ID = '". $Comp_Selectie ."'";
+		$query = "SELECT Laatste_Melding, Comp_Parent FROM comp_lijst WHERE Comp_Lijst_ID = '". $Comp_Selectie ."'";
 		$resultaat = mysql_query($query);
   	$row = mysql_fetch_array($resultaat);
 		
 		//de query om de melding toe te voegen, samenstellen
-		$query = "INSERT INTO melding_lijst (Meld_Type_ID, Melding_Locatie, Comp_Lijst_ID, Meld_Datum, Huidige_Status, Voorgaande_Melding, Prob_Beschrijving, Prob_Oplossing, Behandeld_Door, Gemeld_Door, Afgehandeld)";
-		$query = $query . "VALUES ('". $_POST['Type_Melding'] ."', '". $_POST['Melding_Locatie'] ."', '" .$Comp_Selectie . "'";
+		$query = "INSERT INTO melding_lijst (Meld_Type_ID, Comp_Parent, Melding_Locatie, Comp_Lijst_ID, Meld_Datum, Huidige_Status, Voorgaande_Melding, Prob_Beschrijving, Prob_Oplossing, Behandeld_Door, Gemeld_Door, Afgehandeld)";
+		$query = $query . "VALUES ('". $_POST['Type_Melding'] ."', '". $row['Comp_Parent']. "', '". $_POST['Melding_Locatie'] ."', '" .$Comp_Selectie . "'";
 
 		//het toevoegen van een statusdatum: eerst kijken of er 1 ingevuld is, anders de huidige datum gebruiken...
 		if (isset($_POST['Meld_Datum']) && $_POST['Meld_Datum'] != '') {
@@ -114,7 +114,7 @@
 			$query = $query . ", '". $datum[2]."-".$datum[1]."-".$datum[0] ." ". $_POST['Meld_Tijd'] .":00'";							
 		}
 		else $query = $query . ", NOW()";
-		$query = $query . ", '". $_POST['hidden_status'] ."', '". $row[0] ."', '". htmlentities($_POST['hidden_beschrijving'], ENT_QUOTES) ."', '". htmlentities($_POST['hidden_oplossing'], ENT_QUOTES);
+		$query = $query . ", '". $_POST['hidden_status'] ."', '". $row['Laatste_Melding'] ."', '". htmlentities($_POST['hidden_beschrijving'], ENT_QUOTES) ."', '". htmlentities($_POST['hidden_oplossing'], ENT_QUOTES);
 		$query = $query . "', '". $_POST['Behandeld_Door'] ."', '". $_POST['Gemeld_Door'] ."', '";
 		//de afgehandeld checkbox vertalen naar sql taal ;)
 		if (isset($_POST['afgehandeld']) && ($_POST['afgehandeld'] == 'on' || $_POST['afgehandeld'] == '1'))
@@ -192,8 +192,9 @@
 		}
 		else if ($errorlevel == 0) echo("De nieuwe melding (". $Laatste_Melding .") kon niet aan het systeem toegevoegd worden!.");
 		else if ($errorlevel == 1) echo("De nieuwe melding (". $Laatste_Melding .") is aan het systeem toegevoegd.<br>Alleen is er iets foutgegaan met het updaten van de componten tabel! De 'laatste meldin' verwijzing is niet geupdated!");
-		if(isset($_GET['b'])) $url = ("&b=" . $_GET['b']);
-		else $url = ("&c=" . $Comp_Selectie);
+		$url = '';
+		if(isset($_GET['c'])) $url = $url . ("&c=" . $Comp_Selectie);		
+		if(isset($_GET['b'])) $url = $url . ("&b=" . $_GET['b']);
 		
 		echo('<a href="'.$_SESSION['huidige_pagina']. $url .'">Klik hier om nog een melding aan dit component toe te voegen of geselecteer een component uit de treeview.</a>');
 	}
diff --git a/support/tool/CRAFT/documentatie/changes.doc b/support/tool/CRAFT/documentatie/changes.doc
index 90aef5d59b1aece3a63569afc4e5bd442dc085db..e3ccec06ae5658cc59ffb1842b191fa07cd8d501 100644
GIT binary patch
delta 2140
zcmbVNZA@Eb6h8O%i?Njfg${(V%ZF|QLbhcgu1-Ke*uq9}CbEPC($PCw+TODE0%loO
z5<kKZvpH|#4}Q$VFkQ@;WLKOq!N}$u8a2d#KU5O_kWDuu#!bzl;&a;Gv9c{1PxAD<
z=li_xdHdd>C1Geu7%vpXK(1CKR*3<-cFJ6&1;v5bzBG!{gLok<KG<`>%ghPC+u1}r
z1ft<&-2de&@`yxDG=K%uf8k~D+l+2}h&<^eIs|zH@wwVFq9Z*s+2U{-L}$srbvBZ%
z{b?$S8E)JIlOey0yeL5#YvbzsIQyN)L9A3w_^p<CqxX`LFR9ZqEL*o4H6P~7F)jp5
zYd6g9SX)*i)`&WWPS!#7>Q4J|`Hxr8Q-X|<R;S~Xpt_Ywgymf_s$D^c+o0vqGW`v|
z1K_{#_CYfU+5*lp4&Ov=S=yAXwcfDDo$zDqock+#z!foeZuE^goiac6&^hs7nJ_1~
zS^hv5POM6It;8oB4B6=4kniJKfvxn>7fnQGZA7C8HZJvQepc_c-O7mVmxErv($lri
z-y2n3QbRb@*VX2U$cie-kwgAosYeckL$V@;Ly}jPeEz5!j`(Fsm8C$xqQKyTU$}oz
zR;r`}a?qo~I3Py`IiI9>Jds4sAj@5Q8}0E5$!gDb$9x`d|6td1K~GO=y(+0OEC*eZ
z$D{Pf11RJ5sFK&OO5Nx%jJhfct5UQ(p5Pv>KUygba#>F>C`YBR;*}%Vfhrx1FF7GM
zuSVoRKvta60OXM8d4H%s1e3~9iXF3mT^I69W=kL!mqnkl{VE8e{@2F!;{JBrk2ir)
z;2bapTm`0qSzsPm0CEvo2-E_-0B5@W)8hQxmsjTICnv@x$0pB=pwM@*oLt|fl56Dj
zO||4xXph4j1t`PmTd1f^k&i0}Q{;}`<`j8#{E6)&DfTn1FQv$Dh(XBqm4Y|jo!ZC6
zwUt>vIEZ+oyeV${_rx_!{H6*xoXdiCz9365T`0?Ot_|3UaQ8}xtlB15D7_v3+i4(V
z*H5@U5e2KZyt_cKX(x9VR3;zTq0bR;m*VRjn9c#-HALS4A-i_`$&qsIg&(U7U_D1z
ziMUtR^ZS6mbzFy!Kz+@f^25;e0s-I%@FDOK!2Nsy%mNDlve(oe(^_jY1+#Xsw%x%F
zOMnTRu>v7GX~lJ$v~6|k8qC<<BfLe>+hCsoqwwXJp8@#7YKen=nN|w1&8&CTJ#DRN
zfPvq0K7~bqsUC=l7W&PZMxUzb^vaeE#ACg@KcBqL3YyqeL2GQ4v{0da+f?M>8^E{X
ztKtrtb9WFAaJebp!IO2hC^S(Nrp7vzFnO)Cx!8mop*1x3>=1?onn$mU>n)RlKna;!
zU>%bfKTIrmqJ8@J%`XVe+tY^gXlVxDCSUvwzWMe0P1QF(I9z_`VpBaW!jZpt0gOoC
z(O`R~%slW^ZJz$tUbo=P-pQ5~k`XTBzh|j&AW4#NKy|c~N&Jv*wCy>_>NI_*<vrm-
z>*Io0U9Gv?o6V=6xW1&xZb_OQzsBDOJb>tcA94_qG3TyK`cq{c8LxGYXLDDq<t~}a
dcKuT4J6YD5fkJ#?^hlpo5G@<@qeou0{sWChj}HI<

delta 1490
zcmbVMT}V_>5T0{?_Ui6U*Ic(E+tf5yjR>j8?QgSk7t(Ak+(a-ilYQtPi>L<|gXkfG
zI?zM(U?3C{CEctDvaBeAkO(U1#fOjx3pVJ7B%yEa?xlZ<2F}izIp5s*=FFT;rbIF&
z1_~7=?vnv!z7jX(2`wPEEBm|6EVAWyx)3Kpoco|lwKT3`Dp9o{ie}>eSD()#Qi$rP
z9~+i`(WSt(<`X3ldAES59rg&~3uH{mcY8AwqggQhC4XZ!k|)2Yfo=!J99SItCBEy2
z-R`#Czi7to#YKF}n#TQXbD`gh^Sz8u=I9j_PR>7JIVOaFLOHHAcK3PHu};)7Ffrj8
z2*$_UqYuC-Elx{sWD^~QD~h;GF*d--_8ANpz{9O&X#%bZx{S+*)FOztY-1Eu>hsEB
zV|}f2ZiDdSRL=ag-;9V;xx*WMI-$+|W1qOOEa($p`ev|jV>hSfTYMVe*baZk{zc1~
z#+<S>D(1%^>O-(I)IaNlwbgi^V+|Yq!V=R}O^>7QN!ag%s%d0R&dOEHX873u;qBN9
z9GwxSuOM-!<Q4f7b!DsN?c$Yg?KOs#F`ob!6Y}EBJRvTZ`uv_a8isK#0SP%fv_okz
zty7_U%Di+%l!WGGOVa-Jq01MrI?&B$SS_X;T7J5czwQAb2P>C>E+Qu@4+VN*`|$F6
zR!pcZCdo@H56Q*hO-2RI**+UCmjhvKHuyl!;cgyc;e-s*u~=YPo>gmIVyTQp@=JIa
zyA_>2`m^YMmz$0Sr_tSp8PwsgqQROf$~NTjNWd5=Zl$M<t@2i6h9|UcCk+O6(VB3V
z9FG)BZ?v;oO$us89$p*jZwf(an=`VHMX@WuhOaDaosS+C8~0=#oldF8_!mgn)Bfhk
z)w;;R>z$Po*XlwvG==Cn{7FoV;QPQ$t6rYqAHA9JrWS=#Udy|sMilkxz4`&VLOngz
z3xWSmV#ppd<*>fOgR~jZWl?>V2wL^^SA=|QJi5GoiBJ|Tk)g(N?fs#B<8oVLQBm#i
zD8EXK9oX>mN%LUM3{`7YX=~2Owt=b4hrP_0b<DKxwDsq?dK<d%uC2YhT|%kxTL<?X
GaeW1}7tdM%

diff --git a/support/tool/CRAFT/documentatie/db_structuur.sql b/support/tool/CRAFT/documentatie/db_structuur.sql
index 64455a8b8bb..81656cc80ce 100644
--- a/support/tool/CRAFT/documentatie/db_structuur.sql
+++ b/support/tool/CRAFT/documentatie/db_structuur.sql
@@ -83,7 +83,7 @@ CREATE TABLE IF NOT EXISTS `comp_lijst` (
 -- 
 
 INSERT INTO `comp_lijst` (`Comp_Lijst_ID`, `Comp_Naam`, `Comp_Type_ID`, `Comp_Parent`, `Comp_Locatie`, `Comp_Verantwoordelijke`, `Contact_Fabricant`, `Contact_Leverancier`, `Lever_Datum`, `Fabricatie_Datum`, `Laatste_Melding`) VALUES 
-(1, 'ASTRON', 1, NULL, 1, 3, NULL, NULL, NULL, NULL, 1);
+(1, 'ASTRON', 1, NULL, 1, 1, NULL, NULL, NULL, NULL, 1);
 
 -- --------------------------------------------------------
 
@@ -112,6 +112,9 @@ CREATE TABLE IF NOT EXISTS `comp_locatie` (
 -- Gegevens worden uitgevoerd voor tabel `comp_locatie`
 -- 
 
+INSERT INTO `comp_locatie` (`Locatie_ID`, `Loc_Naam`, `Loc_Adres1`, `Loc_Adres2`, `Loc_Postcode`, `Loc_Plaats`, `Long_Graden`, `Long_Min`, `Long_Sec`, `Lat_Graden`, `Lat_Min`, `Lat_Sec`) VALUES 
+(1, 'Lhee', NULL, NULL, NULL, NULL, 6, 39, 51, 52, 81, 28);
+
 -- --------------------------------------------------------
 
 -- 
@@ -145,7 +148,7 @@ CREATE TABLE IF NOT EXISTS `comp_type` (
 -- 
 
 INSERT INTO `comp_type` (`Comp_Type`, `Type_Naam`, `Type_Parent`, `Aangemaakt_Door`, `Aanmaak_Datum`, `Structuur_Entry`, `Gefabriceerd_Door`, `Geleverd_Door`, `Min_Aantal`, `Max_Aantal`, `Reserve_Minimum`, `Type_Verantwoordelijke`) VALUES 
-(1, 'Faciliteit', NULL, 1, '2007-06-18 13:29:26', 1, 2, 2, 1, 1, 0, 3);
+(1, 'Faciliteit', NULL, 1, '2007-06-18 13:29:26', 1, 1, 1, 1, 1, 0, 1);
 
 -- --------------------------------------------------------
 
@@ -278,9 +281,6 @@ CREATE TABLE IF NOT EXISTS `gebruikersgroeprechten` (
 -- Gegevens worden uitgevoerd voor tabel `gebruikersgroeprechten`
 -- 
 
-INSERT INTO `gebruikersgroeprechten` (`Groep_ID`, `Comp_Type_ID`, `Zichtbaar`, `Toevoegen`, `Bewerken`, `Verwijderen`, `onderliggende_Data`) VALUES 
-(2, 1, 0, 0, 0, 0, 1);
-
 -- --------------------------------------------------------
 
 -- 
diff --git a/support/tool/CRAFT/main_componenten/zoeken.php b/support/tool/CRAFT/main_componenten/zoeken.php
index c8b932b3fef..7ab1312dc0a 100644
--- a/support/tool/CRAFT/main_componenten/zoeken.php
+++ b/support/tool/CRAFT/main_componenten/zoeken.php
@@ -94,58 +94,67 @@
 	    		if(Valideer_Zoeken()) {
 	    			
 	    			//basisquery: selecteert alle componenten... de criteria wordt hierachter geplakt
-	  				$query = "SELECT * FROM comp_lijst WHERE Comp_Lijst_ID > 1";
+	  				//wanneer er ook op status gezocht moet worden, dan moeten 2 tabellen doorgezocht worden
+	  				if(isset($_POST['Status']) && $_POST['Status'] != -1) {
+							$query = "SELECT c.* FROM comp_lijst c, melding_lijst m WHERE c.Comp_Lijst_ID > 1";
+	  				}
+	  				else $query = "SELECT c.* FROM comp_lijst c WHERE c.Comp_Lijst_ID > 1";
 	  				
 	  				//naam component
 	  				if(isset($_POST['naam']))
-							$query = $query . " AND Comp_Naam LIKE '%".$_POST['naam']."%'";
+							$query = $query . " AND c.Comp_Naam LIKE '%".$_POST['naam']."%'";
 
 						//type component
 	  				if(isset($_POST['Type']) && $_POST['Type'] != -1)
-							$query = $query . " AND Comp_Type_ID = '".$_POST['Type']."'";
-						
+							$query = $query . " AND c.Comp_Type_ID = '".$_POST['Type']."'";
+
+						//status
+	  				if(isset($_POST['Status']) && $_POST['Status'] != -1) {
+	  					$query = $query . " AND c.laatste_melding = m.Meld_Lijst_ID AND m.Huidige_Status = '". $_POST['Status'] ."'";
+	  				}
+
 						//locatie
 						if (isset($_POST['Locatie1']) && $_POST['Locatie2'] == -1 )
-							$query = $query . " AND Comp_Locatie IN (SELECT Locatie_ID FROM comp_locatie WHERE Loc_Naam LIKE '%".$_POST['Locatie1']."%')";
+							$query = $query . " AND c.Comp_Locatie IN (SELECT Locatie_ID FROM comp_locatie WHERE Loc_Naam LIKE '%".$_POST['Locatie1']."%')";
 						else if ($_POST['Locatie2'] > 0)
-							$query = $query . " AND Comp_Locatie = '".$_POST['Locatie2']."'";
+							$query = $query . " AND c.Comp_Locatie = '".$_POST['Locatie2']."'";
 
 						//parent 
 	  				if(isset($_POST['Parent']) && $_POST['Parent'] != -1)
-							$query = $query . " AND Comp_Parent = '".$_POST['Parent']."'";
+							$query = $query . " AND c.Comp_Parent = '".$_POST['Parent']."'";
 						
 						//verantwoordelijke voor dit component
 						if (isset($_POST['Verantwoordelijke1']) && $_POST['Verantwoordelijke2'] == -1 )
-							$query = $query . " AND Comp_Verantwoordelijke IN (SELECT Werknem_ID FROM gebruiker WHERE inlognaam LIKE '%".$_POST['Verantwoordelijke1']."%')";
+							$query = $query . " AND c.Comp_Verantwoordelijke IN (SELECT Werknem_ID FROM gebruiker WHERE inlognaam LIKE '%".$_POST['Verantwoordelijke1']."%')";
 						else if ($_POST['Verantwoordelijke2'] > 0)
-							$query = $query . " AND Comp_Verantwoordelijke = '".$_POST['Verantwoordelijke2']."'";
+							$query = $query . " AND c.Comp_Verantwoordelijke = '".$_POST['Verantwoordelijke2']."'";
 
 						//fabricant voor dit component
 						if (isset($_POST['Fabricant1']) && $_POST['Fabricant2'] == -1 )
-							$query = $query . " AND Contact_Fabricant IN (SELECT Contact_ID FROM contact WHERE Contact_Naam LIKE '%".$_POST['Fabricant1']."%')";
+							$query = $query . " AND c.Contact_Fabricant IN (SELECT Contact_ID FROM contact WHERE Contact_Naam LIKE '%".$_POST['Fabricant1']."%')";
 						else if ($_POST['Fabricant2'] > 0)
-							$query = $query . " AND Contact_Fabricant = '".$_POST['Fabricant2']."'";
+							$query = $query . " AND c.Contact_Fabricant = '".$_POST['Fabricant2']."'";
 
 						//leverancier voor dit component
 						if (isset($_POST['Leverancier1']) && $_POST['Leverancier2'] == -1 )
-							$query = $query . " AND Contact_Leverancier IN (SELECT Contact_ID FROM contact WHERE Contact_Naam LIKE '%".$_POST['Leverancier1']."%')";
+							$query = $query . " AND c.Contact_Leverancier IN (SELECT Contact_ID FROM contact WHERE Contact_Naam LIKE '%".$_POST['Leverancier1']."%')";
 						else if ($_POST['Leverancier2'] > 0)
-							$query = $query . " AND Contact_Leverancier = '".$_POST['Leverancier2']."'";
+							$query = $query . " AND c.Contact_Leverancier = '".$_POST['Leverancier2']."'";
 
 	  				//Leverdatum
 	  				if (isset($_POST['Lever_Datum1']) && isset($_POST['Lever_Tijd1']) && isset($_POST['Lever_Datum2']) && isset($_POST['Lever_Tijd2']) &&
 	  					 Datum_Geldigheid($_POST['Lever_Datum1'], $_POST['Lever_Tijd1']) && Datum_Geldigheid($_POST['Lever_Datum2'], $_POST['Lever_Tijd2']))
-							$query = $query . " AND Lever_Datum >= '".Datum_Tijd_Naar_DB_Conversie($_POST['Lever_Datum1'], $_POST['Lever_Tijd1'])."' AND Lever_Datum <= '".Datum_Tijd_Naar_DB_Conversie($_POST['Lever_Datum2'], $_POST['Lever_Tijd2'])."'";
+							$query = $query . " AND c.Lever_Datum >= '".Datum_Tijd_Naar_DB_Conversie($_POST['Lever_Datum1'], $_POST['Lever_Tijd1'])."' AND c.Lever_Datum <= '".Datum_Tijd_Naar_DB_Conversie($_POST['Lever_Datum2'], $_POST['Lever_Tijd2'])."'";
 
 	  				//Fabricatiedatum
 	  				if (isset($_POST['Fabr_Datum1']) && isset($_POST['Fabr_Tijd1']) && isset($_POST['Fabr_Datum2']) && isset($_POST['Fabr_Tijd2']) &&
 	  					 Datum_Geldigheid($_POST['Fabr_Datum1'], $_POST['Fabr_Tijd1']) && Datum_Geldigheid($_POST['Fabr_Datum2'], $_POST['Fabr_Tijd2']))
-							$query = $query . " AND Fabricatie_Datum >= '".Datum_Tijd_Naar_DB_Conversie($_POST['Fabr_Datum1'], $_POST['Fabr_Tijd1'])."' AND Fabricatie_Datum <= '".Datum_Tijd_Naar_DB_Conversie($_POST['Fabr_Datum2'], $_POST['Fabr_Tijd2'])."'";
+							$query = $query . " AND c.Fabricatie_Datum >= '".Datum_Tijd_Naar_DB_Conversie($_POST['Fabr_Datum1'], $_POST['Fabr_Tijd1'])."' AND c.Fabricatie_Datum <= '".Datum_Tijd_Naar_DB_Conversie($_POST['Fabr_Datum2'], $_POST['Fabr_Tijd2'])."'";
 
 	  				//Aangemaakt:
 	  				if (isset($_POST['Meld_Datum1']) && isset($_POST['Meld_Tijd1']) && isset($_POST['Meld_Datum2']) && isset($_POST['Meld_Tijd2']) &&
 	  					 Datum_Geldigheid($_POST['Meld_Datum1'], $_POST['Meld_Tijd1']) && Datum_Geldigheid($_POST['Meld_Datum2'], $_POST['Meld_Tijd2'])) {
-							$query = $query . " AND Comp_Lijst_ID IN (SELECT Comp_Lijst_ID FROM melding_lijst WHERE Voorgaande_Melding = 1 AND Meld_Datum >= '".Datum_Tijd_Naar_DB_Conversie($_POST['Meld_Datum1'], $_POST['Meld_Tijd1'])."' AND Meld_Datum <= '".Datum_Tijd_Naar_DB_Conversie($_POST['Meld_Datum2'], $_POST['Meld_Tijd2'])."')";	  				
+							$query = $query . " AND c.Comp_Lijst_ID IN (SELECT Comp_Lijst_ID FROM melding_lijst WHERE Voorgaande_Melding = 1 AND Meld_Datum >= '".Datum_Tijd_Naar_DB_Conversie($_POST['Meld_Datum1'], $_POST['Meld_Tijd1'])."' AND Meld_Datum <= '".Datum_Tijd_Naar_DB_Conversie($_POST['Meld_Datum2'], $_POST['Meld_Tijd2'])."')";	  				
 	  				}
 						
 	  				//de samengestelde query uitvoeren
@@ -188,6 +197,29 @@
 								?></select>
 		    			</td>
 		    		</tr>
+		    		<tr>
+		    			<td>Status:</td>
+		    			<td>
+		    				<select name="Status">
+		    				<?php
+			    				if (isset($_POST['Status']))
+			    					$selected = $_POST['Status'];
+			    				else $selected = -1;
+
+									echo("<option value=\"-1\"");
+									if($selected == -1) echo(" SELECTED");
+									echo(">None selected</option>");
+			    				$query = "SELECT * FROM status WHERE Status_ID";
+			    			  $resultaat = mysql_query($query);
+							  	while ($data = mysql_fetch_array($resultaat)) {
+										echo("<option value=\"".$data['Status_ID']."\"");
+										if ($selected == $data['Status_ID']) echo(" SELECTED");
+										echo(">".$data['Status']."</option>");
+							  	}									
+								?>
+								</select>
+		    			</td>
+		    		</tr>
 		    		<tr>
 		    			<td>Locatie:</td>
 		    			<td><input type="text" name="Locatie1" id="Locatie1" value="<?php if (isset($_POST['Locatie1'])) echo($_POST['Locatie1']); ?>" onchange="ResetSelectveld('Locatie1', 'Locatie2');">&nbspof&nbsp
-- 
GitLab