<?php
isset($_REQUEST['idCommande']) ?
	$idCommande = $_REQUEST['idCommande']:
	$idCommande = 0;
isset($_REQUEST['type']) ?
	$type = $_REQUEST['type']:
	$type = 'G';
//Connection au webservice
$client = new SoapClient(null, array(
	'trace'			=> 1,
	'soap_version'	=> SOAP_1_1,
	'location'		=> WEBSERVICE_URL,
	'uri'			=> WEBSERVICE_URI,
	'login'			=> $_SESSION['tabInfo']['login'],
	'password'		=> $_SESSION['tabInfo']['password'],
));

if($idCommande != 0) {
	if( !empty($_REQUEST['emailCommande'])
		&& preg_match('#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#',
			$_REQUEST['emailCommande']) ) {
		
		$email = $_REQUEST['emailCommande'];
		$login = $_SESSION['tabInfo']['login'];
		$ip = $_SESSION['tabInfo']['ip'];

		$tabCommande = array( 'emailCommande' => $email );
		$wdb = new WDB('sdv1');
		$wdb->update('commandes', $tabCommande, "login='$login' AND siren='$siren'");
		$message = '<p>Votre commande à été mise à jour.</p>';
		
	}
} else {
	
	//Génération commande
	isset($_REQUEST['info']) ?
		$info = unserialize(urldecode($_REQUEST['info'])) :
		$info = false;
	$lib = empty($info['decision']) ? '' : $info['decision'];

	$email = $_REQUEST['emailCommande'];

	if(!empty($email))
	{
		$login = $_SESSION['tabInfo']['login'];
		$ip = $_SESSION['tabInfo']['ip'];
		$fp = fopen(PATH_LOGS.'commande_greffe.csv', 'a');
		fwrite($fp,
				date('Y/m/d H:i:s').
				";$siren;".$ref.';'.$login.';'.$email.';'.$ip."\n");
		fclose($fp);

		$tabCommande = array(
			'idUser' => $_SESSION['tabInfo']['id'],
			'emailCommande' => $email,
			'login' => $login,
			'siren' => $siren,
	 		'refDocument' => $ref,
			'libDocument' => $lib,
			'typeCommande' => $type,
	 		'dateCommande' => date('YmdHis')
		);

		//Enregistrement dans la bdd des informations de la commande
		$wdb = new WDB('sdv1');
		$idCommande = $wdb->insert('commandes', $tabCommande);
		FB::log($idCommande, 'idCommande');

		//Suppression fichier de vérouillage
		$lockFile = PATH_SITE.'/cache/'.$siren.'-'.$ref.'.txt';
		if (file_exists($lockFile)) { unlink($lockFile); }

		if(INFOGREFFE_DEBUG) $idCommande = $idCommande.'_TEST';
		if($type=='G')
		{
			//Commande
			switch($vue)
			{
				case 'actes':
					$reponse = getGreffeActes(
						$siren,
						'C',
						$ref,
						$idCommande);
					break;
				case 'bilans':
					$reponse = getGreffeBilans(
						$siren,
						'C',
						$ref,
						$idCommande);
					break;
				case 'statuts':
					$reponse = getGreffeStatut(
						$siren,
						'C',
						$ref,
						$idCommande);
					break;
			}
		}
		if( isset($reponse) && !empty($reponse['error']) &&
			$reponse['error']['errNum']!=17 ){
			if(in_array($erreurStop, $reponse['error']))
			{
				$message = $reponse['error']['errNum'].' - '.
							$reponse['error']['errMsg'];
			}else{
				$message = 'Une erreur s\'est produite'.
					' lors du passage de votre commande.';
			}
			if(!INFOGREFFE_DEBUG)
				$client->setLog('greffe_'.$vue, $siren, 0,
					'Erreur '.$reponse['error']['errNum']);
		} else {
			//Mise à jour de la commande dans la bdd
			$wdb->update('commandes', array('statutCommande'=>0),
				'idCommande = '.$idCommande);

			$message = 'Votre commande a été enregistré le '.
				date('d').'/'.date('m').'/'.date('Y').
				' à '.date('G').' h '.date('i').
				' sous la référence '.$type.$idCommande;

			//Envoi mail de commande courrier
			if($type=='C'){
				sendCmdMail(
					'[COMMANDE PIECES] - '.'COMMANDE DE '.strtoupper($vue),
					'COMMANDE DE '.strtoupper($vue).
					' en courrier manuel <br/>'.EOL.
					'Ref Scores et Décision : '.$ref.EOL.
					'pour login '.$_SESSION['tabInfo']['login'].EOL
				);
			}
			if(!INFOGREFFE_DEBUG)
				$client->setLog('greffe_'.$vue, $siren, 0, $ref.'/'.$type.$idCommande);
		}
	}else{
		$message =
			'Votre commande n\'a pas été prise en compte.'.
			'Vous n\'avez pas saisie d\'adresse email';
	}
}