From b8c28f153bab457dee5b7cfe19a5d76e84745027 Mon Sep 17 00:00:00 2001
From: warmels <sdos@astron.nl>
Date: Fri, 20 Jul 2007 12:04:31 +0000
Subject: [PATCH] BugID: 1079

diverse bugs opgelost
---
 .../CRAFT/admin_contacten/verwijderen.php     | 67 ++++++++++++++-----
 .../comp_bewerken.php                         |  5 +-
 support/tool/CRAFT/includes/tree_items.php    | 25 ++++---
 support/tool/CRAFT/main/start.php             | 10 +--
 4 files changed, 75 insertions(+), 32 deletions(-)

diff --git a/support/tool/CRAFT/admin_contacten/verwijderen.php b/support/tool/CRAFT/admin_contacten/verwijderen.php
index 5f22eaeadf9..033d3b35cd2 100644
--- a/support/tool/CRAFT/admin_contacten/verwijderen.php
+++ b/support/tool/CRAFT/admin_contacten/verwijderen.php
@@ -1,5 +1,5 @@
 <?php
-	if(isset($_SESSION['admin_Deel'])){
+	if(isset($_SESSION['admin_deel'])){
 		$_SESSION['admin_deel'] = 7;
 	  $_SESSION['huidige_pagina'] = $_SESSION['pagina'] . 'admin.php?p='.$_SESSION['admin_deel'].'&s=3';
 	  
@@ -39,25 +39,58 @@
 								$row = mysql_fetch_row($resultaat);
 								
 								echo('U heeft het type "'. $row[0] .'" geselecteerd:<br>');
-								//kijken of dit contact deel uitmaakt van een hierarchie
-								$query2 = "SELECT Count(Contact_Parent) FROM contact WHERE Contact_Parent = ". $_GET['c'] ." GROUP BY Contact_Parent";
+								
+								//kijken of er verwijzingen naar dit contact in de comp_lijst tabel aanwezig zijn.
+								$query2 = "SELECT Count(Contact_Fabricant) FROM comp_lijst WHERE Contact_Fabricant = '".$_GET['c']."'";
+								$resultaat2 = mysql_query($query2);
+								$row1 = mysql_fetch_row($resultaat2);
+								$contact_gevonden = false;
+								if ($row1[0] != 0 ) $contact_gevonden = true;
+								$query2 = "SELECT Count(Contact_Leverancier) FROM comp_lijst WHERE Contact_Leverancier = '".$_GET['c']."'";
 								$resultaat2 = mysql_query($query2);
 								$row1 = mysql_fetch_row($resultaat2);
-								//geen childs gevonden, dit is dus het onderste deel van een hierarchie
-								//er mag verwijderd worden!!!!!!!!!!!!!!!
-								if ($row1[0] == NULL) {
-									//FORMPJE MAKEN!!!!!!!!!!!!!!!!!!!!!
-									?>
-							    	<form name="theForm" method="post" action="<?php echo($_SESSION['huidige_pagina']); ?>&c=<?php echo($_GET['c']); ?>">
-							    		<table>
-							    			<tr><td><input type="hidden" name="contact" value="<?php echo($_GET['c']);?>">Weet u zeker dat u dit contact verwijderen wilt?</td></tr>
-							    			<tr><td><input type="CheckBox" name="confirmatie"> Ja, ik wil dit contact verwijderen</td></tr>
-							    			<tr><td><input type="hidden" name="verwijderen" value="1"><a href="javascript:document.theForm.submit();">Verwijderen</a></td></tr>
-							    		</table>
-							    	</form>
-									<?php
+								if ($row1[0] != 0 ) $contact_gevonden = true;
+								
+								//false wanneer er verwijzingen naar dit contact in de componenten lijst gevonden zijn
+								if(!$contact_gevonden) {
+									
+									//kijken of er verwijzingen naar dit contact in de comp_type tabel aanwezig zijn.
+									$query2 = "SELECT Count(Gefabriceerd_Door) FROM comp_type WHERE Gefabriceerd_Door = '".$_GET['c']."'";
+									$resultaat2 = mysql_query($query2);
+									$row1 = mysql_fetch_row($resultaat2);
+									$contact_gevonden = false;
+									if ($row1[0] != 0 ) $contact_gevonden = true;
+									$query2 = "SELECT Count(Geleverd_Door) FROM comp_type WHERE Geleverd_Door = '".$_GET['c']."'";
+									$resultaat2 = mysql_query($query2);
+									$row1 = mysql_fetch_row($resultaat2);
+									if ($row1[0] != 0 ) $contact_gevonden = true;
+
+									//false wanneer er verwijzingen naar dit contact in de componenten type tabel gevonden zijn
+									if(!$contact_gevonden) {
+									
+										//kijken of dit contact deel uitmaakt van een hierarchie
+										$query2 = "SELECT Count(Contact_Parent) FROM contact WHERE Contact_Parent = ". $_GET['c'] ." GROUP BY Contact_Parent";
+										$resultaat2 = mysql_query($query2);
+										$row1 = mysql_fetch_row($resultaat2);
+										//geen childs gevonden, dit is dus het onderste deel van een hierarchie
+										//er mag verwijderd worden!!!!!!!!!!!!!!!
+										if ($row1[0] == NULL) {
+											//FORMPJE MAKEN!!!!!!!!!!!!!!!!!!!!!
+											?>
+									    	<form name="theForm" method="post" action="<?php echo($_SESSION['huidige_pagina']); ?>&c=<?php echo($_GET['c']); ?>">
+									    		<table>
+									    			<tr><td><input type="hidden" name="contact" value="<?php echo($_GET['c']);?>">Weet u zeker dat u dit contact verwijderen wilt?</td></tr>
+									    			<tr><td><input type="CheckBox" name="confirmatie"> Ja, ik wil dit contact verwijderen</td></tr>
+									    			<tr><td><input type="hidden" name="verwijderen" value="1"><a href="javascript:document.theForm.submit();">Verwijderen</a></td></tr>
+									    		</table>
+									    	</form>
+											<?php
+										}
+										else echo("Dit contact heeft onderliggende contacten, welke naar dit contact verwijzen.<br>Hierdoor kan dit contact niet verwijderd worden!");
+									}
+									else echo("Dit contact wordt gebruikt bij een of meer type componenten.<br>Hierdoor kan dit contact niet verwijderd worden!");
 								}
-								else echo("Dit contact heeft onderliggende contacten, welke naar dit contact verwijzen.<br>Hierdoor kan dit type niet verwijderd worden!");
+								else echo("Dit contact wordt gebruikt bij een of meer componenten.<br>Hierdoor kan dit contact niet verwijderd worden!");
 							}
 							else echo("Er is geen contact geselecteerd om te verwijderen<br>Selecteer hiernaast een contact.");
 						}
diff --git a/support/tool/CRAFT/algemene_functionaliteit/comp_bewerken.php b/support/tool/CRAFT/algemene_functionaliteit/comp_bewerken.php
index 217bf816ce9..9856475a578 100644
--- a/support/tool/CRAFT/algemene_functionaliteit/comp_bewerken.php
+++ b/support/tool/CRAFT/algemene_functionaliteit/comp_bewerken.php
@@ -99,7 +99,7 @@
 	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)";
