<?php
session_start();
header('Content-type: text/html; charset=iso-8859-1');
if(isset($_GET["chaine"]) && strlen($_GET["chaine"])>0)
{
$tarif=substr(htmlentities($_GET["chaine"]),1);
require_once('../../Admin/config.php');
require_once('../../Fcts/Fcts_generales.php');
//charger l'historique marchand/PNJ
$req='SELECT `Nb_achats`,`Indice` FROM `magasin_modif_perso` WHERE `ID_magasin`='.$_SESSION["ID_magasin"].' AND `ID_perso`='.$_SESSION["ID_perso"].' LIMIT 1';
$res=mysql_query($req,$base_id) or die ('Impossible de savoir ce que pense ce vendeur de vous');
if(mysql_num_rows($res)==1)
{
$inconnu=0;
$hist=mysql_fetch_assoc($res);
mysql_free_result($res);
//calcul du modificateur
$mod_marchand=2-modif_marchand($hist["Nb_achats"],$hist["Indice"]);
}
else{$inconnu=1; $hist=array("Nb_achats"=>0,"Indice"=>1); $mod_marchand=1;}
//récupérer les objets et l'offre acceptée
$liste=$_SESSION["magasin"]["liste"];
$offre=$_SESSION["magasin"]["offre"];
//A-t-il ennuyé le marchand pour accepter cette offre?
$essais=$_SESSION["magasin"][$liste]["Nb"];
$error=0;
$raison='';
// 1) transférer les objets du perso => magasin
$Req='UPDATE `inventaire` SET `Proprio`="S'.$_SESSION["ID_magasin"].'", `ID_conteneur`=NULL WHERE `Proprio`="P'.$_SESSION["ID_perso"].'" AND `ID` IN ('.$liste.')';
$res=mysql_query($req,$base_id) or die ('Plantage Objets');
//echo 'Requete des objets : '.$Req;
if(mysql_affected_rows()==0){$error=1; $raison="Transfert des objets incomplet";}
else
{
//echo '=====> OK';
// 2) Ajouter les sous au perso vendeur
$Req='UPDATE `perso` SET `Bourse`=`Bourse`+'.$offre.' WHERE `ID`='.$_SESSION["ID_perso"].' LIMIT 1';
$res=mysql_query($req,$base_id) or die('Plantage Bourse');
//echo '<br />Requete du perso : '.$Req;
if(mysql_affected_rows()!=1)
{
$error=1; $raison="Récupération de l'argent par le vendeur";
//défaire ce qui a été fait
$Req='UPDATE `inventaire` SET `Proprio`="P'.$_SESSION["ID_perso"].'" WHERE `Proprio`="S'.$_SESSION["ID_magasin"].'" AND `ID` IN ('.$liste.')';
$res=mysql_query($req,$base_id) or die ('Plantage Objets');
//echo '<br />Requete des objets : '.$Req;
if(mysql_affected_rows()==0){$raison.='<br />Récupération Objets incomplète ('.$liste.')';}
else{$raison.='<br /> ====> Récupération Objets complète ('.$liste.')';}
}
else
{
//3) Décompter cet argent de la caisse du Marchand
$Req='UPDATE `magasins` SET `Caisse`=`Caisse`-'.$offre.' WHERE `ID`='.$_SESSION["ID_magasin"].' LIMIT 1';
$res=mysql_query($req,$base_id) or die('Plantage Caisse');
//echo '<br />Requete de la caisse : '.$Req;
if(mysql_affected_rows()!=1)
{
$error=1; $raison="Caisse du marchand non débitée"; //pas grave, mais bon...
//1) corriger les objets
$Req='UPDATE `inventaire` SET `Proprio`="P'.$_SESSION["ID_perso"].'" WHERE `Proprio`="S'.$_SESSION["ID_magasin"].'" AND `ID` IN ('.$liste.')';
$res=mysql_query($req,$base_id) or die ('Plantage Objets');
//echo 'Requete des objets : '.$Req;
if(mysql_affected_rows()==0){$raison.='<br />Récupération Objets incomplète ('.$liste.')';}
else{$raison.='<br /> ====> Récupération Objets complète ('.$liste.')';}
//2)corriger la bourse du perso
$Req='UPDATE `perso` SET `Bourse`=`Bourse`-'.$offre.' WHERE `ID`='.$_SESSION["ID_perso"].' LIMIT 1';
$res=mysql_query($req,$base_id) or die('Plantage Bourse');
//echo '<br />Requete du perso : '.$Req;
if(mysql_affected_rows()==0){$raison.='<br />Correction Bourse du perso incomplète ('.$offre.')';}
else{$raison.='<br /> ====> Correction Bourse du perso complète ('.$offre.')';}
}
else{$raison='tout s\'est bien déroulé';}
}
}
//$error=1; //a virer
if($error==0) //rien à redire à cette transaction
{
//mémoriser les objets ayant été échangés pour leur cours économique
//les marchands offrant tjs moins que la valeur, on ne modifie donc pas le cours en bdd. Ce sera corrigé par le cghron, si l'offre est >>>> Demande.
//récupérer les cours actuels de ces objets
$Req='SELECT o.`ID`,o.`nom`,o.`Valeur`, o.`Prix`, o.`Stabilite`, o.`Demande` FROM `inventaire` i LEFT JOIN `objets` o ON i.`ID_objet`=o.`ID` WHERE i.`ID` IN ('.$liste.')';
//echo '<p>Requete des Cours : '.$Req.'</p>';
$res=mysql_query($Req,$base_id) or die('Impossible de récupérer le cours de ces objets<br />Erreur :'.mysql_error().'<br />Requete : '.$Req);
if(mysql_num_rows($res)==0){echo 'Aucun cours économique récupéré';}
else
{
$obj=array();
while($o=mysql_fetch_assoc($res))
{
if(isset($obj[$o['ID']])){$obj[$o['ID']]["Qtt"]+=1;}
else{$obj[$o['ID']]=array("Nom"=>$o["nom"], "Val"=>$o["Valeur"], "Cours"=>$o["Prix"],"Indice"=>$o["Stabilite"],"Demande"=>$o["Demande"],"Qtt"=>1);}
}
mysql_free_result($res);
}
//on mémorise les changements (en laissant ouvert pour changement de méthode ultérieure)
$err='';
foreach($obj as $ID => $d)
{
$Req='UPDATE `objets` SET `Demande`=`Demande`-'.$d["Qtt"].' WHERE `ID`='.$ID.' LIMIT 1';
//echo '<p>UPDATE des Cours : '.$Req.'</p>';
$res=mysql_query($Req,$base_id);
if(mysql_affected_rows()==0){$err.='<br />Erreur lors de la mise à jour de la demande de l\'objet N°'.$ID;}
}
//remettre l'inventaire à jour=> fait automatiquement. L'Objet Perso sera remis à jour à la sortie du magasin.
//sortie finale
echo '<p>Voilà pour vous...Et voilà pour moi.<br />C\'est un plaisir de faire affaire avec vous. N\'hésitez pas à revenir plus tard.</p>';
if(strlen($err)!=0){echo '<p class="erreur">'.$err.'</p>';}
}
else
{
echo 'Ah, désolé, mais mon tiroir-caisse ne veut pas s\'ouvrir. Pourriez-vous revenir plus tard pour finir cette transaction? Merci</p>';
echo '<p class="erreur">Erreur lors de l\'échange. Raison invoquée : '.$raison.'</p>';
}
mysql_close($base_id);
}
else{echo 0;}