<?php 
/****************************************************************/
/*          e-mo.pl © 2017                                      */
/*          http://www.e-mo.com.pl                              */
/*          e-mail: info@e-mo.pl                                */
/*          produkt: Action2osCommerce                          */
/*          wersja: 1.9.7                                       */
/*          webserwis: oscGold                                  */
/*          sciezka: https://www.e-mo.com.pl/plikit,1918,533545b244d7d.php*/
/*          data: 2017-09-25                                    */
/*          godz: 10:45:12                                      */
/****************************************************************/




@require_once('source/firmy_adresy.php');
@require_once('source/uzytkownicy.php');



$dom = new DOMDocument();
$doc->preserveWhiteSpace = false;
$dom->loadXML(stripslashes($_POST['paczka']));

//echo stripslashes($_POST['paczka']);
$xpath = new DOMXPath($dom);

// We starts from the root element
$query = '//Kontrahenci/Kontrahent';

$entries = $xpath->query($query);

echo '<kontrahenci>'; 

$error=false;

foreach ($entries as $entry)
{ 
	$db->Begin();
	$error=false;
	$nip = $entry->getAttribute('Nip');
   
	if(!empty($nip))
	{
			$query3 = '//Kontrahenci/Kontrahent[@Id=\''.$entry->getAttribute('Id').'\']/Pracownicy/Pracownik';
			echo '<kontrahent>';
			$entries3 = $xpath->query($query3);
			echo '<pracownicy>';

			foreach ($entries3 as $entry3)
			{
				echo '<pracownik id="'.$entry3->getAttribute('Id').'"';

				$user = new uzytkownicy();
								
				$user->Conn = $db->Conn;
			
				$user->u_Imie =  $entry3->getAttribute('Imie');
				$user->u_Nazwisko =  $entry3->getAttribute('Nazwisko');
				$user->u_User =  $entry->getAttribute('Email');
				$user->u_Telefon = $entry->getAttribute('Telefon');
				$user->u_Pwd = md5(uniqid(rand(), true));
				
				
				if($user->ZnajdzId($entry->getAttribute('Email')) == 0 )
				{
					$user->Dodaj();
					$user->u_customers_info_id = $user->u_Id;
					$user->u_customers_info_date_account_created = date("Y-m-d");
					$user->DodajInfo();
									
					if(empty($user->errMsg))
					{
						echo ' msg="OK"';
						echo ' error="0"';
					}
					else
					{				
						//echo ' msg="'.sprintf("user: %s", $user->errMsg[2]).'"';
						echo ' error="1"';
						$error=true;
					}
				} 
				else 
				{
						echo ' msg="Użytkownik istnieje"';
						echo ' error="0"';
				}
				
				echo ' sklepId="'.$user->u_Id.'"';
				echo ' />';
				
				

			}
			
			echo '</pracownicy>';
			
			echo '<adresy>';

			$query2 = '//Kontrahenci/Kontrahent[@Id=\''.$entry->getAttribute('Id').'\']/Adresy/Adres';

			$entries2 = $xpath->query($query2);

			foreach ($entries2 as $entry2)
			{
				echo '<adres id="'.$entry2->getAttribute('Id').'"';
				$adres = new firmy_adresy();
				$adres->Conn = $db->Conn;
				
				
				$adres->fa_customer_id = $user->u_Id;
				$adres->fa_Nazwa = $entry2->getAttribute('Nazwa');
				$adres->fa_NIP = $entry2->getAttribute('NIP');
				//print_r($adres->ZnajdzIdKraju($entry2->getAttribute('ISO')));
				$adres->fa_countries_id = $adres->ZnajdzIdKraju($entry2->getAttribute('ISO'));
				$adres->fa_Miasto = $entry2->getAttribute('Miasto');
				$adres->SprawdzFirme($user->u_Id);				
			    $numer = $entry2->getAttribute('Numer');
				$lokal = $entry2->getAttribute('Lokal');
				if(empty($numer) || empty($lokal))
		        {
				 $adres->fa_Ulica = $entry2->getAttribute('Ulica').' '.$entry2->getAttribute('Numer').$entry2->getAttribute('Lokal');
				}
				else
				{
				 $adres->fa_Ulica = $entry2->getAttribute('Ulica').' '.$entry2->getAttribute('Numer').'/'.$entry2->getAttribute('Lokal');
				}
				$adres->fa_Kod = $entry2->getAttribute('Kod');
							
								
				$adres->fa_Id=$adres->GetId();

				if($adres->fa_Id==0)
				{
					$adres->Dodaj();
					
					echo ' action="Dodaj"';
					if(empty($adres->errMsg))
					{
						echo ' msg="OK"';
						echo ' error="0"';
					}
					else
					{
						$error=true;
						echo ' msg="'.$adres->errMsg[2].'"';
						echo ' error="1"';
									
					}
				}
				else 
				{
						echo ' msg="Użytkownik istnieje"';
						echo ' error="0"';
				}
				
				echo ' sklepId="'.$adres->fa_Id=$adres->GetId().'"';
				$user->UpdateAdres($adres->fa_Id);
				echo ' />';
				
			}
			echo '</adresy>';
			
			
			echo '</kontrahent>';
            $user=null;
	}
	else
	{
		echo '<kontrahent ';
		echo 'id="'.$entry->getAttribute('Id').'"';

		$user_o = new uzytkownicy();
		$user_oAdres = new firmy_adresy();
		$user_o->Conn = $db->Conn;
		$user_oAdres->Conn = $db->Conn;
		
		
		$user_o->u_Imie =  $entry->getAttribute('Imie');
		$user_o->u_Nazwisko =  $entry->getAttribute('Nazwisko');
		$user_o->u_User =  $entry->getAttribute('Email');
		$user_o->u_Telefon = $entry->getAttribute('Telefon');
		$user_o->u_Pwd = md5(uniqid(rand(), true));
        if($user_o->ZnajdzId($entry->getAttribute('Email')) == 0 )
					{
						$user_o->Dodaj();
						$user_o->u_customers_info_id = $user_o->u_Id;
						$user_o->u_customers_info_date_account_created = date("Y-m-d");
						$user_o->DodajInfo();				
						if(empty($user_o->errMsg))
						{
							echo ' msg="OK"';
							echo ' error="0"';
						}
						else
						{				
							//echo ' msg="'.sprintf("user: %s", $user->errMsg[2]).'"';
							echo ' error="1"';
							$error=true;
						}
					} 
					else 
					{
							echo ' msg="Użytkownik istnieje"';
							echo ' error="0"';
					}		
		
				echo ' />';
		
		echo '<adresy>';

			$query2 = '//Kontrahenci/Kontrahent[@Id=\''.$entry->getAttribute('Id').'\']/Adresy/Adres';

			$entries2 = $xpath->query($query2);

			foreach ($entries2 as $entry2)
			{
				echo '<adres id="'.$entry2->getAttribute('Id').'"';
				$adres = new firmy_adresy();
				$adres->Conn = $db->Conn;
				
				
				$adres->fa_customer_id = $user_o->u_Id;
				$adres->fa_Nazwa = $entry2->getAttribute('Nazwa');
				//$adres->fa_NIP = $entry2->getAttribute('NIP');
				//print_r($adres->ZnajdzIdKraju($entry2->getAttribute('ISO')));
				$adres->fa_countries_id = $adres->ZnajdzIdKraju($entry2->getAttribute('ISO'));
				$adres->fa_Miasto = $entry2->getAttribute('Miasto');
				$adres->SprawdzFirme($user_o->u_Id);				
			    $numer = $entry2->getAttribute('Numer');
				$lokal = $entry2->getAttribute('Lokal');
				if(empty($numer) || empty($lokal))
		        {
				 $adres->fa_Ulica = $entry2->getAttribute('Ulica').' '.$entry2->getAttribute('Numer').$entry2->getAttribute('Lokal');
				}
				else
				{
				 $adres->fa_Ulica = $entry2->getAttribute('Ulica').' '.$entry2->getAttribute('Numer').'/'.$entry2->getAttribute('Lokal');
				}
				$adres->fa_Kod = $entry2->getAttribute('Kod');
							
								
				$adres->fa_Id=$adres->GetId();

				if($adres->fa_Id==0)
				{
					$adres->Dodaj();
					
					echo ' action="Dodaj"';
					if(empty($adres->errMsg))
					{
						echo ' msg="OK"';
						echo ' error="0"';
					}
					else
					{
						$error=true;
						echo ' msg="'.$adres->errMsg[2].'"';
						echo ' error="1"';
									
					}
				}
				else 
				{
						echo ' msg="Użytkownik istnieje"';
						echo ' error="0"';
				}
				
				echo ' sklepId="'.$adres->fa_Id=$adres->GetId().'"';
				$user_o->UpdateAdres($adres->fa_Id);
				echo ' />';
				
			}
			echo '</adresy>';
		
		
	}
	if($error)
			{
				echo '<transakcja>wycofana</transakcja>';
				$db->Rollback();
			}
			else
			{	
				echo '<transakcja>zatwierdzona</transakcja>';		
				$db->Commit();
				}
}

echo '</kontrahenci>'; 	
?>
