HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers59/ferrumbv.nl/wwwroot/kes/admin/importeren_bestand - kopie.php
<?php

$verificatie = $_POST['verificatie'];

$activatie_mail_sturen = false;

if($verificatie == "ja") { $activatie_mail_sturen = true; }
$kleur = true;

$data = array();

function add_person( $voornaam, $tussenvoegsel, $achternaam, $geslacht, $emailadres, $geboortedatum, $bedrijfsnaam, $telefoonnummer, $taal, $categorie_a, $categorie_b){
	global $data;

	$data []= array(
		'voornaam' => $voornaam,
		'tussenvoegsel' => $tussenvoegsel,
		'achternaam' => $achternaam,
		'geslacht' => $geslacht,
		'emailadres' => $emailadres,
		'geboortedatum' => $geboortedatum, 
		'bedrijfsnaam' => $bedrijfsnaam,
		'telefoonnummer' => $telefoonnummer,
		'taal' => $taal,
		'categorie_a' => $categorie_a,
		'categorie_b' => $categorie_b
	);
}

if ( $_FILES['file']['tmp_name'] ){
	$dom = DOMDocument::load( $_FILES['file']['tmp_name'] );
	$rows = $dom->getElementsByTagName( 'Row' );
	$first_row = true;
	foreach ($rows as $row)	{
		if ( !$first_row ){
			$voornaam = "";
			$tussenvoegsel = "";
			$achternaam = "";
			$geslacht = "";
			$emailadres = "";
			$geboortedatum = "";
			$bedrijfsnaam = "";
			$telefoonnummer = "";
			$taal = "";
			$categorie_a = "";
			$categorie_b = "";

			$index = 1;
			$cells = $row->getElementsByTagName( 'Cell' );
			foreach( $cells as $cell ){ 
				$ind = $cell->getAttribute( 'ss:Index' );
				if ( $ind != null ) $index = $ind;
			
				if ( $index == 1 ) $voornaam = $cell->nodeValue;
				if ( $index == 2 ) $tussenvoegsel = $cell->nodeValue;
				if ( $index == 3 ) $achternaam = $cell->nodeValue;
				if ( $index == 4 ) $geslacht = $cell->nodeValue;
				if ( $index == 5 ) $emailadres = $cell->nodeValue;
				if ( $index == 6 ) $geboortedatum = $cell->nodeValue;
				if ( $index == 7 ) $bedrijfsnaam = $cell->nodeValue;
				if ( $index == 8 ) $telefoonnummer = $cell->nodeValue;
				if ( $index == 9 ) $taal = $cell->nodeValue;
				if ( $index == 10 ) $categorie_a = $cell->nodeValue;
				if ( $index == 11 ) $categorie_b = $cell->nodeValue;
				
				$voornaam = checkData($voornaam);
				$tussenvoegsel = checkData($tussenvoegsel);
				$achternaam = checkData($achternaam);
				$geslacht = checkData($geslacht);
				$emailadres = checkData($emailadres);
				$geboortedatum = checkData($geboortedatum);
				$bedrijfsnaam = checkData($bedrijfsnaam);
				$telefoonnummer = checkData($telefoonnummer);
				$taal = checkData($taal);
				$categorie_a = checkData($categorie_a);
				$categorie_b = checkData($categorie_b);
			
				$index += 1;
			}
		add_person( $voornaam, $tussenvoegsel, $achternaam, $geslacht, $emailadres, $geboortedatum, $bedrijfsnaam, $telefoonnummer, $taal, $categorie_a, $categorie_b );
		}
	$first_row = false;
	}
}
?>

	<table cellpadding="5" cellspacing="0" border="0">
		<tr>
        	<th>Nr</th>
			<th>Voornaam</th>
            <th>Tussenvoegsel</th>
			<th>Achternaam</th>
            <th>Geslacht</th>
            <th>Emailadres</th>
            <th>Geboortedatum</th>
            <th>Bedrijfsnaam</th>
            <th>Telefoonnummer</th>
            <th>Taal</th>
            <th><center>Categorie A</center></th>
            <th><center>Categorie B</center></th>
            <th>Foutmeldingen</th>
		</tr>
	<?php 
	
	$counter = 0;
	
	foreach( $data as $row ) {
		
	if($kleur){
		$kleur = false;
	}else{
		$kleur = true;
	}
		
	$counter++;
	$voornaam = $row['voornaam'];
	$voornaam = trim($voornaam);
	$voornaam = utf8_decode($voornaam);
	$lengte_voornaam = strlen($voornaam);
	if(($lengte_voornaam > 1) && ($lengte_voornaam < 45)){
		$valid_voornaam = true;
	}else{
		$valid_voornaam = false;
	}
	
	$tussenvoegsel = $row['tussenvoegsel'];
	$tussenvoegsel = trim($tussenvoegsel);
	$tussenvoegsel = utf8_decode($tussenvoegsel);
	$lengte_tussenvoegsel = strlen($tussenvoegsel);
	if(($lengte_tussenvoegsel > 1) && ($lengte_tussenvoegsel < 45)){
		$valid_tussenvoegsel = true;
	}else{
		$valid_tussenvoegsel = false;
	}
	if(empty($tussenvoegsel)){ $valid_tussenvoegsel = true; }

	$achternaam = $row['achternaam'];
	$achternaam = trim($achternaam);
	$achternaam = utf8_decode($achternaam);
	$lengte_achternaam = strlen($achternaam);
	if(($lengte_achternaam > 1) && ($lengte_achternaam < 45)){
		$valid_achternaam = true;
	}else{
		$valid_achternaam = false;
	}

	$geslacht = $row['geslacht'];
	if($geslacht == "man"|| $geslacht == "vrouw"){
		$valid_geslacht = true;
	}else{
		$valid_geslacht = false;
	}
	if(!preg_match('/[\w-\.]+@([\w-]+\.)+[\w-]{2,4}/', $row['emailadres'])){ 
		$valid_emailadres = false;
		$al_geregistreerd = false;
	}else{
		$emailadres = $row['emailadres'];
		$emailadres = trim($emailadres);
		$lengte_emailadres = strlen($emailadres);
		$emailadres = strtolower($emailadres);
		if($lengte_emailadres < 250){
			$emailadres = checkData($emailadres);
			$q_mail = sprintf("SELECT kes_emailadressen.emailadres FROM kes_emailadressen WHERE emailadres='%s' LIMIT 0,1", $emailadres);
			$r_mail = mysql_query($q_mail);
			$rec_mail = mysql_fetch_assoc($r_mail);
			$data_mailadres = $rec_mail['emailadres'];
			if($data_mailadres != $emailadres){
					$valid_emailadres = true;
					$al_geregistreerd = false;
			}else{
				$valid_emailadres = false;
				$al_geregistreerd = true;
			}
		}else{
			$valid_emailadres = false;
			$al_geregistreerd = false;
		}
	}
	
	
	if(!empty($row['geboortedatum'])){
		$geboortedatum_reparatie = false;
		$getallen = explode('-', $row['geboortedatum']);
		$jaar = $getallen[0];
		$maand = $getallen[1];
		$dag = $getallen[2];   
		$dag = substr($dag, 0, 2);
		
		$dag = trim($dag);
		$maand = trim($maand);
		$jaar = trim($jaar);
		if(ereg("^[0-9]*$",$dag) && ereg("^[0-9]*$",$maand) && ereg("^[0-9]*$",$jaar) && !empty($dag) && !empty($maand) && !empty($jaar)){
			if(strlen($jaar)<4){
				$valid_geboortedatum = false;	
			}else if($jaar < 1900){
				$valid_geboortedatum = false;	
			}else{
				if(strlen($dag)<2){
					$dag = "0".$dag;
				}
				if(strlen($maand)<2){
					$maand = "0".$maand;
				}
				$geboortedatum = $jaar."-".$maand."-".$dag;
				if( checkdate($maand, $dag, $jaar) && ($jaar < date('Y')) ){
					$valid_geboortedatum = true;
					$geboortedatum_view = $dag."-".$maand."-".$jaar;
				}else{
					$valid_geboortedatum = false;
				}
			}
		}else if (empty($dag) && empty($maand) && empty($jaar)) {
			$valid_geboortedatum = true;	
			$geboortedatum = "0000-00-00";
			$geboortedatum_view = "00-00-0000";
		}else{
			$valid_geboortedatum = false;	  
		}
	}else{
		$valid_geboortedatum = true;	
		$geboortedatum = "0000-00-00";  
		$geboortedatum_view = "00-00-0000";
	}
	if($valid_geboortedatum != true){
		$geboortedatum = "0000-00-00";  
		$valid_geboortedatum = true;
		$geboortedatum_reparatie = true;
		$geboortedatum_view = "00-00-0000";
	}
	
	$bedrijfsnaam = $row['bedrijfsnaam'];
	$bedrijfsnaam = trim($bedrijfsnaam);
	$bedrijfsnaam = utf8_decode($bedrijfsnaam);
	$lengte_bedrijfsnaam = strlen($bedrijfsnaam);
	if($lengte_bedrijfsnaam < 250){
		$valid_bedrijfsnaam = true;
	}else{
		$valid_bedrijfsnaam = false;
	}
	
	$telefoonnummer = $row['telefoonnummer'];
	$telefoonnummer = trim($telefoonnummer);
	$telefoonnummer = str_replace("-","",$telefoonnummer);
	$telefoonnummer = str_replace(" ","",$telefoonnummer);
	$telefoonnummer = str_replace("+","00",$telefoonnummer);
	if(ereg("^[0-9]*$",$telefoonnummer)){
		$lengte_telnr = strlen($telefoonnummer);
		if($lengte_telnr == 10 || $lengte_telnr == 13){
			$valid_telefoonnummer = true;
		}else{
			$valid_telefoonnummer = false;
		}
	}else{ 
		$valid_telefoonnummer = false;
	}

	if(empty($telefoonnummer)){ $valid_telefoonnummer = true; }
	
	$taal = $row['taal'];
	$taal = trim($taal);
	$taal = strtolower($taal);
	
	if(empty($taal)){ $taal = "nederlands"; }
	
	if($taal == "nederlands" || $taal == "frans" || $taal == "duits" || $taal == "engels" || $taal == "spaans"){
		$valid_taal = true;
	}else{
		$valid_taal = false;
	}
	
	$categorie_a = $row['categorie_a'];
	$categorie_a = trim($categorie_a);
	$categorie_a = utf8_decode($categorie_a);
	$categorie_a = strtolower($categorie_a);
	$categorie_a = str_replace(" ","",$categorie_a);
	$lengte_categorie_a= strlen($categorie_a);
	if(($lengte_categorie_a > 0) && ($lengte_categorie_a < 25)){
		$valid_categorie_a = true;
	}else{
		$valid_categorie_a = false;
	}
	
	if(empty($categorie_a)){ $valid_categorie_a = true; $categorie_a = "import_bestand"; }
	
	$categorie_b = $row['categorie_b'];
	$categorie_b = trim($categorie_b);
	$categorie_b = utf8_decode($categorie_b);
	$categorie_b = strtolower($categorie_b);
	$categorie_b = str_replace(" ","",$categorie_b);
	$lengte_categorie_b = strlen($categorie_b);
	if($lengte_categorie_b < 25){
		$valid_categorie_b = true;
	}else{
		$valid_categorie_b = false;
	}
	
	if($valid_voornaam && $valid_tussenvoegsel && $valid_achternaam && $valid_geslacht && $valid_emailadres && $valid_geboortedatum && $valid_bedrijfsnaam && $valid_telefoonnummer && $valid_taal && $valid_categorie_a && $valid_categorie_b && !$al_geregistreerd){
		
		if($taal == "nederlands"){ $taal_afkorting = "nl"; }else if($taal == "engels"){ $taal_afkorting = "en"; 
			}else if($taal == "duits"){ $taal_afkorting = "de"; }else if($taal == "frans"){ $taal_afkorting = "fr"; 
			}else if($taal == "spaans"){ $taal_afkorting = "sp"; }
			
		
		include_once("../config/all_kes_con_".$taal_afkorting.".php");
	
		$datum = date("Y-m-d");
		$tijd = date("H:i:s");  
		$password = "";
		for ($i=1;$i<=15;$i++){
			$trap=rand(0,32);
			$password=$password.substr("abcdefghkmnopqrstuvwxyz1234567890",$trap,1);
		}
		$code=strtoupper($password);
		
		$password_client = "";
		for ($i=1;$i<=15;$i++){
			$trap_client=rand(0,32);
			$password_client=$password_client.substr("abcdefghkmnopqrstuvwxyz1234567890",$trap_client,1);
		}
		$code_client=strtoupper($password_client);
		
		if($activatie_mail_sturen){
			$geactiveerd = "nee";
		}else{
			$geactiveerd = "ja";
		}
		
		if($geslacht == "man"){
			$aanhef = $config['taal']['aanhef_man'];
		}else{
			$aanhef = $config['taal']['aanhef_vrouw'];
		}
		$config['user']['aanhef'] = $aanhef;
		$config['user']['voornaam'] = $voornaam;
		$config['user']['tussenvoegsel'] = $tussenvoegsel;
		$config['user']['achternaam'] = $achternaam;
		$config['user']['bedrijfsnaam'] = $bedrijfsnaam;
		
		$status = "open";
		$ip = "0000";
		$verwijderd = "nee";
		$source = "file_import";
		
		$voornaam = checkData($voornaam);
		$voornaam = htmlentities($voornaam);
		$tussenvoegsel = checkData($tussenvoegsel);
		$tussenvoegsel = htmlentities($tussenvoegsel);
		$achternaam = checkData($achternaam);
		$achternaam = htmlentities($achternaam);
		$geslacht = checkData($geslacht);
		$geboortedatum = checkData($geboortedatum);
		$emailadres = checkData($emailadres);
		$bedrijfsnaam = checkData($bedrijfsnaam);
		$bedrijfsnaam = htmlentities($bedrijfsnaam);
		$telefoonnummer = checkData($telefoonnummer);
		$taal = checkData($taal);
		$categorie_a = checkData($categorie_a);
		$categorie_b = checkData($categorie_b);
		$hash_combi = $emailadres . $code;
		$hash = md5($hash_combi);
		
		$q_account = sprintf("INSERT INTO kes_emailadressen (voornaam, tussenvoegsel, achternaam, geslacht, bedrijfsnaam, telefoonnummer, geboortedatum, emailadres, code, client_code, geactiveerd, status, taal, categorie_a, categorie_b, datum_in, tijd_in, verwijderd, source, ip, hash) VALUES ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')", 
		$voornaam,
		$tussenvoegsel,
		$achternaam,
		$geslacht,
		$bedrijfsnaam,
		$telefoonnummer,
		$geboortedatum,
		$emailadres,
		$code,
		$code_client,
		$geactiveerd,
		$status,
		$taal,
		$categorie_a,	
		$categorie_b,
		$datum, 
		$tijd,
		$verwijderd,
		$source,
		$ip,
		$hash);
		
		$r_account = mysql_query($q_account);
		
		if($activatie_mail_sturen){
			
			$config['user']['link'] = $config['kes']['website']."index.php?p=activeren&h=".$hash."&lang=".$taal_afkorting;
	
			include_once("../config/vars_".$taal_afkorting.".php");
	
			require_once '../phpmailer/class.phpmailer.php';
			
			
	
			$bericht = "\n
	
<body style=\"margin: 10px; background-color:#".$config['klant']['kleur_backgr'].";\">
<style>
a{
	color:#".$config['klant']['kleur_links'].";
	text-decoration:".$config['klant']['opmaak_links'].";
}
</style>
<div style=\"color:#".$config['klant']['kleur_tekst']."; font-family:Verdana,Geneva,sans-serif; font-size:".$config['klant']['font_grootte']."px; line-height:18px; padding-bottom:23px; width: 480px;\">
<br>
<br>

".$config['klant']['email_aanhef']."<br><br>

".$config['taal']['email_importeren']."

".$config['klant']['naam']."<br><br>
".$config['klant']['email_logo']."

".$config['taal']['email_importeren_ps']."
</div>
</body>";

			$send_message = false;
	
			if($r_account){
				
				if(empty($tussenvoegsel)){
	   				$naam = $voornaam." ".$achternaam;
				}else{
					$naam = $voornaam." ".$tussenvoegsel." ".$achternaam;
				}
		
				$mail = new PHPMailer(true); //defaults to using php "mail()"; the true param means it will throw exceptions on errors, which we need to catch
				
				try {
					$mail->AddReplyTo($config['klant']['emailadres'], $config['klant']['naam']);
					$mail->AddAddress($emailadres, $naam);
					$mail->SetFrom($config['klant']['emailadres'], $config['klant']['naam']);
					$mail->AddReplyTo($config['klant']['emailadres'], $config['klant']['naam']);
					$mail->Subject = $config['taal']['onderwerp_importeren'];
					$mail->MsgHTML($bericht);
					if($config['klant']['logo_aanwezig'] ==  "ja"){
						$mail->AddAttachment($_SERVER['DOCUMENT_ROOT']."/img/logo.gif", "logo.gif");      // attachment
					}
					$mail->Send();
					$send_message = true;
				} catch (phpmailerException $e) {
					$send_message = false;
					echo $e->errorMessage(); //Pretty error messages from PHPMailer
				} catch (Exception $e) {
					$send_message = false;
					echo $e->getMessage(); //Boring error messages from anything else!
				}
		
			}
		}
	
	}?>
    
    <?php 
	
		$error = false;
		
		if($al_geregistreerd || !$valid_voornaam || !$valid_tussenvoegsel || !$valid_achternaam || !$valid_geslacht || !$valid_bedrijfsnaam || !$valid_telefoonnummer || !$valid_taal || !$valid_categorie_a || !$valid_categorie_b || (!$valid_emailadres && !$al_geregistreerd) || $geboortedatum_reparatie || ($activatie_mail_sturen && !$send_message)){ 
			$error = true;
		}		
		
	?>
    <?php if(!empty($row['emailadres'])){?>
		<tr <?php if($kleur && $error){ echo("style=\"background-color:#e6e8eb; color:#F00;\""); } else if ($kleur && !$error){echo("style=\"background-color:#e6e8eb;\""); } else if (!$kleur && !$error){echo("style=\"\""); } else if(!$kleur && $error){ echo("style=\"color:#F00;\""); }?> >
        	<td><?php echo( $counter ); ?></td>
            <td><?php echo( utf8_decode($row['voornaam'] )); ?></td>
            <td><?php echo( utf8_decode($row['tussenvoegsel'] )); ?></td>
            <td><?php echo( utf8_decode($row['achternaam'] )); ?></td>
            <td><?php echo( $row['geslacht'] ); ?></td>
            <td><?php echo( $row['emailadres'] ); ?></td>
            <td><?php echo( $geboortedatum_view ); ?></td>
            <td><?php echo( utf8_decode($row['bedrijfsnaam'] )); ?></td>
            <td><?php echo( $row['telefoonnummer'] ); ?></td>
            <td><?php echo( $row['taal'] ); ?></td>
            <td><?php echo( $row['categorie_a'] ); ?></td>
            <td><?php echo( $row['categorie_b'] ); ?></td>
            
            	<td><?php
				
				if($al_geregistreerd){ echo("E-mailadres was al geregistreerd. <br />"); }
				if(!$valid_voornaam){ echo("Opgegeven voornaam is ongeledig. <br />"); }
				if(!$valid_tussenvoegsel){ echo("Opgegeven tussenvoegsel is ongeledig. <br />"); }
				if(!$valid_achternaam){ echo("Opgegeven achternaam is ongeledig. <br />"); }
				if(!$valid_geslacht){ echo("Opgegeven geslacht is ongeledig. <br />"); }
				if(!$valid_emailadres && !$al_geregistreerd){ echo("Opgegeven e-mailadres is ongeledig. <br />"); }
				if($geboortedatum_reparatie){ echo("Geboortedatum was onjuist en is nu verwijderd. <br />"); }
				if(!$valid_bedrijfsnaam){ echo("Opgegeven bedrijfsnaam is te lang. <br />"); }
				if(!$valid_telefoonnummer){ echo("Opgegeven telefoonnummmer is ongeledig. <br />"); }
				if(!$valid_taal){ echo("Opgegeven taal is ongeledig. <br />"); }
				if(!$valid_categorie_a){ echo("Opgegeven categorie A is te lang. <br />"); }
				if(!$valid_categorie_b){ echo("Opgegeven categorie B is te lang. <br />"); }
				if($activatie_mail_sturen && !$send_message){ echo("<strong>Bevestigingse-mail is niet verstuurd.</strong>"); }
				
				
				?></td>
		</tr>
	<?php } 
	}?>
	</table>