+		$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']."'";
 
 		//het toevoegen van een statusdatum: eerst kijken of er 1 ingevuld is, anders de huidige datum gebruiken...
@@ -108,7 +108,8 @@
 			$query_melding = $query_melding . ", '". $datum[2]."-".$datum[1]."-".$datum[0] ." ". $_POST['statustijd'] .":00'";							
 		}
 		else $query_melding = $query_melding . ", NOW()";
-		$query_melding = $query_melding . ", '". $_POST['hidden_status'] ."', '". $_POST['Voorgaande_Melding'] ."', '". htmlentities($_POST['hidden_melding'], ENT_QUOTES) ."', '". $_SESSION['gebr_id'] ."', '". $_SESSION['gebr_id'] ."') ";
+		$query_melding = $query_melding . ", '". $_POST['hidden_status'] ."', '". $_POST['Voorgaande_Melding'] ."', '". htmlentities($_POST['hidden_melding'], ENT_QUOTES);
+		$query_melding = $query_melding . "', '". $_SESSION['gebr_id'] . "', '". $_SESSION['gebr_id'] ."', '" . $_POST['comp_locatie'] ."') ";
 
 		mysql_query($query_melding);
 		$melding_id = mysql_insert_id();
diff --git a/support/tool/CRAFT/includes/tree_items.php b/support/tool/CRAFT/includes/tree_items.php
index 94b8632b5d2..6b179f634f8 100644
--- a/support/tool/CRAFT/includes/tree_items.php
+++ b/support/tool/CRAFT/includes/tree_items.php
@@ -142,17 +142,20 @@
   function Bepaal_Comp_Lijst() {
   	$Collectie = array();
 
-  	$query = "SELECT Comp_Type FROM comp_type WHERE Comp_Type IN (SELECT Comp_Type_ID FROM gebruikersgroeprechten WHERE Groep_ID = '". $_SESSION['groep_id'] ."')";
+  	$query = "SELECT Comp_Type_ID, onderliggende_Data FROM gebruikersgroeprechten WHERE Groep_ID = '". $_SESSION['groep_id'] ."'";
   	$result = mysql_query($query);
 		$row = mysql_fetch_array($result);
-		if ($row['Comp_Type'] != 1) {
-	  	$query = "SELECT Comp_Lijst_ID, Comp_Naam FROM comp_lijst WHERE Comp_Type_ID = '".$row['Comp_Type']."'";
+  	
+		if ($row['Comp_Type_ID'] != 1) {
+	  	$query = "SELECT Comp_Lijst_ID, Comp_Naam FROM comp_lijst WHERE Comp_Type_ID = '".$row['Comp_Type_ID']."'";
   		$resultaat = mysql_query($query);
     	while ($data = mysql_fetch_array($resultaat)) {
 				$Comp_Type = new Type_Object();
 				$Comp_Type->Set_ID($data['Comp_Lijst_ID'],$data['Comp_Naam']);
-		  	$num_rows = mysql_num_rows(mysql_query($query));		
-		  	if ($num_rows > 0) $Comp_Type->Add(Comp_Lijst($data['Comp_Lijst_ID']));
+		  	if ($row['onderliggende_Data'] == 1) {
+		  		$num_rows = mysql_num_rows(mysql_query($query));		
+		  		if ($num_rows > 0) $Comp_Type->Add(Comp_Lijst($data['Comp_Lijst_ID']));
+		  	}
 	  		array_push($Collectie, $Comp_Type);
 	  		$Comp_Type = NULL;
     	}
@@ -165,7 +168,11 @@
   function Bepaal_Comp_Type_Lijst() {
   	$Collectie = array();
 
-  	$query = "SELECT Comp_Type, Type_Naam FROM comp_type WHERE Comp_Type IN (SELECT Comp_Type_ID FROM gebruikersgroeprechten WHERE Groep_ID = '". $_SESSION['groep_id'] ."')";
+  	$query = "SELECT Comp_Type_ID, onderliggende_Data FROM gebruikersgroeprechten WHERE Groep_ID = '". $_SESSION['groep_id'] ."'";
+  	$result = mysql_query($query);
+		$rechten = mysql_fetch_array($result);
+
+  	$query = "SELECT Comp_Type, Type_Naam FROM comp_type WHERE Comp_Type = '".$rechten['Comp_Type_ID']."'";
   	$result = mysql_query($query);
 		$row = mysql_fetch_array($result);
 
@@ -173,8 +180,10 @@
 			$Comp_Type = new Type_Object();
 			$Comp_Type->Set_ID($row['Comp_Type'],$row['Type_Naam']);
 	  	$query = 'SELECT Comp_Type, Type_Naam FROM comp_type WHERE Type_Parent = '.$row['Comp_Type'];
-	  	$num_rows = mysql_num_rows(mysql_query($query));		
-	  	if ($num_rows > 0) $Comp_Type->Add(Comp_Type_Lijst($row['Comp_Type']));
+	  	if($rechten['onderliggende_Data'] == 1) {
+	  		$num_rows = mysql_num_rows(mysql_query($query));		
+		  	if ($num_rows > 0) $Comp_Type->Add(Comp_Type_Lijst($row['Comp_Type']));
+		  }
 	  	array_push($Collectie, $Comp_Type);
 	  	$Comp_Type = NULL;
 	  }
diff --git a/support/tool/CRAFT/main/start.php b/support/tool/CRAFT/main/start.php
index 0eaa73fa6ac..26004a6a275 100644
--- a/support/tool/CRAFT/main/start.php
+++ b/support/tool/CRAFT/main/start.php
@@ -30,7 +30,7 @@
 					$row = mysql_fetch_array($res);
 					if ($row[0] != 0) {
 						echo("<b id=\"zwart\">Toegevoegde meldingen:</b><br>");
-	   				echo("<iframe id=\"frame_type\" name=\"frame_type\" align=\"middle\" marginwidth=\"0\" marginheight=\"0\" src=\"". $_SESSION['pagina'] ."main_meldingen/Meldingen_Overzicht.php\" width=\"650\" height=\"110\" ALLOWTRANSPARENCY frameborder=\"0\" scrolling=\"auto\"></iframe>");
+	   				echo("<iframe id=\"frame_type\" name=\"frame_type\" align=\"middle\" marginwidth=\"0\" marginheight=\"0\" src=\"". $_SESSION['pagina'] ."main_meldingen/Meldingen_Overzicht.php\" width=\"650\" height=\"110\" ALLOWTRANSPARENCY frameborder=\"0\" scrolling=\"auto\"></iframe><br>");
 	   			}
 	   			else echo("<b id=\"zwart\">Er zijn sinds uw laatste inlog geen meldingen toegevoegd.</b><br>");
 
@@ -41,8 +41,8 @@
 					$row = mysql_fetch_array($res);
 
 					if ($row[0] != 0) {
-						echo("<br><br><b id=\"zwart\">Toegevoegde componenten:</b><br>");
-   					echo("<iframe id=\"frame_comp\" name=\"frame_comp\" align=\"middle\" marginwidth=\"0\" marginheight=\"0\" src=\"". $_SESSION['pagina'] ."main_componenten/Comp_Overzicht.php\" width=\"650\" height=\"110\" ALLOWTRANSPARENCY frameborder=\"0\" scrolling=\"auto\"></iframe>");
+						echo("<br><b id=\"zwart\">Toegevoegde componenten:</b><br>");
+   					echo("<iframe id=\"frame_comp\" name=\"frame_comp\" align=\"middle\" marginwidth=\"0\" marginheight=\"0\" src=\"". $_SESSION['pagina'] ."main_componenten/Comp_Overzicht.php\" width=\"650\" height=\"110\" ALLOWTRANSPARENCY frameborder=\"0\" scrolling=\"auto\"></iframe><br>");
    				} 
 	   			else echo("<b id=\"zwart\">Er zijn sinds uw laatste inlog geen componenten toegevoegd.</b><br>");   				
 
@@ -50,8 +50,8 @@
 				  $res = mysql_query($query);
 					$row = mysql_fetch_array($res);
 					if ($row[0] != 0) {
-						echo("<br><br><b id=\"zwart\">Toegevoegde componenttypes:</b><br>");
-	   				echo("<iframe id=\"frame_type\" name=\"frame_type\" align=\"middle\" marginwidth=\"0\" marginheight=\"0\" src=\"". $_SESSION['pagina'] ."main_componenten/Type_Overzicht.php\" width=\"650\" height=\"110\" ALLOWTRANSPARENCY frameborder=\"0\" scrolling=\"auto\"></iframe>");
+						echo("<br><b id=\"zwart\">Toegevoegde componenttypes:</b><br>");
+	   				echo("<iframe id=\"frame_type\" name=\"frame_type\" align=\"middle\" marginwidth=\"0\" marginheight=\"0\" src=\"". $_SESSION['pagina'] ."main_componenten/Type_Overzicht.php\" width=\"650\" height=\"110\" ALLOWTRANSPARENCY frameborder=\"0\" scrolling=\"auto\"></iframe><br>");
 	   			}
 	   			else echo("<b id=\"zwart\">Er zijn sinds uw laatste inlog geen componenttypes toegevoegd.</b><br>");
     	
-- 
GitLab